北京SEO

MySQL索引创建 删除 增加 修改命令

2019/10/10/17:36:20  阅读:1791  来源:谷歌SEO算法  标签: GDPR

在mysql中索引是我们对数据库进行优化的一个很好的功能,下面我来给大家介绍mysql 索引的创建 删除 增加 修改方法,希望些教程对各位朋友有所帮助。

简单的唯一索引:可以创建一个唯一索引的表,唯一的索引意味着两个行不能拥有相同的索引值,这里是语法来创建索引的表,代码如下:

  1. CREATEUNIQUEINDEXindex_name
  2. ONtable_name(column1,column2,...);

可以使用一个或多个列上创建索引。例如,我们可以创建一个索引的使用在表tutorials_tbl的tutorial_author列上,代码如下:

  1. CREATEUNIQUEINDEXAUTHOR_INDEX
  2. ONtutorials_tbl(tutorial_author)

可以创建一个简单的索引的表,只要省略UNIQUE关键字的查询创建一个简单的索引,简单的索引允许重复表中的值,如果你想在一列以降序索引值,可以在列名后添加保留字DESC,代码如下:

  1. mysql>CREATEUNIQUEINDEXAUTHOR_INDEX
  2. ONtutorials_tbl(tutorial_authorDESC)

ALTER命令添加和删除索引,有四种类型的语句表添加索引,代码如下:

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):这条语句添加一个主键,这意味着索引值必须是唯一的,不能是NULL.

代码如下:ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):这条语句创建一个索引,其值必须是唯一的(除NULL值,这可能会多次出现)。

代码如下:ALTER TABLE tbl_name ADD INDEX index_name (column_list):这增加了一个普通的索引,其中的任何值,可能会出现多于一次。

代码如下:ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):这将创建一个特殊的FULLTEXT索引,用于文本搜索的目的.

下面是这个例子,在现有的表添加索引,代码如下:

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

可以删除任何INDEX通过使用DROP子句和使用ALTER命令,试试下面的例子上面创建的索引下降,代码如下:

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

可以删除任何INDEX通过使用DROP子句t和使用ALTER命令,试试下面的例子上面创建的索引x.

ALTER命令来添加和删除PRIMARY KEY:您可以添加主键,以及在相同的方式中,但要确保主键这是NOT NULL的列上,这是在现有的表添加主键的例子,这将NOT NULL列,然后将其添加为一个主键,代码如下:

  1. mysql>ALTERTABLEtestalter_tblMODIFYiINTNOTNULL;
  2. mysql>ALTERTABLEtestalter_tblADDPRIMARYKEY(i);

可以使用ALTER命令删除主键如下,代码如下:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

要删除索引,这不是一个PRIMARY KEY,所以必须指定索引的名称.

显示索引信息:您可以使用SHOW INDEX命令,列出所有相关联的索引表,垂直格式输出(指定由 G)往往是有用的这句话,以避免长时间行重叠.

试试下面的例子,代码如下:

mysql> SHOW INDEX FROM table_nameG

........

加索引:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

例子:mysql> alter table employee add index emp_name (name);

加主关键字的索引:mysql> alter table 表名 add primary key (字段名);

例子:mysql> alter table employee add primary key(id); //phpfensi.com

加唯一限制条件的索引

mysql> alter table 表名 add

unique 索引名 (字段名);

例子:mysql> alter table employee add unique emp_name2(cardnumber);

查看某个表的索引:mysql> show index from 表名;

例子:代码如下:mysql> show index from employee;

删除某个索引:mysql> alter table 表名 drop index 索引名;

例子:mysql>alter table employee drop index emp_name;

总结索引与优化

1、选择索引的数据类型

MySQL支持很多数据类型,选择合适的数据类型存储数据对性能有很大的影响,通常来说,可以遵循以下一些指导原则:

(1)越小的数据类型通常更好,越小的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间,处理起来更快.

(2)简单的数据类型更好,整型数据比起字符,处理开销更小,因为字符串的比较更复杂。在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储时间,以及用整型数据类型存储IP地址.

(3)尽量避免NULL,应该指定列为NOT NULL,除非你想存储NULL,在MySQL中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂,你应该用0、一个特殊的值或者一个空串代替空值.

广告内容

MySQL索引创建 删除 增加 修改命令 MySQL索引创建 删除 增加 修改命令 MySQL索引创建 删除 增加 修改命令

相关阅读

热门评论

Seven 绯闻SEO Seven 绯闻SEO

绯闻SEO,一个专注中小企业网站优化的SEO爱好者

总篇数179

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法