300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Sql索引(primary key unique index)

Sql索引(primary key unique index)

时间:2020-12-22 09:06:48

相关推荐

Sql索引(primary key unique index)

一、索引概述

主索引:primary key

唯一索引:unique

普通索引:index

创建索引:

1.建立数据表的同时建立索引 命令格式:

CREATE TABLE table_name

([col_name data_type]

[PRIMARY|UNIQUE][|INDEX|KEY]

[index_name] (index_col_name [length])

[ASC | DESC])

table_name数据表的名称

primary主索引 unique唯一索引

index_name索引名

index_col_name索引列的名称

2.在已有数据表上建立索引

alter table 表名 add [UNIQUE | PRIMARY KEY | INDEX] [索引名] (列名 [排序方式]);

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。ALTER TABLE tbl_name ADD INDEX index_name (column_list):添加普通索引,索引值可出现多次。

查看索引:

show index from 表名 ;

删除索引:

drop index 索引名 on 表名 ;

拓展:

KEY

key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的)。包括primary key, unique key, foreign key 等。

primary key

有两个作用,一是约束作用(constraint),用来规范一个存储主键和唯一性,但同时也在此key上建立了一个index;

unique key 也有两个作用,一是约束作用(constraint),规范数据的唯一性,但同时也在这个key上建立了一个index;

foreign key也有两个作用,一是约束作用(constraint),规范数据的引用完整性,但同时也在这个key上建立了一个index;

*UNIQUE KEY和PRIMARY KEY有什么区别

PRIMARY KEY的1个或多个列必须为NOT NULL,如果列为NULL,在增加PRIMARY KEY时,列自动更改为NOT NULL。UNIQUE KEY 对列没有此要求

一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY

案例一:

建立数据表的同时并建立索引

在sale数据库中,建立供应商数据表 gys,包括供应商号gysh 字符型4位、公司名称 可变长字符型20位、电话 可变长字符型11位、地址 可变长字符型20位、联系人 可变长字符型4位、手机 字符型11位 字段,同时根据供应商号字段建立主索引。 按行的方式显示gyh数据表的索引

use sale;create table gyh(gysh char(4),gsmc varchar(20),dh varchar(11),dz varchar(20),lxr varchar(4),sj char(11),primary key gysh(gysh));show index from gyh;

案例二:

在已有的数据表建立索引

在xsdmx数据表根据销售单编号xsdh和序号xh两个字段建立主索引xsdxh

在xsdmx数据表根据商品编号sph字段建立普通索引sphsy

在商品sp数据表根据商品名spm字段建立唯一索引spmsy

use sale;#第一题alter table xsdmx add primary key(xsdh,xh);#第二题alter table xsdmx add index sphsy(sph);#第三题alter table sp add unique spmsy(spm);#查看索引show index in xsdmx\g;show index in sp\g;

案例三:

删除索引

删除sp商品数据表的索引spmsy

use sale;drop index spmsy on sp;#查看索引show index in sp\g;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。