1.约束
1.1定义与作用
对表中的字段(字段的值)进行一定的约束限制,以保证数据的完整性,一致性,有效性。
1.2约束分类
1).非空约束(NOT NULL):不允许该字段的值有NULL
用法:字段名 数据类型 NOT NULL
2).默认约束(DEFAULT):向表中插入记录,不给该字段赋值时。则使用默认值。
用法:字段名 数据类型 DEFAULT 默认值
1.3约束分类例题
1.创建一张表t1,添加 id,name,sex字段,且不为id字段不能为空,sex字段默认值为‘s’
# 建表操作
CREATE TABLE t1(
id int NOT NULL,
name varchar(15),
sex enum('m','f','s') DEFAULT 's'
);
#给表的id和name字段插入值
INSERT INTO t1(id,name) VALUES(1,'刘备');
2.索引
2.1定义和优缺点
定义:对数据库中的表的一列或者多列进行排序的一种结构(排序使用的算法:Btree)
优点:加快数据检索速度
缺点:
1.占用物理存储空间
2.当表中数据更新时,索引需要动态维护,占用系统资源,降低数据维护速度
3.索引——普通索引
3.1普通索引的用法
3.2例题
1.直接创建带索引的表
#创建带索引的表
CREATE TABLE T1(
id int,
name varchar(20),
score decimal(5,2),
INDEX(id),
INDEX(name));
# 表中的score 没有建立索引
2.在原有的表中添加索引
CREATE INDEX score ON T1(score);
3.删除索引
DROP INDEX id ON T1
DROP INDEX name ON T1
# 删除索引只能一个一个的删除
4.索引——唯一索引
4.1唯一索引的用法
4.2 例题
#在T2表中添加number字段
ALTER TABLE T2 ADD number bigint;
# 在T2表中的number字段添加唯一索引
CREATE UNIQUE number ON t2(number);
5.索引——主键索引
5.1主键索引用法
5.2例题
1.建立带主键索引的表
CREATE TABLE t3(
id int PRIMARY KEY AUTO_INCREMENT
name varchar(15) );
# 在t3里面添加一条记录
INSERT INTO t3(name) VALUES('赵四儿');
INSERT INTO t3 VALUES(NULL,'张三');
DELETE FROM t3 WHERE id =2;
INSERT INTO t3 VALUES(NULL,'小六儿');
ALTER TABLE t3 AUTO_INCREMENT=10000;
INSERT INTO t3 VALUES(NULL,'王五');
2.在已经存在的表中添加主键索引和自动增长属性
ALTER TABLE t2 ADD PRIMARY KEY(id);
ALTER TABLE t2 MODIFY id int AUTO_INCREMENT;
3.删除主键和自动增长属性
# 需要两个步骤,需要先modify自动增长属性 然后再 DROP主键
ALTER TABLE t3 MODIFY id int;
ALTER TABLE t3 DROP PRIMARY KEY;
6.索引——外键索引
6.1主键索引用法
6.2例题
后补