MySQL 如何在单个查询中添加列和索引
使用ALTER和ADD操作完成。以下是语法 −
alter table 你的表名
add 你的列名 DATETIME DEFAULT NOW(),
add index(你的列名);
让我们先创建一个表 −
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(100),
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.69 sec)
接下来我们来检查表的描述 −
mysql> desc DemoTable;
阅读更多:MySQL 教程
输出
这将会产生以下输出−
+-------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| Name | varchar(100) | YES | | NULL | |
+-------+--------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
这是在单个MySQL查询中添加列和索引的查询 −
mysql> alter table DemoTable
-> add ArrivalDate DATETIME DEFAULT NOW(),
-> add index(ArrivalDate);
Query OK, 0 rows affected (2.05 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(100) | YES | | NULL | |
| ArrivalDate | datetime | YES | MUL | CURRENT_TIMESTAMP | |
+-------------+--------------+------+-----+-------------------+----------------+
3 rows in set (0.01 sec)