AI智能
改变未来

MySqlDay01_表的约束与数据库设计

单列排序:
只按某一个字段进行排序,单列排序
实现不同数据库中的表的复制
–select * from student order by age desc;

-- 查询所有数据,在年龄降序排序的基础上,如果年龄相同再以数学成绩升序排序select * from student order by age desc, math asc;

聚合函数:进行纵向查询的过程,对一列的值进行计算,然后返回一个结果值,忽略空值NULL
五大聚合函数:
max(列名) min(列名) avg(列名)
count(列名) sum(列名)

聚合函数的用法:
select 聚合函数(列名) form 表名;
select count(id) from student;
避免统计的缺失–》NULL的记录不会被统计 –>ifnull(id,0) from student;—>id如果为null,则会给个默认值

分组:
select 字段1,字段2…from 表名 group by 分组字段[HAVING 条件]
select id, avg(age) from student group by id;

Where 和 Having的区别
where子句:
对查询结果进行分组前,将不符合where条件的行去掉,分组前过滤数据,先过滤在进行分组
where后面不能使用聚合函数
having子句:
having子句的作用是筛选满足条件的组,在分组之后过滤数据
having 后面可以使用聚合函数

limit语句的作用:limit的语句就是记性限制的作用,表示的是限制多少条记录的查询
limit offset ,length(起始行,返回的行数)
– 查询学生表中数据,从第 3 条开始显示,显示 6 条。
select * from student3 limit 2,6;
limit一般用来进行分页查询,使用的最多的就是网页的查询的分页效果,如果最后记录不足五条,有多少则进行显示多少

数据库的备份和还原
应用场景:
在服务器进行传输的时候,数据的存储和数据的交换,就有可能产生数据的缺失和介质的损坏,必要的措施就是就是进行备份和还原
语句格式:
备份:在dos命令下,未登录的时候,是一个可执行的文件命令 mysqldump -u用户名 -p密码 数据库>文件的路径
还原:mysql中的命令,需要登录后才可以操作 use 数据库名;source 导入文件的路径

– 备份 day21 数据库中的数据到 d:\\day21.sql 文件中
mysqldump -uroot -proot day21 > d:/day21.sql

–还原操作:
1.还原的时候需要先登录MySql,并选中相应的数据库
查看还原结果
use day21;
source d:/day21.sql;

记住一点:

在命令行窗口 只要没有进入mysql环境就不是在操作数据库,而且也不会进行操作数据库,所有在最后结尾的时候不需要添加 (;)号,否则就直接报错了,命令行窗口是不需要加分号的

约束:
约束的作用:
对表中的数据进行限制,保证数据的正确性、有效性、完整性,一个表添加了约束不正确的数据将不能进行插入到表中

约束种类:主键;primary key        外键:foreign key唯一:unique 				 检查约束 :check -->mysql不支持非空:not null

创建主键的约束:
字段名 字段类型 primary key
添加主键的约束:
alter table 表名 add primary key(字段名)
删除主键:
alter table 表名 drop primary key;
主键自增的约束:
auto_increment–>字段类型必须是整数类型

唯一约束:
表中一列不能出现重复的值
格式:字段名 字段类型 unique
非空约束:
某一列不能为null
格式;字段名 字段类型 not null

默认值:
格式:字段名 字段类型 default 默认值

外键约束:
是从表中与主键对应的那一列
主表:一方,用来约束别人的表
从表:多方,被别人约束的表
新标中增减外键:
【constraint】[外键约束名称]foreeign key(外键字段名) references 主表名(主键字段名)
constraint emp_depid_fk foreign key (dep_id) references department(id)

已有表中增加外键:ALTER TABLE 从表 ADD [CONSTRAINT] [ 外键约束名称] FOREIGN KEY ( 外键字段名) REFERENCES 主表( 主

键字段名);

删除外键:alter table 从表  drop foreign key 外键名称;
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MySqlDay01_表的约束与数据库设计