Mysql数据库
是一种小型关系数据库,主要用来存储信息。
C(create): 建表操作
create table 表名 (
列名1 数据类型1,
列名2 数据类型2,
...,
列名n 数据类型n );
R(Retrieve): 查询操作
1、 查询某个数据库中的所有表名称 :
show tables;
2、 查询表结构: desc 表名;
U(Update): 修改操作
1、修改表名:
alter table 表名 rename to 新的表名;
2、修改表的字符集 :
alter table 表名 character set 字符集名称
3、添加一行:
alter table 表名 add 列名 数据类型;
4、修改列名称、类型:
alter table 表名 change 列名 新列名 新数据类型;
alter table 表名 modify 列名 新数据类型;
5、删除列:
alter table 表名 drop 列名;
D(Delete): 删除操作
drop table 表名;
drop table if exists 表名;
DDL: 查询表中的记录
select * from 表名;
1、语法:
select 字段 from 表名
where 条件 group by 分组字段
having 分组之后的条件 order by 排序
limit 分页限定
2、基础查询
1、 去除重复的结果集:
select distinct 列名 from 表名;
2、多个字段的查询:
select 字段名1,字段名2.
3、起别名: as 也可以省略
4、条件查询
select 列名 from 表名 where 条件
5、模糊查询
select 字段 from 表名 where 列名 like 条件
% 表示的是零或者多个字符
_ 表示的是的单个字符
实例:查询名字中含有“丽”的人
select * from student where name LIKE "%丽%"
DQL:查询语句
1、排序查询
ASC :升序 DESC :降序
order by 排序字段1 排序字段2 (默认升序)
2、聚合函数
count:(计算个数)一般选用非空的列,主键id
select count(name) from student;
注意:聚合函数的计算,排除了null值。
3、分组查询
语法:group by 分组字段;
实例:按照性别分组,分别查询男、女同学的数学平均分
select sex,avg(math) from student group by sex;
where和having的区别?
where在分组前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足条件,则不会被查询
where后不可跟聚合函数,having可以进行聚合函数的判断。
4、分页查询
1、语法:limit开始的索引,每页查询的条数;
实例:每页显示3条记录
select * from student limit 0,3 第一页
公式:开始的索引= (当前的页码 - 1) * 每页显示的条数