带有 KEY 关键字的 MySQL CREATE 语句

mysqlmysqli database

如官方文档中所述 −

KEY 通常是 INDEX 的同义词。在列定义中给出键属性 PRIMARY KEY 时,也可以将其指定为 KEY。这是为与其他数据库系统兼容而实现的。

首先我们创建一个表 −

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name varchar(50),
   Age int
);
Query OK, 0 rows affected (0.69 sec)

以下是 INDEX 的查询,它是 KEY 的同义词 −

mysql> create index Name_Age_Index on DemoTable(Name,Age);
Query OK, 0 rows impacted (0.65 sec)
Records: 0 Duplicates: 0 Warnings: 0

让我们再检查一下表的描述 −

mysql> desc DemoTable;

这将产生以下输出 −

+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| Id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| Name  | varchar(50) | YES  | MUL | NULL    |                |
| Age   | int(11)     | YES  |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable(Name,Age) values('Robert',21);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Name,Age) values('Bob',23);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Name,Age) values('David',22);
Query OK, 1 row affected (0.39 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将产生以下输出 −

+----+--------+------+
| Id | Name   | Age  |
+----+--------+------+
|  2 | Bob    | 23   |
|  3 | David  | 22   |
|  1 | Robert | 21   |
+----+--------+------+
3 rows in set (0.00 sec)

相关文章