亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫對視圖的操作方法

發布時間:2020-05-11 16:15:26 來源:億速云 閱讀:294 作者:三月 欄目:MySQL數據庫

下面一起來了解下MySQL數據庫對視圖的操作方法,相信大家看完肯定會受益匪淺,文字在精不在多,希望MySQL數據庫對視圖的操作方法這篇短內容是你想要的。

使用視圖的原則:

1、視圖名字唯一性

2、視圖的創建個數不受限制,用戶可以創建多個視圖

3、用戶創建視圖,必須從數據庫管理員得到權限。

4、視圖可以嵌套,

5、一些數據庫管理系統禁止用戶在查詢語句中使用order by子句。

一、創建實用表數據

創建學生表

mysql> create table studenginfo(sno int(4) zerofill,sname varchar(18),sex ENUM('男','女') not null default '女',address varchar(48) default '北京',dno int(3));
Query OK, 0 rows affected (0.07 sec)

創建學院表

create table recruitinfo(address varchar(18) not null,score float not null,snum int(3) not null);
Query OK, 0 rows affected (0.08 sec)
mysql> show create table department\G;
*************************** 1. row ***************************
       Table: department
Create Table: CREATE TABLE `department` (
  `dno` int(2) NOT NULL,
  `dname` varchar(18) NOT NULL,
  `dnum` int(3) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

為學生表創建索引

mysql> create index name_index on studentinfo (sname);

二、視圖:

視圖作為查詢數據的另外一種形式,利用視圖,用戶可以集中、簡化和定制數據庫,同時提供了安全保證

視圖是從一個或過個表中導出的表,其結構和數據是建立在對標的查詢基礎之上的。就本質而言,視圖是一張虛表。

視圖創建語法:

create view <view_name> [column1,column2...] as
select <column_name> from <tb_name>;

其中[column1,column2,...]為可選項,缺省是子查詢結果中的字段名,select語句指明了視圖中的字段機器數據。

強調:

1、視圖創建后,只在數據字典中存放視圖的定義,而其中的select語句并不執行

2、只有當用戶對視圖進行操作時,才按照視圖的定義將數據從基本表中取出。

創建視圖:

1、創建一個與studentinfo相同信息的視圖

mysql> create view studentinfo_view as select * from studentinfo;
select * from studentinfo_view;

2、為視圖創建視圖

mysql> create view boy_view as select * from studentinfo_view where sex='男';

3、為列創建視圖并查看其信息

mysql> create view nameaddress_view as select sname,address from studentinfo;

4、創建與表具有不同字段名的視圖

mysql> create view New_view(boy_name,boy_address) as select sname,address from studentinfo where sex='男';
Query OK, 0 rows affected (0.00 sec)

5、利用視圖簡化表的復雜連接

創建一個關于學生信息表(studentinfo)、招生信息表(Recruitinfo)和Department的關聯。

sname、dname和dnum三個字段。

mysql> create view join_view as select sname,dname,score from studentinfo s,department d,recruitinfo r where s.address=r.address and s.dno=d.dno;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from join_view;
+-----------+--------------------+-------+
| sname     | dname              | score |
+-----------+--------------------+-------+
| 張平      | 汽車系             | 648.5 |
| 李山      | 電子工程系         |   560 |
| 王彤      | 汽車系             | 654.5 |
| 張偉      | 計算機工程系       |   638 |
| 高守傳    | 機械工程           |   650 |
| 劉紅      | 工程物理系         | 629.5 |
| 張勇      | 應用數學系         |   625 |
| 劉曉      | 電子工程系         |   650 |
| 吳軍      | 電子工程系         |   631 |
| 張大山    | 材料工程系         |   635 |
+-----------+--------------------+-------+
10 rows in set (0.03 sec)

6、視圖簡化復雜查詢的過程

6.1 給予學生表,創建boys_view視圖,包含所有男同學信息

mysql> create view boys_view as select * from studentinfo where sex='男';

給予recruitinfo表,創建視圖score_view,包含錄取分數高于630的所有學生的信息

mysql> create view boyscore_view as select * from score_view where sno in (select sno from boys_view);
mysql> select * from boyscore_view;
+------+-----------+-----+---------+------+
| sno  | sname     | sex | address | dno  |
+------+-----------+-----+---------+------+
| 0005 | 高守傳    | 男  | 山東    |    3 |
| 0004 | 張偉      | 男  | 浙江    |    1 |
| 0009 | 吳軍      | 男  | 山西    |    4 |
| 0010 | 張大山    | 男  | 陜西    |    7 |
+------+-----------+-----+---------+------+
4 rows in set (0.00 sec)
mysql> create view result_view (sname,dname) as select boyscore_view.sname,department.dname from boyscore_view,department where boyscore_view.dno=department.dno;
Query OK, 0 rows affected (0.00 sec)

刪除視圖

語法:drop view view_name

drop view studentinfo_view

注意:視圖在物理上是不存在的,只是一個查詢結果,是一個被存儲的查詢。create view語句只是保存了視圖的定義,所以在使用drop view語句刪除視圖時,刪除的也只是視圖的定義,對實際表中的數據沒有影響。

看完MySQL數據庫對視圖的操作方法這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴化市| 军事| 额尔古纳市| 津市市| 湖口县| 大冶市| 望江县| 抚顺县| 六盘水市| 南昌县| 东丽区| 乐至县| 七台河市| 平罗县| 三亚市| 建德市| 四会市| 玉门市| 黑山县| 长岭县| 株洲市| 平果县| 清水河县| 都昌县| 高安市| 来凤县| 新野县| 普陀区| 育儿| 盐津县| 灵川县| 怀远县| 冀州市| 芒康县| 瑞昌市| 中西区| 绵竹市| 阿尔山市| 松潘县| 宜兰市| 故城县|