mysql语句index_MySQL index语句

本文介绍了MySQL中如何为students表创建及管理索引,包括单一字段索引和组合索引,并展示了创建过程中的一些注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql>desc students;+---------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+----------------+

| sid | int(11) | NO | PRI | NULL | auto_increment |

| sname | varchar(64) | YES | UNI | NULL | |

| gender | varchar(12) | YES | | NULL | |

| dept_id | int(11) | NO | MUL | NULL | |

+---------+-------------+------+-----+---------+----------------+

4 rows in set (0.01sec)

mysql>create index idx_123 on students(sid,sname);

Query OK,0 rows affected (0.06sec)

Records:0 Duplicates: 0 Warnings: 0mysql>show create table students;+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| students |CREATE TABLE `students` (

`sid`int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(64) DEFAULT NULL,

`gender` varchar(12) DEFAULT NULL,

`dept_id`int(11) NOT NULL,

PRIMARY KEY (`sid`),

UNIQUE KEY `idx_1` (`sname`),

KEY `for_1` (`dept_id`),

KEY `idx_123` (`sid`,`sname`),

CONSTRAINT `for_1` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

+----------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00sec)

mysql>create index idx_124 on students(sid);

Query OK,0 rows affected (0.12sec)

Records:0 Duplicates: 0 Warnings: 0mysql>create index idx_124 on students(sname);

ERROR1061 (42000): Duplicate key name 'idx_124'mysql>create index idx_125 on students(sname);

Query OK,0 rows affected (0.07sec)

Records:0 Duplicates: 0 Warnings: 0mysql>show create table students;+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| students |CREATE TABLE `students` (

`sid`int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(64) DEFAULT NULL,

`gender` varchar(12) DEFAULT NULL,

`dept_id`int(11) NOT NULL,

PRIMARY KEY (`sid`),

UNIQUE KEY `idx_1` (`sname`),

KEY `for_1` (`dept_id`),

KEY `idx_123` (`sid`,`sname`),

KEY `idx_124` (`sid`),

KEY `idx_125` (`sname`),

CONSTRAINT `for_1` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00sec)

mysql>create index idx_126 on students(sname);

Query OK,0 rows affected, 1 warning (0.07sec)

Records:0 Duplicates: 0 Warnings: 1mysql>show create table students;+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| students |CREATE TABLE `students` (

`sid`int(11) NOT NULL AUTO_INCREMENT,

`sname` varchar(64) DEFAULT NULL,

`gender` varchar(12) DEFAULT NULL,

`dept_id`int(11) NOT NULL,

PRIMARY KEY (`sid`),

UNIQUE KEY `idx_1` (`sname`),

KEY `for_1` (`dept_id`),

KEY `idx_123` (`sid`,`sname`),

KEY `idx_124` (`sid`),

KEY `idx_125` (`sname`),

KEY `idx_126` (`sname`),

CONSTRAINT `for_1` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值