【MySQL】MySQL(一)SQL语句、约束、数据类型 (5)

分页查询

-- 标准语法 SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 开始索引,查询条数; -- 公式:开始索引 = (当前页码-1) * 每页显示的条数 -- 每页显示2条数据 SELECT * FROM product LIMIT 0,2; -- 第一页 开始索引=(1-1) * 2 SELECT * FROM product LIMIT 2,2; -- 第二页 开始索引=(2-1) * 2 SELECT * FROM product LIMIT 4,2; -- 第三页 开始索引=(3-1) * 2 SELECT * FROM product LIMIT 6,2; -- 第四页 开始索引=(4-1) * 2

分页查询图解

image

约束 约束的概念和分类

约束的概念

对表中的数据进行限定,保证数据的正确性、有效性、完整性!

约束的分类

约束 说明
PRIMARY KEY   主键约束  
PRIMARY KEY AUTO_INCREMENT   主键、自动增长  
UNIQUE   唯一约束  
NOT NULL   非空约束  
FOREIGN KEY   外键约束  
FOREIGN KEY ON UPDATE CASCADE   外键级联更新  
FOREIGN KEY ON DELETE CASCADE   外键级联删除  
主键约束

主键约束特点

主键约束包含:非空和唯一两个功能

一张表只能有一个列作为主键

主键一般用于表中数据的唯一标识

建表时添加主键约束

-- 标准语法 CREATE TABLE 表名( 列名 数据类型 PRIMARY KEY, 列名 数据类型, ...); -- 创建student表 CREATE TABLE student( id INT PRIMARY KEY -- 给id添加主键约束); -- 添加数据 INSERT INTO student VALUES (1),(2); -- 主键默认唯一,添加重复数据,会报错 INSERT INTO student VALUES (2); -- 主键默认非空,不能添加null的数据 INSERT INTO student VALUES (NULL); -- 查询student表 SELECT * FROM student; -- 查询student表详细 DESC student;

删除主键

-- 标准语法 ALTER TABLE 表名 DROP PRIMARY KEY; -- 删除主键 ALTER TABLE student DROP PRIMARY KEY;

建表后单独添加主键

-- 标准语法 ALTER TABLE 表名 MODIFY 列名 数据类型 PRIMARY KEY; -- 添加主键 ALTER TABLE student MODIFY id INT PRIMARY KEY; 主键自动增长约束

建表时添加主键自增约束

-- 标准语法 CREATE TABLE 表名( 列名 数据类型 PRIMARY KEY AUTO_INCREMENT, 列名 数据类型, ...); -- 创建student2表 CREATE TABLE student2( id INT PRIMARY KEY AUTO_INCREMENT -- 给id添加主键自增约束); -- 添加数据 INSERT INTO student2 VALUES (1),(2); -- 添加null值,会自动增长 INSERT INTO student2 VALUES (NULL),(NULL); -- 查询student2表 SELECT * FROM student2; -- student2表详细 DESC student2;

删除自动增长

-- 标准语法 ALTER TABLE 表名 MODIFY 列名 数据类型; -- 删除自动增长 ALTER TABLE student2 MODIFY id INT;

建表后单独添加自动增长

-- 标准语法 ALTER TABLE 表名 MODIFY 列名 数据类型 AUTO_INCREMENT; -- 添加自动增长 ALTER TABLE student2 MODIFY id INT AUTO_INCREMENT; 唯一约束

建表时添加唯一约束

-- 标准语法 CREATE TABLE 表名( 列名 数据类型 UNIQUE, 列名 数据类型, ...); -- 创建student3表 CREATE TABLE student3( id INT PRIMARY KEY AUTO_INCREMENT, tel VARCHAR(20) UNIQUE -- 给tel列添加唯一约束); -- 添加数据 INSERT INTO student3 VALUES (NULL,\'18888888888\'),(NULL,\'18666666666\'); -- 添加重复数据,会报错 INSERT INTO student3 VALUES (NULL,\'18666666666\'); -- 查询student3数据表 SELECT * FROM student3;-- student3表详细DESC student3;

删除唯一约束

-- 标准语法 ALTER TABLE 表名 DROP INDEX 列名; -- 删除唯一约束 ALTER TABLE student3 DROP INDEX tel;

建表后单独添加唯一约束

-- 标准语法 ALTER TABLE 表名 MODIFY 列名 数据类型 UNIQUE; -- 添加唯一约束 ALTER TABLE student3 MODIFY tel VARCHAR(20) UNIQUE; 非空约束

建表时添加非空约束

-- 标准语法 CREATE TABLE 表名( 列名 数据类型 NOT NULL, 列名 数据类型, ...); -- 创建student4表 CREATE TABLE student4( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL -- 给name添加非空约束); -- 添加数据 INSERT INTO student4 VALUES (NULL,\'张三\'),(NULL,\'李四\'); -- 添加null值,会报错 INSERT INTO student4 VALUES (NULL,NULL);

删除非空约束

-- 标准语法 ALTER TABLE 表名 MODIFY 列名 数据类型; -- 删除非空约束 ALTER TABLE student4 MODIFY NAME VARCHAR(20);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwggj.html