mysql create创建索引和alter创建索引有啥区别
时间: 2023-10-12 21:02:53 浏览: 119
方法在已有表上创建索引-MySQL数据库基础与实例教程所有PPT
在MySQL中,可以使用两种不同的方式来创建索引:使用CREATE TABLE语句时创建索引,或者使用ALTER TABLE语句后续添加索引。这两种方式之间的主要区别如下:
1. CREATE TABLE创建索引:当使用CREATE TABLE语句创建表时,可以在列定义中直接指定索引。这种方式可以在表创建的同时创建索引,非常方便。例如:
```
CREATE TABLE myTable (
id INT PRIMARY KEY,
name VARCHAR(50),
INDEX idx_name (name)
);
```
这样,id列会自动成为主键索引,name列会创建一个名为idx_name的普通索引。
2. ALTER TABLE创建索引:使用ALTER TABLE语句可以在已存在的表上添加索引。这种方式适用于已经存在的表,需要后续添加索引的场景。例如:
```
ALTER TABLE myTable ADD INDEX idx_name (name);
```
这样,会在myTable表上添加一个名为idx_name的普通索引。
总结来说,CREATE TABLE创建索引适用于在表创建时就确定需要的索引,而ALTER TABLE创建索引适用于已存在的表后续需要添加索引的情况。
阅读全文