DQL语句 分组查询
1.不带条件分组查询
语法 select * from 表明 group by 分组字段名称;
2.带条件的分组查询
select 字段名称(包含分组字段,聚合函数)from 表名 where 条件 group by 分组字段名称;
DQL语句 筛选查询(having)
1.条件
2.分组
3.筛选
语法select 字段名称 from 表名 where 条件 group by 分组字段名称 having 筛选条件;
筛选后面可以使用聚合函数,group by的后面不能使用聚合函数
DQL语句 分页查询
语法:select 字段列表 from 表名 limit 起始行数,每页显示的条数;
行数默认从0开始,起始行数=(当前页码-1)*每页显示的条数;
数据库的备份和还原
方法1:图形界面话工具
备份: 选中库名,右键----->BACKUP/Export 备份导出---->
选中Sql脚本,存储到本地某个磁盘上----->StructureAndData:表的结构和数据都需要备份。
还原:先在SqlYog将myee_2203删除了,新建库右键---->Import 导入---->选中执行execute sql 脚本
方法2:命令行控制台
备份:以管理员身份进入dos,不需要登录mysql。
还原:1.进入dos控制台,登录mysql,先将库删除,新建一个库。
2.use 库名;
3.加载指定路径sql脚本:source 备份的sql脚本路径(D:\EE_2203\day9\code\mysql_01.sql)
数据库约束
1.默认约束
default:如果某个字段没有插入数据,默认约束就会起作用
①.添加默认约束
方式1:建表时加入默认约束
语法:create table 表名( 字段名称 字段类型 DEFAULT ‘约束值’);
方式2:通过sql语句加入默认约束
语法:alter table 表名 modify 字段名称 字段类型 DEFAULT ‘约束值’;
②.删除默认约束
通过sql语句删除默认约束
语法:alter table 表名 modify 字段名称 字段类型;
2.非空约束
not null:当前这个字段的值不能为空(插入空值的话会报错)
①.加入非空约束
方式1:建表时加入非空约束
语法:create table 表名( 字段名称 字段类型 NOT NULL);
方式2:通过sql语句加入非空约束
语法:alter table 表名 modify 字段名称 字段类型 not null;
②.删除非空约束
通过sql语句删除非空约束
语法:alter table 表名 modify 字段名称 字段类型;
3.唯一约束
unique:某个字段的值必须唯一,属于一种index:索引。
①.添加唯一约束
方式1.建表时加入唯一约束
语法:create table 表名 (字段名 字段类型 UNIQUE);
方式2.通过sql语句加入唯一约束
语法:alter table 表名 modify 字段名 字段类型 UNIQUE;
②.删除唯一约束
语法:alter table 表名 DROP INDEX 字段名称;
4.主键约束
PRIMARY KEY:非空且唯一 ,一般和auto_INCREMENT(自增长约束)使用多一些.
①.添加主键约束(非业务字段)
方式1.建表时加入主键约束
语法:create table 表名( 字段名 字段类型 primary key);
方式2.通过sql语句加入主键约束
语法:alter table 表名 modify 字段名称 字段类型 primary key;
②.删除主键约束
语法:alter table 表名 drop primary key;
给id加上自增长约束后,不需要给id赋值,id会自增长。
注:自增长约束可以自己插入新的id,然后在之前id上继续自增
获得最后一次自增长主键id的值:SELECT LAST_INSERT_ID() ;
5.外键约束
①.加入外键约束
create table 表名(
字段名 字段类型,
constraint --声明
外键名称 --命名规则:主表名称_从表名称_fk
foreign key(字段名) -- 作用在这个字段id上
references 主表名称(id) --关联主表的主键id
)