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 でシンプルなデータ監視を実装する方法

推薦する

Reactの新バージョンのライフサイクルフック機能と使用方法の詳細な説明

旧ライフサイクルと比較して 3つのフックが廃止され、2つの新しいフックが追加されましたReact16...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

MySQL の分離レベルの包括的な分析

データベースが同じデータ バッチを同時に追加、削除、および変更すると、ダーティ書き込み、ダーティ読み...

PHPのmail()関数を使用してメールを送信する

PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...

MySQL 8.0.17 のインストールと使用方法のチュートリアル図

前面に書かれた過去および現在のプロジェクトで最も一般的に使用されているリレーショナル データベースは...

HTML でよく使われるメタ百科事典 (推奨)

メタタグは、HTML言語のヘッド領域にある補助タグです。HTML文書のヘッダーにあるヘッドタグとタイ...

Node.js コード実行をバイパスするためのヒントのまとめ

目次1. 子プロセス2. nodejsでのコマンド実行2.1 16進数エンコード2.2 ユニコードエ...

一般的でない js 演算演算子の概要

目次2. カンマ演算子3. JavaScript Null 結合演算子 (??) 4. JavaSc...

開発者がデータベースロックを詳細に理解する必要がある理由

1.ロックしますか? 1.1 ロックとは何ですか?ロックの本当の意味は、鍵またはコードで開くことがで...

vue+tsは要素のマウスドラッグの効果を実現します

この記事の例では、要素のマウスドラッグ効果を実現するためのvue+tsの具体的なコードを参考までに共...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

MySQL 文字列連結と null 値の設定のためのインスタンス メソッド

#文字列連結 concat(s1,s2); テーブル内の last_name と first_nam...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

よく使われる Docker コマンドと例の概要と分析

目次1. コンテナライフサイクル管理(1)ドッカー実行(2)スタート/ストップ/リスタート(3)ドッ...

VMware で Nginx+KeepAlived クラスタ デュアルアクティブ アーキテクチャを展開する際の問題と解決策

序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...