Mysql

Mysql 1.数据库进阶

2019-03-22  本文已影响0人  第二套广播体操

1.DQL:
查询语句
排序查询
聚合函数
分组查询
分页查询
2.约束
3.多表之间的联系
4.范式
5.数据库的备份与还原


排序查询
ORDER BY 子句
ORDER BY 排序字段1 顺序1,排序字段2 顺序2
默认为升序

SELECT*
FROM student3
ORDER BY math DESC,english DESC;  -- 第一条件相同时 会按照第二条件排序

聚合函数
进行列的纵向计算
1 count 计算个数
2 max 计算最大值
3 min 计算最小值
4 sum 计算和
5 arg 平均值

聚合函数会自动排除非空

SELECT COUNT(IFNULL(english,0))  -- 聚合函数非空  或者选择非空的进行计算 主键
FROM student3;

分组查询
GROUP BY 字段 聚合函数

SELECT sex,AVG(math),COUNT(id)
FROM student3
WHERE math>70 -- 条件
GROUP BY sex;

WHERE 和HAVING 条件语句的区别
WHERE 是在未分组前进行筛选的 如果不满足 则不会分组
HAVING 分组之后产生效果 如果不满足 不会被查询
WHERE 不可以用聚合函数
HAVING 可以

分页查询

1 语句 LIMIT 开始的索引 每页查询的条数

SELECT *
FROM student3
LIMIT 0,3;

公式:开始的索引=(当前页码-1)*每页显示的条数


约束

主键约束 PRIMARY KEY
非空约束 NOT NULL
唯一约束 UNIQUE
外键约束 FOREIGN KEY


非空约束 NOT NULL

  1. 创建时添加非空
CREATE TABLE stu(
        id   INT UNIQUE,     -- 唯一约束 
        NAME VARCHAR(20) NOT NULL  -- 非空约束
        ); 

2.删除非空约束
ALTER TABLE 表名 MODIFY 列名 数据类型;
ALTER TABLE stu MODIFY NAME VARCHAR(20);
3.创建后修改数据为非空
ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NULL
ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;


唯一约束 UNIQUE 列中不可重复

mysql中唯一约束可以存有多个null

1.创建时添加唯一约束

CREATE TABLE stu(
        id   INT UNIQUE,     -- 唯一约束 
        NAME VARCHAR(20) NOT NULL  -- 非空约束
        ); 

2.删除唯一约束
ALTER TABLE 表名 DROP INDEX 列名;
ALTER TABLE stu DROP INDEX id;
3.创建后添加唯一约束
ALTER TABLE 表名 MODIFY 列名 数据类型 UNIQUE;
ALTER TABLE stu MODIFY id INT UNIQUE;


主键约束 PRIMARY KEY 非空且唯一

一张表只能有一个主键
表中的唯一标识

创建时添加主键

CREATE TABLE stu1(
        id   INT PRIMARY KEY,      
        NAME VARCHAR(20)  
        ); 

删除主键 因为表中就一个主键 所以不用声明主键位置 如果有自增 删除时要取消自增
ALTER TABLE 表名 DROP PRIMARY KEY;
ALTER TABLE stu1 DROP PRIMARY KEY;

在创建后添加主键
ALTER TABLE 表名 MOTIFY 列名 类型 PRIMARY KEY
ALTER TABLE stu1 MODIFY id INT PRIMARY KEY;

主键自增 如果填入主键为null 则会对照上一行的值 进行自增
AUTO_INCREMENT

创建表时添加

create table stu1(
        id   int PRIMARY KEY auto_increment,      
        name varchar(20)  
        ); 

删除主键自增
ALTER TABLE 表名 MODIFY 列名 数据类型
创建后添加
ALTER TABLE 表名 MODIFY 列名 数据类型 AUTO_INCREMENT


外键 让表与表产生关系

  1. CONSTRAINT 外键名称FOREIGN KEY 外键列名 REFERENCES 主表名称 ( 主表列名称)
上一篇 下一篇

猜你喜欢

热点阅读