这里系统把SQL四个功能的语言汇总一下。
1.数据定义
数据定义用到CREATE(生成)、DROP(删除)、ALTER(修改,仅可以对表格使用);其对象就是模式(SCHEME)、表格(TABLE)、视图(VIEW)、索引(INDEX)。
生成:
CREATE [索引有修饰词] [表格、索引,模式、视图] <名称> 。。。。。。
其中表后面接(),定义列之类的;索引后面接ON,指明索引对应列、次序;视图后面接AS加子查询,末尾可选加上一句WITH CHECK OPTION保证更新时符合子查询条件;模式的名称之前得加上AUTHORIZATION。
删除:
DROP [表格、索引,模式、视图] <名称> <CASCADE|RESTRICT>
CASCADE是级联,可以理解为全删,由它衍生的统统不留
RESTRICT是限制,其有衍生对象就失败
注意几个点,索引没有这两个,视图没有RESTRICT但可选,表可选,模式必须二选一
修改:
定义阶段仅表可以修改
ALTER TABLE <名称> [ADD 添加列或者约束条件] [DROP 去掉约束] [ALTER COLUMN修改原有列定义]
2.数据查询
SELECT [DISTINCT] 查询列名或表达式 FROM 查询对象 [WHERE 条件] [GROUP BY 分组] [ORDER BY 排序]
WHERE条件中可以是比较运算符,范围(BETWEEN AND),集合,字符匹配(LIKE),空值,逻辑词
GROUP BY 将查询结果按一列或者多列分组,值相同的为一组,一般是为了细化聚集函数对象
最后排序ASC,DESC分别为升降
3.数据操纵
到操纵这里主要是对元组进行操作
INSERT INTO 插入
UPDATE SET 修改
DELETE FORM 删除
插入后面可以接VALUES(插入数据)或者子查询结果
修改、修改后面可以接WHERE语句
4.数据控制
数据控制是数据的授权和回收,用到GRANT,和REVOKE
授权语句:
GRANT 权限 ON 对象 TO 用户 [WITH GRANT OPTION](用户也能授此权)
权限就是数据查询、数据定义里面的单词可以精确到属性名
回收语句:
REVOKE 权限 ON 对象 FROM 用户 [CASCADE|RESTRICT]
不再多言。