SQL语句分类:
1. DDL(Data Definition Language):数据定义语言,用来定义数据库对象:对数据库或表的结构操作(增、删、改)。
2. DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
对表的记录进行更新(增、删、改)。
3. DCL(Data Control Language):数据控制语言,用来定义访问权限和安全等级;
对用户的创建和授权。
4. DQL(Data Query Language):数据查询语言,用来查询记录(数据);
主要是对表记录的查询。(重点)
SQL操作:
1.DDL:
(1)创建表: creat table 表名(字段名 类型,[其他]……);
(2)查看指定表的创建语句: show creat table 表名;
(3)删除表:drop table 表名;
(4)修改表:alter table 表名;
a)添加字段:alter table 表名 add(字段名 类型,[其他]……);
b) 修改字段名:alter table 表名 change 原字段名 新字段名 类型;
c) 删除字段名:alter table 表名 drop 字段名;
2.DML:
(1)插入数据:
insert into 表名 values (值1,值2);--------值的数必须为该表列的个数
insert into 表名(字段名1,字段名2,……) values(值1,值2,……);
(2)修改数据:
update 表名 set 字段名=新值…… where 条件语句;
(3)删除数据 delete from 表名[where 条件语句];
3.DCL语句:
(1)创建用户:
create user 用户名@IP地址 identified by ‘密码’;
用户只能在指定的IP地址上登录
create user 用户名@‘%’ identified by ‘密码’;
用户可以在任意IP地址上登录
(2)给用户授权:
grant 权限1,……,权限 n on 数据库.* to 用户名@IP地址;
给用户分派在指定的数据库上的指定权限
grant all on 数据库.* to 用户名@IP地址;
给用户分派指定数据库上的所有权限
(3)撤销授权:
revoke 权限1,……,权限n on 数据库.* from 用户名@IP地址;
撤销指定用户在指定数据库上的指定权限
(4)查看权限:
show grants for 用户名@IP地址;
查看指定用户的权限
(5)删除用户:
drop user 用户名@IP地址;
4.DQL语句:
(1)基本查询:
select * from 表名;
select 列名 from 表名;
select distinct 列名 from 表名;
(2)条件查询:
select * from 表名 where 条件;
模糊查询:
select * from 表名 where 字段名 like ‘张%’;
select * from 表名 where 字段名 like ‘%刚’;
(3)排序查询:
select * from 表名 order by 字段名 asc/desc;
(按照字段名排序 asc 升序,desc 降序,asc可以省略)
select * from 表名 order by 字段名1 asc/desc,字段名2 asc/desc;
(先按照字段名1排序,如果字段名1相等,再按照字段名2排序)
(4)聚合函数:
聚合函数用来做某列的纵向运算
* COUNT()函数:
select count(*)from 表名;
计算表中所有列都不为NULL的记录的行数
select count(字段名)from 表名;
计算表中字段名中所有列都不为NULL的记录的行数
* MAX()函数:
select max(字段名) from 表名;
* MIN()函数:
select min(字段名) from 表名;
*SUM()函数
select sum(字段名) from 表名;
* AVG()函数
select avg(字段名) from 表名;
(5)分组查询
select 字段名,count(*) from 表名 group by 字段名 ;
select 字段名,count(*) from 表名 group by 字段名 having count(*)> num;
(6)LIMIT子句:
select * from 表名 limit 4,3;
其中4表示从第5行开始,其中3表示一共查询3行。