- 库操作
-- 创建数据库 create databse jiangtao1; -- 删除数据库 drop database jiangtao1; -- 切换使用数据库 use jiangtao1; -- 查看当前使用的数据库 select database();
- 表操作
-- 查看当前数据库里面的所有表 show databases; -- 创建表 create table students( name varchar(6) not null,id int(11) auto_increment primary key,gender varchar(2) ); -- 删除表 drop table students; -- 修改表(add/change/drop) alter table students add age int(2); -- 修改表名称 rename table students to student; -- 查看表结构 desc student; -- 查看表的创建语句 show create table student;
- 数据操作
-- 插入数据
insert into student(id,name,gender,age) values(001,郭靖,男,18);
-- 删除数据
delete from student where name='郭靖';
-- 修改数据
update from student age=22 where name='郭靖';
-- 查询数据
select * from student;
- 模糊查询
- like,%(表示任意多个任意运算符),_(表示任意一个任意运算符)。
例:select * from student where name like '郭%' and name like '_黄_';
- 范围查询
- in(表示一个非连续性的范围内);between and (表示一个连续性范围内)
例子 select * from student where id in(3,8,11);
例子 select * from student where id between 2 and 3;
- 空判断
空:is null 非空:is not null
- 优先级
小括号,not,逻辑运算符,关系运算符,(and比or优先级高,如果同时出现,想先使用or,需要结合小括号使用.
聚合(目的是为了快速统计数据)
聚合函数:main,max,sum,count,avg
举例:select max(age) from student where gender='女';
- 分组
- 按字段进行分组,表示此字段相同的数据会被放入一个组中。
- 分组后,可以利用聚合函数进行操作。
- 分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果中。
语法:select 列1 列2,聚合 from 表名 where 基于from的条件 grop by 列1 列2 having 基于grop by的条件
例子 查询student里面一班十八岁的所有的女人
select gender as '性别' ,count(*) from student where class='一班' grop by gender having age=18;(ps:方法有很多种,这里只是为了举例,并不是简单的方法)
- 排序(为了更为直观的查看数据)
语法:select * from student order by 列1 desc|asc,列2 desc|asc;
列子: select * from student order by id; (ps:1,默认降序 2,后边再加一列可防止第一列排序出现重复的情况发生)
- 分页(适用于数据特别大的时候)
语法:select * from student limit start,count;
例子 :已知:每页显示m条数据,当前显示第n页,求第n页的数据
select * from student where isdelete=0 limit (n-1)*m,m