数据库基础2

DQL—查询语句

1.排序查询
	order by 排序字段,排序方式(可多个字段叠加使用)
	SELECT *FROM mytable ORDER BY score;
		ASC升序---SELECT *FROM mytable ORDER BY score ASC;
		DESC降序---SELECT *FROM mytable ORDER BY score DESC;
		SELECT *FROM mytable ORDER BY ages ASC,score DESC;
2.聚合函数---排除空值,不计算null值
	将一列数据作为一个整体,进行纵向的计算。
		count 计算个数
			SELECT COUNT(ages) FROM mytable;
		max 计算最大值
			SELECT MAX(ages) FROM mytable;
		min计算最小值
			SELECT MIN(ages) FROM mytable;
		sum计算和求和
			SELECT SUM(ages) FROM mytable;
		avg计算平均值
			SELECT AVG(ages) FROM mytable;
3.分组查询
	group by分组字段【分组之后查询的字段是分组字段或聚合函数】
	SELECT ages ,AVG(score)FROM mytable GROUP BY ages;
	having:查询句柄,分组之后进行限定,如果不满足,则不会被查询出来。聚合函数之后可以跟。
	where:在分组之前进行限定,where之后不可以跟聚合函数。
4.分页查询
	limit 开始的索引 ,每页查询的条数;SELECT *FROM mytable LIMIT 0,3;【0,3)前包后不包
5.基础查询
	select
		字段列表
	from
		表名列表
	where
		条件列表;
	group by
		分组字段;
	having
		分组之后的条件;
	order by
		排序;
	limit
		分页查询;
	distinct---去除重复的字段;
	>,	<,	=,	!=,	<=,	>=;
	AND
	between and
6。模糊查询
	like
	select *from student where name like ‘马’;_ 表示字符的位 ,%表示一个字符

约束

对表中的数据进行限定,保证数据的正确性,有效性和完整性。
	主键约束primay key
		代表非空且唯一
		一张表只能有一个主键
		主键是表的唯一标识
		创建表时添加主键约束
		CREATE TABLE stu1(
	     id INT,
	     NAME VARCHAR(20)  primay key
	   );
	  
	非空约束not null
		CREATE TABLE stu1(
			 id INT,
			 NAME VARCHAR(20) NOT NULL
		);
	唯一约束unique
		CREATE TABLE stu3(
			 id INT,
			 NAME VARCHAR(20) UNIQUE----同一个表中该值只能有一个
			);
	外键约束foreign key
		解决数据冗余的问题。让两个表中的数据记录产生唯一关联。

多表之间的关系

数据库设计
1.一对一
	人和身份证
	一个表的主键指向另外一个表的外键
2.一对多
	部门和员工的关系
	一个部门有多个员工,一个员工只能有一个部门
	在多的一方建立外键,指向一的一方的主键,外键要唯一
3.多对多
	学生和课程,一个学生有很多课程,一个课程可以被很多学生选择
	借助第三张表,第三章表的字段作为外键分别指向另外的表的主键

范式—遵循的规范

设计关系数据库的合理范式。
	第一范式:每一列都是不可分割的原子项
	第二范式:在第一范式的基础上,非属性码依赖候选码
		函数依赖:通过A的值来确定B
		完全函数依赖:通过一个组A的所有组成的值来确定B
		部分函数依赖:通过一个组A的部分组成的值来确定B
		传递函数依赖:通过一个值A来确定B,再通过B来确定C
		码——被完全依赖的属性称为码
			主属性:码属性
			非主属性:非码属性集合
	第三范式:在第二范式的基础上

数据库的备份和还原

对数据库进行备份,防止数据库出现问题。

猜你喜欢

转载自blog.csdn.net/qq_42351519/article/details/112908092