简单的唯一索引:
可以创建一个唯一索引的表。唯一的索引意味着两个行不能拥有相同的索引值。这里是语法来创建索引的表
代码如下 | 复制代码 |
CREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...); |
可以使用一个或多个列上创建索引。例如,我们可以创建一个索引的使用在表tutorials_tbl的tutorial_author列上
代码如下 | 复制代码 |
CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author) |
可以创建一个简单的索引的表。只要省略UNIQUE关键字的查询创建一个简单的索引。简单的索引允许重复表中的值。
如果你想在一列以降序索引值,可以在列名后添加保留字DESC:
代码如下 | 复制代码 |
mysql> CREATE UNIQUE INDEX AUTHOR_INDEX |
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列,然后将其添加为一个主键。
代码如下 | 复制代码 |
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; |
可以使用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); |
加唯一限制条件的索引
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、一个特殊的值或者一个空串代替空值。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔