MySQL修改表

来源:互联网 发布:移动的网络机顶盒 编辑:程序博客网 时间:2024/06/16 14:57

  MySQL对表的操作主要包括表的修改以及删除。

1.修改表名

  修改表名的指令为RENAME TABLE oldname TO newname;,下面为将我本地数据库test中表t1改名为student:

$ mysql -uroot -pEnter password: ******mysql> use test;Database changedmysql> RENAME TABLE t1 TO student;Query OK, 0 rows affected (0.01 sec)mysql> show tables;+----------------+| Tables_in_test |+----------------+| example0       || student        |+----------------+2 rows in set (0.00 sec)

  
  下面指令也可以修改表名,作用跟上述指令一样:

ALTER TABLE t1 RENAME student ;

2.修改表中字段类型名

  修改表中字段类型名通过指令格式如下:

ALTER TABLE 表名 CHANGE 旧字段名称 新字段名称 字段类型;

  下面给出将表student中字段tid改为sno:

mysql> ALTER TABLE student CHANGE tid sno INT;Query OK, 0 rows affected (0.19 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> show columns from student;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| sno   | int(11)     | NO   | PRI | NULL    |       || tname | varchar(30) | NO   |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.02 sec)

3.增加或删除列

  下面给出在表student增加一列的指令:

mysql> ALTER TABLE student ADD sscore TINYINT;Query OK, 0 rows affected (0.13 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> show columns from student;+--------+-------------+------+-----+---------+-------+| Field  | Type        | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| sno    | int(11)     | NO   | PRI | NULL    |       || tname  | varchar(30) | NO   |     | NULL    |       || sscore | tinyint(4)  | YES  |     | NULL    |       |+--------+-------------+------+-----+---------+-------+3 rows in set (0.01 sec)

  下面将刚才增加的一列删除,指令如下:

mysql> ALTER TABLE student DROP COLUMN sscore;Query OK, 0 rows affected (0.16 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> show columns from student;+-------+-------------+------+-----+---------+-------+| Field | Type        | Null | Key | Default | Extra |+-------+-------------+------+-----+---------+-------+| sno   | int(11)     | NO   | PRI | NULL    |       || tname | varchar(30) | NO   |     | NULL    |       |+-------+-------------+------+-----+---------+-------+2 rows in set (0.01 sec)

4.删除表

  下面给出删除表的指令:

-- 删除表t1DROP TABLE t1;-- 如果表t1存在删除表t1DROP TABLE IF EXISTS t1;-- 批量删除多个表DROP TABLE t1.t2,t3;
原创粉丝点击