主键:
主键是关系型数据库的一种约束条件,我们可以通过建表时为表设置一个主键,这个主键在该表中保证了该条数据的唯一性,我们CURD的时候就可以通过主键的唯一性来对指定数据进行操作,设置主键可为自增或者uuid等方式,只要保证主键的唯一性即可,设置主键需注意尽量不用业务字段,以防止业务发生变化造成对数据库产生不可预知的影响。
外键:
外键的使用情况为当我们的业务表存在一对多或者多对多的场景时使用,使用外键可使我们的业务数据对应关系明确,不会插入无效数据,但会造成我们数据库性能有所降低。我们为了追求速度一般使用业务外键,在业务逻辑上对数据的对应关系进行规定操作。
新增外键语法:
ALTER TABLE 表名
ADD CONSTRAINT 外键名称
FOREIGN KEY (外键)
REFERENCES 外键对应表名(对应表主键);
删除外键语法:
ALTER TABLE 表名
DROP FOREIGN KEY 外键名称;
索引:
在关系型数据库中,如果我们的单表数据达到百万千万甚至上亿时,查询速度会变的比较慢或者非常慢,那么此时我们就需要用到索引,通过对业务进行分析,我们设置一个或多个索引,就可以在一定程度上提升查询速度。有得就有失,索引会造成我们在做insert、delete、update等操作时速度变慢,一般数据库会默认设置主键为索引。
一张表可以创建多个索引也可创建唯一索引
索引添加语法:
ALTER TABLE 表名
ADD INDEX 索引名称(索引列);
ALTER TABLE 表名
ADD INDEX 索引名称(索引列1, 索引列2);
唯一索引:
ALTER TABLE 表名
ADD UNIQUE INDEX 索引名称(列名);
唯一约束:
ALTER TABLE 表名
ADD CONSTRAINT 约束名称 UNIQUE (列名);
通过索引可以有效的区分数据特点。