数据库语言分类
数据查询语言DQL
SELECT * FROM emp
基础查询、条件查询、模糊查询、字段控制查询、排序、聚合查询、分组查询、having过滤、限制查询行数
条件查询: =,<>,>=,<=,>,<,BETWEEN...AND...,IN(),IS NULL,AND,OR,NOT IN
模糊查询:_表示任意一个字符,%表示任意0-n个字符
字段控制查询:DISTINCT,AS,oracle:NVL(col,0),mysql:IFNULL(col,0)
排序:ASC升序(默认),DESC降序,例:ORDER BY col1 ASC, col2 DESC
聚合查询:COUNT(),MAX(),MIN(),SUM(),AVG()
分组查询:GROUP BY col1,col2
having过滤:having可以在分组后进行过滤,where只能对分组前数据进行过滤,例:having sum(col)>100
限制行数:限制显示查询结果的行数,
oracle:select * from (select rownum,emp.* from emp) where rownum>10 and rownum<=20
mysql:select * from emp limit 11,20;
书写顺序:select - from - where -group by - having - order by
执行顺序:from - where - group by - having - select - order by
数据操纵语言DML
更新update,删除delete,修改update,多表关联修改merge
merge语法:
merge into table1 a using (select * from table2) b on (a.col1=b.col1 and a.col2=b.col2) when matched then update set a.col3=b.col3 when not matched then insert into (col4) values ('test')
数据定义语言DDL
创建create,修改alter,删除drop,清空truncate
--添加列 ALTER TABLE table_name ADD column_name column_type; --修改列类型 ALTER TABLE table_name MODIFY column_name column_type; --修改列名 ALTER TABLE table_name CHANGE old_column_name new_column_name column_type; --删除列 ALTER TABLE table_name DROP column_name; --添加主键 ALTER TABLE table_name ADD PRIMARY KEY (column_name); --删除主键 ALTER TABLE table_name DROP PRIMARY KEY; --添加外键 ALTER TABLE table_name1 ADD FOREIGN KEY key_name(column_name1) REFERENCES table_name2(column_name2); --删除唯一约束 ALTER TABLE table_name DROP INDEX check_name; --添加外键 ALTER TABLE table_name DROP FOREIGN KEY key_name;
数据控制语言DCL
数据库访问权限控制,GRANK REVOKE
授权:GRANK 权限1,权限2 ON db_name.table_name TO user_name@address;
回收权限:REVOKE 权限1,权限2 ON db_name.table_name FROM user_name@addres;

浙公网安备 33010602011771号