数据库考研SQL操作
SQL的動詞
| 數據查詢 | SELECT |
| 數據定義 | CREATE, DROP, ALTER |
| 數據操縱 | INSERT, UPDATE, DELETE |
| 數據控制 | GRANT, REVOKE |
注:以下[ ]表示方括號的內容可要可不要,|表示或,//表示注釋。
一、數據定義
1.CREATE
定義模式
CREATE SCHEMA <模式名> AUTHORIZATION <用戶名>;
注:模式名可省略,則模式名默認為用戶名。
定義基本表
CREATE TABLE <表名>
( <列名> <數據類型> [ 列級完整性約束條件 ] [ ,
<列名> <數據類型> [ 列級完整性約束條件 ] ]
…[ ,
<表級完整性約束條件> ] );
定義索引
CREATE [ UNIQUE ] [CLUSTER] INDEX <索引名>
ON <表名>(<列名> [ <次序> ] [,<列名> [ <次序> ] ] …);
其中次序可用:ASC(升序),DESC(降序),默認為升序。
定義視圖
CREATE VIEW <視圖名> [ (<列名> [ ,<列名> ] …) ]
AS
<子查詢>
[ WITH CHECK OPTION ];
2.DROP
刪除模式
DROP SCHEMA <模式名><CASCADE | RESTRICT>;
其中CASCADE表示全部刪除,RESTRICT表示拒絕刪除。
刪除基本表
DROP TABLE <表名> [ RESTRICT | CASCADE ];
其中默認為RESTRICT。
刪除索引
DROP INDEX <索引名>;
刪除視圖
DROP VIEW <視圖名> [ CASCADE ];
3.ALTER
修改基本表
ALTER TABLE <表名>
[ ADD [ COLUMN ] <新列名><數據類型> [ 完整性約束 ] ] ? //加列
[ ADD <表級完整性約束> ] ?//加表級完整性約束
[ DROP [ COLUMN ] <列名> [ CASCADE | RESTRICT ] ] ?//刪列
[ DROP CONSTRAINT<完整性約束名> [ RESTRICT | CASCADE ]
? //刪完整性約束條件
[ ALTER COLUMN <列名><數據類型> ];?//改某一屬性的數據類型
修改索引
ALTER INDEX <舊索引名> RENAME TO <索引名>;
二、數據查詢
SELECT [ ALL | DISTINCT ] <目標列表達式> [ ,<目標列表達式> ] …
FROM <表名或視圖名> [ ,<表名或視圖名> … ]
? ? | (<SELECT 語句>) [ AS ] <別名>
[ WHERE <條件表達式> ]
[ GROUP BY < 列名 1> [ HAVING <條件表達式> ] ]
[ ORDER BY < 列名 2> [ ASC | DESC ] ];
三、數據操縱
1.INSERT
INSERT
INTO <表名> [ ( < 屬性列 1 > [ ,< 屬性列 2 > …) ]
VALUES ( <常量 1 > [ ,<常量 2 > ] …) ;
2.UPDATE
UPDATE < 表名 >
SET < 列名 >=< 表達式 > [ ,< 列名 >=< 表達式 > ]…
[ WHERE < 條件 > ];
3.DELETE
DELETE
FROM <表名>
[ WHERE <條件> ];
四、數據控制
1.GRANT
GRANT <權限> [ ,<權限> ] …
ON < 對象類型 > < 對象名 > [ ,< 對象類型 > < 對象名 > ] …
TO < 用戶 > [ ,< 用戶 > ] …
[ WITH GRANT OPTION ] ;
其中權限可以是ALL PRIVILEGES,用戶可以是PUBLIC。
2.REVOKE
REVOKE <權限> [,<權限> ]…
ON <對象類型> <對象名> [ ,<對象類型> <對象名> ]…
FROM <用戶> [ ,<用戶> ]…[ CASCADE | RESTRICT ];
總結
以上是生活随笔為你收集整理的数据库考研SQL操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: min是分还是秒 min是分对吗
- 下一篇: mysql在计算机管理中的路径怎么修改_