关系数据库常⽤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小时内删除。
推荐文章
热门文章
-
m函数数字提取
2025-01-07 -
jest断言方法大全
2025-01-07 -
中兴ZXSEC US 管理员手册
2025-01-07 -
keras系列(一):参数设置
2025-01-07 -
Qt从QString中提取出数字
2025-01-07 -
element input 金额千分位格式化
2025-01-07 -
freemaker 参数解析正则
2025-01-07 -
C#正则验证数字
2025-01-07 -
form表单验证正则
2025-01-07 -
scanf正则表达式用法
2025-01-07 -
grafana value的正则表达式
2025-01-07 -
Android平台浮点数运算应用
2025-01-07 -
js-(JS正则表达式验证数字)
2025-01-07 -
判断Python输入是否是整数,字符,或浮点数
2025-01-07 -
c语言 sscanf 正则规则
2025-01-07 -
从文本中提取数值技巧
2025-01-07 -
js将整数转换成两位浮点数的方法
2025-01-07 -
vue正则限制浮点数
2025-01-07 -
8到20的结尾的正则
2025-01-07 -
shell 正则表达式 最后一行
2025-01-07
最新文章
-
应用程序的安全检测方法、装置、电子设备和存储介质
2025-01-07 -
VBA之正则表达式(1)--基础篇
2025-01-07 -
代码编辑的辅助方法、装置及电子设备
2025-01-07 -
SHELL查字符串中包含字符的命令
2025-01-07 -
String方法中replace和replaceAll的区别详解(源码分析)
2025-01-07 -
双字节符号正则
2025-01-07
发表评论