关系数据库常⽤SQL 语句语法⼤全
创建表语法
CREATE TABLE <;表名>(<;列名> <;数据类型>[列级完整性约束条件]
[,<;列名> <;数据类型>[列级完整性约束条件]]…);
列级完整性约束条件有NULL[可为空]、NOT NULL[不为空]、UNIQUE[唯⼀],可以组合使⽤,但是不能重复和对⽴关系同时存在。⽰例
-- 创建学⽣表CREATE TABLE Student (  Id INT NOT NULL UNIQUE PRIMARY KEY,  Name VARCHAR(20) NOT NULL,  Age INT NULL,  Gender VARCHAR(4) NULL
);
删除表语法
DROP TABLE <;表名>;⽰例
-- 删除学⽣表
DROP TABLE Student;
清空表语法
TRUNCATE TABLE <;表名>;⽰例
-- 删除学⽣表
TRUNCATE TABLE Student;
修改表
>#
语法
-- 添加列
ALTER TABLE <;表名> [ADD <;新列名> <;数据类型>[列级完整性约束条件]]
-- 删除列
ALTER TABLE <;表名> [DROP COLUMN <;列名>]
-- 修改列
ALTER TABLE <;表名> [MODIFY COLUMN <;列名> <;数据类型> [列级完整性约束条件]]⽰例
-- 添加学⽣表`Phone`列ALTER TABLE Student ADD Phone VARCHAR(15) NULL;
-- 删除学⽣表`Phone`列ALTER TABLE Student DROP COLUMN Phone;
-- 修改学⽣表`Phone`列
ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL;
SQL 查询语句语法
SELECT [ALL|DISTINCT] <⽬标列表达式>[,<⽬标列表达式>]…
FROM <;表名或视图名>[,<;表名或视图名>]…
[WHERE <;条件表达式>]
[GROUP BY <;列名> [HAVING <;条件表达式>]]
[ORDER BY <;列名> [ASC|DESC]…]
SQL 查询语句的顺序:SELECT 、FROM 、WHERE 、GROUP BY 、HAVING 、ORDER BY 。SELECT 、FROM 是必须的,HAVING ⼦句只能与GROUP BY 搭配使⽤。⽰例SELECT * FROM Student  WHERE Id>10  GROUP BY Age HAVING AVG(Age) > 20
ORDER BY Id DESC
SQL 插⼊语句语法
-- 插⼊不存在的数据
INSERT INTO <;表名> [(字段名[,字段名]…)] VALUES (常量[,常量]…);
-- 将查询的数据插⼊到数据表中
INSERT INTO <;表名> [(字段名[,字段名]…)] SELECT 查询语句;
insert语句字段顺序
⽰例
>#
-- 插⼊不存在的数据
INSERT INTO Student (Name,Age,Gender) VALUES ('Andy',30,'⼥');
-- 将查询的数据插⼊到数据表中INSERT INTO Student (Name,Age,Gender)
SELECT Name,Age,Gender FROM Student_T WHERE Id >10;
SQL 更新语句语法
UPDATE <;表名> SET 列名=值表达式[,列名=值表达式…]
[WHERE 条件表达式]⽰例
-- 将Id 在(10,100)的Age 加1
UPDATE Student SET Age= Age+1 WHERE Id>10 AND Id<100
SQL 删除语句语法
DELETE FROM <;表名> [WHERE 条件表达式]⽰例
-- 删除Id ⼩于10的数据记录
DELETE FROM Student WHERE Id<10;
创建索引语法
CREATE [UNIQUE] [CLUSTER] INDEX <;索引名> ON <;表名>(<;列名>[<;次序>][,<;列名>[<;次序>]]…);
UNIQUE :表明此索引的每⼀个索引值只对应唯⼀的数据记录
CLUSTER :表明建⽴的索引是聚集索引
次序:可选ASC(升序)或DESC(降序),默认ASC ⽰例
-- 建⽴学⽣表索引:单⼀字段Id 索引倒序CREATE UNIQUE INDEX INDEX_SId ON Student (Id DESC);
-- 建⽴学⽣表索引:多个字段Id 、Name 索引倒序
CREATE UNIQUE INDEX INDEX_SId_SName ON Student (Id DESC,Name DESC);
删除索引
>#
语法
DROP INDEX <;索引名>;⽰例
-- 删除学⽣表索引 INDEX_SId
DROP INDEX INDEX_SId;
创建视图语法
CREATE VIEW <;视图名>
AS SELECT 查询⼦句
[WITH CHECK OPTION]
查询⼦句:⼦查询可以是任何SELECT 语句,但是常不允许含有ORDER BY ⼦句和DISTINCT 短语;WITH CHECK OPTION :表⽰对UPDATE 、INSERT 、DELETE 操作时要保证更新。⽰例CREATE VIEW VIEW_Stu_Man
AS SELECT * FROM Student WHERE Gender = '男'
WITH CHECK OPTION
删除视图语法
DROP VIEW <;视图名>;⽰例
DROP VIEW VIEW_Stu_Man;
SQL 的访问控制
访问控制是控制⽤户的数据存储权限,由DBA 来决定。
SQL 标准语句包括SELECT 、INSERT 、UPDATE 和DELETE 语法
-- 1.授权
GRANT <;权限>[,<;权限>]…
[ON <;对象类型> <;对象名>]
TO <⽤户>[,<⽤户>]…  [WITH GRANT OPTION]
-- 2.收回授权
>##
REVOKE <;权限>[,<;权限>]…
[ON <;对象类型> <;对象名>]
FROM <⽤户>[,<⽤户>]…
WITH GRANT OPTION:若指定此⼦句,表⽰该⽤户可以将权限赋给其他⽤户
#
⽰例
-
- 授权
GRANT SELECT,INSERT,UPDATE ON TABLE TO USER_Admin WITH GRANT OPTION -- 收回授权
REVOKE SELECT,INSERT,UPDATE ON TABLE FROM USER_Admin

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论