MySQL ビューの原理と基本操作例

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下の通りです。

概要

ビューは、クエリによって内容が定義される仮想テーブルです。実際のテーブルと同様に、ビューは名前付きの列とデータ行のセットで構成されます。ただし、ビューはデータベースに格納されたデータ値のセットとしては存在しません。行と列のデータは、ビューを定義するクエリによって参照されるテーブルから取得され、ビューが参照されたときに動的に生成されます。

ビューは、その中で参照される基になるテーブルに対するフィルターのように機能します。

基本操作

ビューを作成する

ビュー view_test(qty,price,total) を作成します。数量、価格、数量*価格 FROM t として選択します。

マルチテーブルビュー

ビュー stu_class(id,name,glass) を作成します。AS SELECT student.s_id,student.name,stu_info.glass FROM student,stu_info WHERE student.s_id = stu_info.s_id;

表示 表示

DESCRIBE 視圖名

DESC 視圖名

基本情報を見る

SHOW TABLE STATUS LIKE 'ビュー名';

ビューのテーブル作成情報を表示する

SHOWCREATE VIEW ビュー名

VIEWテーブルでビューの詳細を表示する

すべてのビュー定義はMySQLのinformation_schemaデータベースのviewsテーブルに保存されており、 selectで表示できます。

information_schema.views から * を選択します。

ビューを変更する

REPLACE ステートメント

ビュー view_test を SELECT * FROM t として作成または置き換えます。

ALTER ステートメント

ALTER VIEW view_test SELECT name FROM t;

ビューの削除

存在する場合はビューを削除 stu_glass

テーブルの作成例

/*システムの組織構造を取得します* ユーザー名、ユーザーID、ストア名、ストアID、作成時間などが含まれます...
 */
v9_qd_account から、select id、storename、regdate として organizationTableView ビューを作成します。

/*その日の Cpz インストール データを取得します (ユーザー グループごとに集計)
 *ユーザーID、Cpzサマリー値などを含む...
 */
CREATE VIEW TodayCpzTableView as select storeid,storename,count(id)as total,sum(tui_num)as tui_num from v9_qd_dev where days = DATE_FORMAT(NOW(),'%Y%m%d') group by storeid;

/* 月ごとの Cpz インストール データを取得します (日とユーザー グループ別に集計)
 *日付 (曜日)、ユーザー ID、Cpz サマリー値、CpzApp サマリー値、重複した Cpz サマリー値などが含まれます。
 */
ビュー HistoryCurrentMonthDayView を作成します。select storeid,storename,count(id)as total,sum(tui_num)as tui_num,days from v9_qd_dev where days > DATE_FORMAT(NOW(),'%Y%m') group by storeid,days;

/* 月ごとの Cpz インストール データを取得します (月とユーザー グループ別にまとめられています)
 *日付 (曜日)、ユーザー ID、Cpz サマリー値、CpzApp サマリー値、重複した Cpz サマリー値などが含まれます。
 */
ビュー HistoryMonthTableView を作成します。select storeid,storename,count(id)as total,sum(tui_num)as tui_num, DATE_FORMAT(FROM_UNIXTIME(installdate),'%Y%m') as months from v9_qd_dev group by storeid,months;

/*入力されたIMEIに従ってCpzインストールデータを取得します()
 *IMEI、アカウントID、ストアID、インストール時間、繰り返しインストールかどうか、インストールされているアプリの数、電話機のモデルを含む*/
CREATE VIEW QueryCpzDatumByIMEI を、v9_qd_dev から storeid、storename、verify、tui_num、sn、idfa、imei、devms、installdate として選択します。

//今日 DATE_FORMAT(NOW(),'%Y%m%d');

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQLのビューとインデックスの使い方と違いの詳細な説明
  • MySql ビュー、トリガー、ストアド プロシージャに関する簡単な説明
  • MySQLにおけるビューの作成(CREATE VIEW)と使用制限の詳しい説明
  • MySQL における単一テーブルと複数テーブル、およびビューと一時テーブルに対する Update と Select の違い
  • mysql 3つのテーブルを接続してビューを作成する
  • MySQL で複数のテーブルにビューを作成する方法
  • MySQL ビューの原則と使用例の概要
  • Python を使用して MySQL ビューのインポートとエクスポートの依存関係の問題を解決する
  • MySQL ビューの原理と使用法の詳細な分析

<<:  Windows Server 2016 AD サーバーをセットアップする手順 (画像とテキスト)

>>:  JS でシンプルなデータ監視を実装する方法

推薦する

Docker デプロイメント MySQL8 クラスター (マスター 1 台とスレーブ 2 台) の実装手順

目次1. CentOS 7.9 20にDockerをインストールする2. MySQL クラスターをデ...

background-positionプロパティでのパーセンテージ値の使用法の検討

背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...

モバイルデバイスで 1 ピクセルの境界線の問題を解決するいくつかの方法 (5 つの方法)

この記事では、モバイルデバイス上の 1 ピクセルの境界線の問題を解決する 5 つの方法を紹介します。...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

一定時間後にNavicatがデータベースから自動的に切断される問題の解決方法

これは、データベース サーバーが、接続が多すぎるのを避けるために、一定時間非アクティブな状態が続くと...

JavaScript データのフラット化の詳細な説明

目次フラット化とは何か再帰トストリング減らすアンダーコア_.平坦化_。連合_。違い要約するフラット化...

Sqoop エクスポート マップ 100% 削減 0% さまざまな理由と解決策でスタック

私はこのようなバグを典型的な「ハムレット」バグと呼んでいます。これは、「エラーメッセージは同じだが、...

MySQL 8.0.11 インストール概要チュートリアル図

インストール環境: CAT /etc/os-release CentOS システムのバージョン情報を...

Vue の詳細な入門ノート

目次1. はじめに2. 初期ビュー(I) Vueの概念を理解する(II) MVVMアーキテクチャ(I...

2012年のベストWebデザイン作品レビュー[パート1]

新年の初めに、友人の健康と2013年が素晴らしい年となることを心からお祈りいたします。この記事では、...

Vue3 (III) ウェブサイトホームページレイアウト開発

目次1. はじめに2. 実際の事例1. App.vueを変更する2. レイアウトを調整する3. ジャ...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

Docker-compose を使用して ELK クラスターを構築する方法

すべてのオーケストレーション ファイルと構成ファイルは、私の Github からアクセスできます。構...

JavaScript のクロージャの問題の詳細な説明

クロージャは、純粋関数型プログラミング言語の伝統的な機能の 1 つです。クロージャをコア言語構造の不...

JavaScriptを使用して独自のAjax関数を定義する

ネイティブJSによって開始されたネットワークリクエストは、クエリ文字列の形でサーバーに送信されるため...