Bootstrap

SQL的四种语言介绍

推荐网站:w3school 在线教程 

用途:关键词参考书等等

注:本人习惯小写字母,建议关键字大写

SQL语言的分类:

1. DDl:数据定义语言,用来定义数据库对象(数据库,表,字段)

2.DML:数据操作语言,用来对数据库表中的数据进行增删改

3.DQL:数据查询语言,用来查询数据库中表的记录

4.DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限

1. DDl:数据定义语言,用来定义数据库对象(数据库,表,字段)

数据库:

Show databases; 

    查询所有数据库

Create database [if not exists] + 数据库名 [default charset +字符集] [collate +排序规则];

    创建数据库

Use +数据库名; 

   使用数据库

Drop database [if exists] +数据库名; 

    删除数据库

Select database();   

    查询当前数据库       

表:

Show tables;           

查询当前数据库所有表

Create table +表名(字段 字段类型,字段 字段类型);

创建表

Desc +表名;           

查询表结构

Show create table +表名;

查询指定表的建表语句

Alter table +表名+add+字段名 +类型(长度)  [comment '注释'];  

向表里添加字段

Alter table+表名+change+旧字段名  新字段名  类型(长度) [comment '注解'] ;

修改字段名和字段类型

Alter table+表名+modify+字段名 新数据类型(长度);

 修改数据类型

Alter table+表名+drop+字段名; 

删除字段

Alter table+表名+rename to+新表名; 

修改表名

Truncate table +表名;  

 删除指定表,并重新创建该表

Drop table [if exists] 表名;  

删除表

创建表:

Create table +表名 (

字段1 +字段1类型+[comment+字段1注释 ]

) +[comment+表注释];

Comment+注释

2.DML:数据操作语言,用来对数据库表中的数据进行增删改

Insert into 表名 (字段名1,字段名2,…) values(值1,值2,…);        

 给指定字段添加数据

Insert into 表名  values(值1,值2,…);   

 给全部字段添加数据

Insert into 表名(字段名1,字段名2,…) values (值1,值2,…),(值1,值2,…);

 批量添加数据

Insert into 表名 values (值1,值2,…),(值1,值2,…);                  

 

Update 表名 set 字段1=值1,字段2=值2 [where 条件];  

 修改数据

Delete from 表名 [where 条件]; 

 删除数据

 3.DQL:数据查询语言,用来查询数据库中表的记录

基本查询

Select 字段1,字段2… from 表名; 

  查询多个字段

Select * from 表名;    

   查询所有字段

Select 字段1  [as 别名1], 字段2 [as 别名2]… from 表名;

  设置别名

Select distinct 字段列表  from 表名;

  去除重复记录

条件查询

Select 字段列表 from 表名 where 条件列表;

In(…) 

  在in 之后的列表中的值,满足其一即可

Like 占位符

 模糊匹配(_ 匹配单个字符,%匹配任意个字符) 

聚合函数:

注意:null值不参与所有聚合函数运算。

Select count()/avg()/max()/min()/sum()  from 表名;

  统计表中的数量/平均/最大/最小/之和

分组查询:

Select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];

执行顺序:where > 聚合函数 > having

排序查询:

Select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;

排序方式: asc 升序(默认值,可省略)   desc 降序

分页查询:

Select 字段列表 from 表名 limit 起始索引,查询记录数;

执行顺序:

From 表名列表-->where 条件列表-->group by 分组字段列表-->having 分组后条件列表

-->select 字段列表-->order by 排序字段列表-->limit 分页参数

编写顺序:

Select-->from-->where-->group by-->having-->order by-->limit

4.DCL:数据控制语言,用来创建数据库用户,控制数据库的访问权限

 

用户管理

Use mysql;

Select * from user; 

 查询用户

Create user  '用户名'@'主机名' identified by  '密码';

创建用户

Alter user '用户名'@'主机名' identified with mysql_native_password by '新密码'

修改用户密码

Drop user '用户名'@'主机名'

删除用户

权限控制

Show grants for '用户名'@'主机名' 

查询权限

Grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

授予权限

Revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

撤销权限

;