MySQLの基礎(4)|ビュー

MySQLの基礎(4)|ビュー


基本的な構文

1.の作成

CREATE VIEW <视图名> AS <SELECT语句>

構文は以下の通りです。

  • <视图名>:ビューの名前を指定します。名前はデータベースではなく、他のテーブルやビューと同じ名前で一意である必要があります。
  • <SELECT语句>:指定したクエリ、複数の基礎となる表またはソースビューに使用することができますビューを作成するSELECT文。

以下の制限がのビューを作成するために与えられたSELECT文のために存在します:

  • ユーザ権限にVIEW添加を作成も許可および操作に関係する他のベースビュー・テーブルが関連付けられています。
  • SELECTステートメントは、システムまたはユーザー変数を参照することはできません
  • SELECT文では、FROM句のサブクエリを含めることはできません
  • ビュー定義はTEMPORARYテーブル(一時テーブル)を参照することができない、あなたはTEMPORARYビューを作成することはできません。

  • SELECTステートメントは準備されたステートメントパラメータを参照することができません

  1. 修正
ALTER VIEW <视图名> AS <SELECT语句>
  1. [削除]
DROP VIEW <视图名1> [ , <视图名2> …]

例:

#创建数据表
create table mygoods(
  g_id int AUTO_INCREMENT primary key,
    g_name varchar(20),
    g_price double,
    g_count int
)engine=innodb default CHARSET=utf8;

create table myperson(
    p_id int AUTO_INCREMENT primary key,
    p_name varchar(20),
    g_id int,
    foreign key fk_pid(g_id)
    references mygoods(g_id)
);

#插入数据
insert into mygoods(g_name, g_price, g_count) select '梨', 2.2, 3;
insert into mygoods(g_name, g_price, g_count) select '苹果', 5.6, 2;
insert into myperson(p_name,g_id) select '小白',1;

#创建视图
CREATE VIEW v_mygoods
as select g_price, g_count, g_price * g_count as total from mygoods;
#查看视图
select * from v_mygoods;

create view v_myperson
as select a.p_name, b.g_price * b.g_count as tP from myperson a inner join mygoods b on a.g_id = b.g_id;

select * from v_myperson;

おすすめ

転載: www.cnblogs.com/iwsx/p/12348942.html