MySQL数据库表的基本操作——修改表ALTER TABLE,删除表

修改表ALTER TABLE,用于更改原有表结构

查看帮助:

mysql> \h alter table
Name: 'ALTER TABLE'
Description:
Syntax:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
    [alter_specification [, alter_specification] ...]
    [partition_options]

修改表名 ALTER TABLE RENAME [TO] ;

mysql> ALTER TABLE tb1 RENAME table1;

修改字段数据类型 ALTER TABLE MODIFY

mysql> desc tb2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(45) | YES  |     | NULL    |       |
| price | float       | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> ALTER TABLE tb2 MODIFY price DOUBLE;
Query OK, 0 rows affected (0.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc tb2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(45) | YES  |     | NULL    |       |
| price | double      | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

修改字段名 ALTER TABLE CHANGE ;

mysql> ALTER TABLE tb2 CHANGE name book_name varchar(200);
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0

添加字段 ALTER TABLE ADD ;

mysql> ALTER TABLE tb2 ADD author VARCHAR(100);
Query OK, 0 rows affected (0.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

在表的第一列添加字段 ALTER TABLE ADD FIRST;

在表的指定列之后添加一个字段 ALTER TABLE ADD AFTER ;


删除字段 ALTER TABLE  DROP ;


修改字段排列位置 

修改字段为表的第一个字段 ALTER TABLE MODIFY FIRST;

修改字段为表的指定列之后 ALTER TABLE MODIFY AFTER ;


更改表的存储引擎 ALTER TABLE ENGINE=;

查看MySQL支持的引擎:mysql> show engines \G;


删除表的外键约束 ALTER TABLE DROP FOREIGN KEY ;

fk_name即为添加外键时CONSTRAINT后面的参数,这是外键的名字。创建时没有指定怎么办?没关系,MySQL会指定一个名字给它。

通过SHOW CREATE TABLE 查看表的创建信息,就会看到相关外键的名字了,可以通过这个名字进行删除。


删除表 DROP TABLE

有其他表关联时,要先删除其他表或其他表的外键约束


你可能感兴趣的:(MySql)