创建表的实例:
create table student(
id int,
name varchar(32),
age int,
score double(4,1),
birthday date,
insert_time timestamp
);
创建一个与之前已创建的表类似的表(复制表):create student1 like student;
删除表
drop table if exists 表名; 删除表(判断)
修改表:表名 字符集 添加、删除列 列的名称 类型
alter table 表名 rename to 新的表名 修改表名
alter table 表名 character set 字符集名称 修改字符集
alter table 表名 add 列名 数据类型 添加一个列
alter table 表名 change 列名 新的列名 新数据类型 修改
alter table 表名 modify 列名 新数据类型 只修改数据类型
图形化界面工具SQLyog
DML:增删改表中数据(重点)
添加数据:
insert into 表名(列名1,列名2,.....,列名n) values(值1,值2,.....,值n);
注意事项:1.列名和值一一对应 2.如果表名后,不定义列名,则默认给所有列添加值(简化) 3.除了数字类型,其他类型需要用引号(单双皆可)引用
删除数据
delete from 表名 where 条件;
注意事项:1.若不加条件 则删除表中所有记录
truncate table 删除表,然后再创建一个一模一样的空表(删除记录的一种比较推荐的方式)
修改数据:
update 表名 set 列名1=值1,列名2=值2 。。。。where 条件
注意事项:若不加任何条件,则表中相应数据全部会被修改
DQL:查询(排序查询 聚合函数 分组查询 分页查询)
select * from xxx
排序查询
order bu 排序字段1 排序方式1,排序字段2 排序方式2(这里的1,2有先后顺序 先使用1的排序方式)
select * from student order by math DESC
排序方式
ASC:升序 (默认)
DESC:降序
注意事项:第二排序方式只有当前面的条件值一样时才会触发
聚合函数:将一列数据作为一个整体,进行纵向的计算
1.count:计算个数 2.max,min:计算最大值、最大值 3.sum:求和 4.avg:计算平均值
select count(列名) from student;
注意事项:聚合函数会排除null(使用IFNULL函数或者选择不为NULL的列)
分组查询:
group by 字段
select sex , AVG(math) from student group by sex;
select sex, AVG(math),COUNT(id) number(别名) from student where math > 70 group by sex having number > 2
注意:1.分组之后可查询的字段:分组字段,聚合函数
2.where 和having 的区别
1.
where : 在分组之前进行限定
having: 在分组之后进行限定 不满足限定的则不会被查询出来
2.
where:where后不可以跟聚合函数
having: having后可以跟聚合函数进行判断
分页查询:
limit 开始的索引,每页查询的条数;
select * from student limit 0,3; 索引,每页设定的条数
公式: 开始的索引 = (当前页码-1)*每页的条数
分页的操作是一个“方言”
基础查询:一套完整的语法
select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定
去除重复的结果集(记录)
select distinct address from ...
取别名:
sth AS sth AS 也可以省略
条件查询
运算符:
< > <= >= = <>
between...and
in( 集合)
like(模糊查询)
相关字符:
占位符: _:单个任意字符 %:任意多个字符
例如: select * from student where name like '马%' ;查询出所有姓马的人
is null
and 或者 &&
or 或者 ||
not 或者 !
表的约束
概述:对表中的数据进行限定,保证数据的正确性,有效性,完整性
分类:
1.主键约束
2.非空约束
1.创建表时添加约束 not null
name varchar(20) not null
2.创建表完后,添加非空约束
3.唯一约束
phone_number varchar(20) unique
4.外键约束