SQL 的六种子语言
DDL(Data Definition Language,数据定义语言)
- CREATE - 创建
#创建数据库 mysql> create database [databasename]; #创建数据表 mysql> create table [ 表名] ( [ 字段名 1] [ 类型 1] [is null] [key] [default value] [extra] [comment], ... )[engine] [charset];
- ALTER - 修改
#自增长 mysql> alter table [tablename] auto_increment=[value]; #新增列 mysql>alter table [tablename] add column [columnname] [columdefinition]; #删除列 mysql>alter table [tablename] drop column [columnname]; #修改列属性 mysql>alter table [tablename] change [columnname] [newcolumnname] [type]; #修改列属性 mysql> alter table [tablename] modify [columnname] [newdefinition]; #添加索引 mysql> alter table [tablename] add index [indexname](字段名 1,字段名 2…); #删除索引 mysql> alter table [tablename] drop index [indexname];删除索引
- DROP - 删除
#删除数据库 mysql> drop database [databasename]; #删除数据表 mysql> drop table [tablename];
- TRUNCATE - 截断
- COMMENT - 注释
- RENAME - 重命名
DQL(Data Query Language,数据查询语言)
- SELECT-从数据库表中获取数据
- FROM - 指定从哪个数据表或者子查询中查询
- WHERE - 指定查询条件
- GROUP BY - 结合合计函数,根据一个或多个列对结果集进行分组
- HAVING - 对分组后的结果集进行筛选
- ORDER BY - 对结果集进行排序
- LIMIT - 对结果集进行 top 限制输出
- UNION - 结果集纵向联合
- JOIN - 结果集横向拼接
#查询记录
mysql> SELECT [列名称] FROM [表名称] where [condition]
#查询语句执行顺序
<SELECT clause> [<FROM clause>] [<WHERE clause>] [<GROUP BY clause>] [<HAVING clause>] [<ORDER BY clause>] [<LIMIT clause>]
DML(Data Manipulation Language,数据操作语言)
- UPDATE - 更新数据库表中的数据
#修改记录 mysql> UPDATE [ 表名称] SET [ 列名称]=[ 新值] WHERE [ 条件];
- DELETE - 从数据库表中删除数据
#删除记录 mysql> delete from [tablename] where [condition];
- INSERT INTO - 向数据库表中插入数据
#插入记录 mysql> insert into [tablename](column1,column2,...) values(value1,value2,...);
- LOAD - 载入数据
DCL(Data Control Language,数据控制语言)
- CREATE 新建
#新建用户 mysql> create user [username]@[host] identified by [password];
- DROP 删除
#删除用户 mysql> DROP USER [username]@[host];
- GRANT - 授权
#命令格式 mysql> GRANT [privileges] ON [databasename].[tablename] TO [username]@[host];
- REVOKE - 撤销授权
#命令格式 mysql> REVOKE [privileges] ON [databasename].[tablename] FROM [username]@[host];
- DENY - 拒绝授权
TCL(Transaction Control Language,事务控制语言)
- START TRANSACTION 或 BEGIN - 开始事务
- SAVEPOINT - 在事务中设置保存点,可以回滚到此处
- ROLLBACK - 回滚
- COMMIT - 提交
- SET TRANSACTION – 改变事务选项
CCL(Cursor Control Language,游标控制语言)
- DECLARE CURSOR - 申明游标
- OPEN CURSOR - 打开游标
- FETCH INTO - 取值
- UPDATE WHERE CURRENT - 更新游标所在的值
- CLOSE CURSOR - 关闭游标