1、增加(插入)insert
insert into tbl_name(column1,column2,...) values(v1,v2...)
2、删除数据delete
delete from 表名 where 条件
注:省略where条件删除所有数据
3、修改数据updata
updata tbl_name set column1=v1,column2=v2,... where 条件
注:省略where条件修改所有数据
4、查询数据select
(1)查询所有字段
select * from tbl_name;
select column1,column2,column3,... from tbl_name;
(2)去重distinct
select distinct age from student;
使用distinct关键字需注意:
- distinct只能在select中使用
- 在对一个或者多个字段去重时,distinct需要在所有字段最前面
- distinct后面有多个字段,则需要所有字段都相同,才会去重
(3)条件查询
- 单一条件
select * from tbl_name where column_name = '';
- 多重条件
select * from tbl_name where
column_name1 = '' and column_name2 = '';
(4)限制查询结果的条数limit
select * from tbl_name limit 3,5;
注:
- limit 初始位置(从哪一条数据开始), 记录数(显示几条)
- limit后面参数都为正整数
(5)分组查询group by
- 单独使用
select sex,name from user group by sex;
- 搭配聚合函数
select sex,count(sex) from user group by sex;
(6)过滤分组having
where与having区别:
- 一般,where过滤数据行,having过滤分组
- where查询条件中不能使用聚合函数
- where在数据分组前进行过滤,having在分组后
- where根据表中的字段进行过滤,having是根据前面已经查询出的字段进行过滤
- where插叙条件中不可以使用字段别名
(7)内连接inner join
select <字段名> from <表1> inner join <表2> [on子句]
select s.name,c.course_name from student s inner join course c
on s.course_id = s.id;
注:查询结果都是符合查询条件的,没有条件返回笛卡尔积
(8)左外连接left outer join
select <字段名> from <表1> left outer join<表2> <on子句>
select s.name,c.course_name from student s left outer join course c
on s.course_id = s.id;
注:以左表为基表,返回所有信息,右表没有的返回null
(9)右外连接right outer join
select s.name,c.course_name from student s right outer join course c
on s.course_id = s.id;
注:以右表为基表,返回所有信息,左表没有的返回null
多个表左/右连接时,在 on 子句后连续使用 left/right outer join或 left/right join
。。。。。。
网友评论