-- 组合索引 -- 创建索引的基本语法-- 普通索引 (电话、姓名 索引) -- create index indexname on table_name(column1(length),column2(length)); create index index_number on student(phone_num(2),score(3)); -- 在表创建时定义组合索引 -- 在已经存在的表上定义组合索引 ALTER TABLE student ADD INDEX index_number
时间: 2024-03-03 22:49:50 浏览: 65
组合索引是指在一个表中,同时创建多个字段的索引,以优化查询效率。创建索引的基本语法是:
```
CREATE INDEX index_name ON table_name (column_name);
```
其中 `index_name` 是索引的名称,`table_name` 是表的名称,`column_name` 是要创建索引的列名。
普通索引是最基本的索引类型,它仅对单个列进行索引。例如,可以创建一个电话号码或姓名的索引,以便在查询时快速查找到相应的记录。
例如,创建一个名为 `index_number` 的普通索引,对 `student` 表中的 `phone_num` 和 `score` 列进行索引,可以使用以下语句:
```
CREATE INDEX index_number ON student (phone_num(2), score(3));
```
这将对 `phone_num` 列的前两个字符和 `score` 列的前三个字符进行索引。
如果在创建表时就想要定义组合索引,可以在 `CREATE TABLE` 语句中使用 `INDEX` 子句,例如:
```
CREATE TABLE student (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
phone_num VARCHAR(20) NOT NULL,
score INT NOT NULL,
PRIMARY KEY (id),
INDEX index_number (phone_num(2), score(3))
);
```
如果要在已经存在的表上定义组合索引,则可以使用 `ALTER TABLE` 语句,例如:
```
ALTER TABLE student ADD INDEX index_number (phone_num(2), score(3));
```
这将为 `student` 表中的 `phone_num` 列和 `score` 列创建一个名为 `index_number` 的组合索引。
阅读全文