❶ sql中的視圖怎麼創建及使用呢!
貼一段給你吧,這是如何使用視圖資料中的一段,希望對你有所幫助。
使用CREATE VIEW語句創建視圖
語法格式為:
CREATE VIEW 視圖名[(列名1,列名2[,…n])]
[WITH ENCRYPTION]]
AS 查詢語句
[WITH CHECK OPTION]
其中:
l 列名 視圖中包含的列,可以有多個列名,最多可引用1024個列。若使用與源表或視圖中相同的列名時,則不必給出列名。
l ENCRYPTION 說明在系統表syscomments中存儲CREATE VIEW語句時進行加密。
l 查詢語句 用來創建視圖的SELECT語句。可在SELECT語句中查詢多個表或視圖,以表明新創建的視圖所參照的表或視圖,但對SELECT語句有以下的限制:
①定義視圖的用戶必須對所參照的表或視圖有查詢許可權,即可執行SELECT語句。
②不能使用COMPUTE或COMPUTE BY子句。
③不能使用ORDER BY子句。
④不能使用INTO子句。
⑤不能在臨時表或表變數上創建視圖。
l WITH CHECK OPTION 指出在視圖上所進行的修改都要符合查詢語句所指定的限制條件,這樣可以確保數據修改後仍可通過視圖看到修改的數據。例如對於V_05GZYY視圖,只能修改除「班級編號」欄位以外的欄位值,而不能把「班級編號」欄位的值改為「=』20051001』」以外的值,以保證仍可通過V_05GZYY視圖查詢到修改後的數據。
創建一個名為「V_計算機系課程信息」的視圖,要求顯示系部編號為01的課程信息。
在查詢分析器中運行如下命令:
USE XSCJ
GO
CREATE VIEW V_計算機系課程信息
AS
SELECT * FROM 課程信息表 WHERE 系部編號='01'
GO
使用SELECT語句查看「V_計算機系課程信息」視圖的返回結果。
在查詢分析器中運行如下命令:
USE XSCJ
GO
SELECT * FROM
GO
❷ 在SQL中,建立視圖用
在SQL中,建立視圖可以用 CREATE VIEW 語法。
具體格式參考:
from 樹懶學堂
❸ mysql 創建視圖
MySql創建視圖
(1).第一類:create view v as select * from table;
(2).第二類:create view v as select id,name,age from table;
(3).第三類:create view v[vid,vname,vage] as select id,name,age from table;
如果涉及到數據量過大,業務邏輯需要跨表查詢等等也可建立一個跨表的視圖,有三種情況:
一、基於同一資料庫
這種情況較為簡單,只需簡單的一行sql命令,如下:
create view v as (select * from table1) union all (select * from table2);
二、基於不同資料庫
這種情況只比上面的sql語句多一個資料庫的名字,如下:
create view 資料庫1.v as (select * from 資料庫1.table1) union all (select * from 資料庫2.table2);
或
create view 資料庫2.v as (select * from 資料庫1.table1) union all (select * from 資料庫2.table2);
如果執行第一個sql將在資料庫1下建立視圖,反之亦然;
三、基於不同伺服器
這種情況稍微麻煩一點,需要先建立一個遠程表來訪問遠程伺服器的數據表,然後再對這個剛建立的遠程表和本地表進行視圖,步驟如下:
1、查看MySql是否支持federated引擎
(1).登錄Mysql;
(2).mysql>show engines;
(3).如果顯示為no,在配置文件中添加:federated (在my.ini),重新啟動mysql服務。
2、創建遠程表
mysql>CREATE TABLE federated_table (
id INT(20) NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL DEFAULT '',
other INT(20) NOT NULL DEFAULT '0',
PRIMARY KEY (id)
)
ENGINE=FEDERATEDDEFAULT
CHARSET=utf8
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';
CONNECTION可以按如下方式進行配置:
(1).CONNECTION='mysql://username:password@hostname:port/database/tablename'
(2).CONNECTION='mysql://username@hostname/database/tablename'
(3).CONNECTION='mysql://username:password@hostname/database/tablename'
3、建立視圖
create view 本地資料庫.v as (select * from 本地資料庫.table1) union all (select * from 遠程資料庫.test_table);