DDL数据库定义语言
:
用于定于数据库的三级结构,包括外模式,内模式,概念模式,及其之间的映像,定义数据的完整性,安全控制等语句。
具体:CREATE,DROP,ALTER
COMMENT
:给字段或者列添加注释
RENAME
:因为需求需要对数据表进行表名更改。
DML数据操纵语言:
由
DBMS
提供用于让程序员或用户使用。实现对数据库中的数据进行操作。
DML
分为交互型
DML
和嵌入型
DML
两种。
根据语言级别也可以分为过程性
DML
和非过程性
DML
两种。
SELECT,INSERT,DELETE,
MERGE
数据库的合并关键字,使用其可以进行两个表的联合操作。在下面会有具体的解释。
CALL
执行存储过程的关键字
EXPLAIN PLAN,
LOCK TABLE SQL
锁定数据表
COMMIT
执行事务
DCL数据控制语言
用来设置或者更改
数据库用户
或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。
GRANT语句
例:对名称为guest的用户进行授权,允许其对stu_info表执行更新和删除操作
GRANT UPDATE,DELETE ON stu_info
TO guest WITH GRANT OPTION(ON后接表名,TO后接用户)
注:WITH GRANT OPTION意思是该用户还可以向其他用户授予其自身所拥有的权限。
DENY语句
DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。
例:禁止名称为guest的用户对stu_info表的操作更新权限
DENY UPDATE ON stu_info TO guest CASCADE
REVOKE语句
REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。
例:收回guest用户对stu_info的删除权限
REVOKE DELETE ON stu_info FROM guest
TCL事务控制语言:
SAVEPOINT设置保存点。
ROLLBACK回滚
SET TRANSACTION
SQL主要分为四部分:
(1)数据定义(SQL DDL)用于对SQL模式,基本表,试图索引的创建和撤销操作。
(2)数据操纵(SQL DML)分为对数据进行查询和数据更新两部分。更新分(insert,delete,insert)
(3)数据控制。包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌入式SQL的使用规定。涉及到SQL语句嵌入在宿主语言程序中使用的规则。
SELECT DISTINCT 列名称 FROM 表名称用于除去重复项,输出的列都是没有重复的。