数据库语言分类

数据查询语言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;

posted @ 2022-10-06 17:27  琪酱  阅读(111)  评论(0)    收藏  举报