发布网友 发布时间:2022-05-02 21:56
共3个回答
懂视网 时间:2022-05-03 02:17
2、唯一约束:unique();uk
unique约束的字段,要求必须是唯一的,但null除外;
3、主键约束:primary key();pk
主键约束=not null + unique,确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
4、外键约束:foreign key () references (参考),fk
保证一个表中的数据匹配另一个表中的值的参照完整性。语法:constraint fk_dept_id foreign key (dept_id) references dept(dept_id);
5、自增约束:auto_increment
6、默认约束:default
给定默认的值
7、检查性约束:check
保证列中的值符合指定的条件。
示例:
create table member( id int(10), phone int(15) unsigned zerofill, name varchar(30) not null, constraint uk_name unique(name), constraint pk_id primary key (id), constraint fk_dept_id foreign key (dept_id,字段2) references dept(主表1)(dept_id) );
//constraint uk_name 可以省略不写。uk_name 唯一约束名称;
//pk_id 主键约束名称;
//fk_dept_id 外键约束名称
二:索引
作用:快速定位特定数据,提高查询效率,确保数据的唯一性,快速定位特定数据;可以加速表和表之间的连接,实现表与表之间的参照完整性,使用分组和排序语句进行数据检索时,可以显著减少分组和排序的时间全文检索字段进行搜索优化;
索引的种类:
1、主键索引(primary key);
2、唯一索引(unique);
3、常规索引(index);
4、全文索引(full text);
总结:约束是为了保证表数据的完整性,索引是为了提高查询效率,两者作用不一样!其次种类也不一样。
mysql约束与索引的区别
标签:mys hone 一个 enc 种类 nbsp 搜索 指示 完整性
热心网友 时间:2022-05-02 23:25
“唯一性约束”和“唯一性索引”是不同的。热心网友 时间:2022-05-03 00:43
唯一性约束
1) 唯一性约束用来*不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
2) 只要唯一就可以更新.
3) 即表中任意两行在 指定列上都不允许有相同的值,允许空(NULL).
4) 一个表上可以放置多个唯一性约束
唯一性索引
创建唯一索引可以确保任何生成重复键值的尝试都会失败。
约束和索引, 前者是用来检查数据的正确性,后者用来实现数据查询的优化,目的不同。
唯一性约束与唯一索引有所不同:
1)创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。
2).创建唯一索引只会创建一个唯一索引,不会创建Constraint。
也就是说其实唯一约束是通过创建唯一索引来实现的。
在删除时这两者也有一定的区别:
删除唯一约束时可以只删除约束而不删除对应的索引,所以对应的列还是必须唯一的,
而删除了唯一索引的话就可以插入不唯一的值。