千家信息网

mysql 基本命令整理(2)-修改篇

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,1、在test_tb2数据库中新建两个数据表 offices 和 employees,如下:mysql> DESC offices;+------------+-------------+------
千家信息网最后更新 2024年11月26日mysql 基本命令整理(2)-修改篇

1、在test_tb2数据库中新建两个数据表 offices 和 employees,如下:

mysql> DESC offices;

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

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

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

| officeCode | int(10) | NO | PRI | NULL | |

| city | varchar(50) | NO | | NULL | |

| address | varchar(50) | YES | | NULL | |

| country | varchar(50) | NO | | NULL | |

| postlCode | varchar(15) | YES | | NULL | |

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

mysql> DESC employees;

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

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

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

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

| lastName | varchar(50) | NO | | NULL | |

| firstName | varchar(50) | NO | | NULL | |

| mobile | varchar(25) | YES | UNI | NULL | |

| officeCode | int(10) | NO | | NULL | |

| jobTitle | varchar(50) | NO | | NULL | |

| birth | datetime | NO | | NULL | |

| note | varchar(255) | YES | | NULL | |

| sex | varchar(5) | YES | | NULL | |

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

2、修改字段的位置:

mysql> ALTER TABLE employees MODIFY mobile VARCHAR(25) after officeCode;

3、修改字段的名称:

mysql> ALTER TABLE employees CHANGE birth employee_birth DATETIME;

4、修改字段的数据类型及非空约束

mysql> ALTER TABLE employees MODIFY sex VARCHAR(2) NOT NULL;

5、删除字段

mysql> ALTER TABLE employees DROP note;

6、增加字段名

mysql> ALTER TABLE employees ADD favoriate_activity VARCHAR(100);

7、删除表

(1)mysql> DROP TABLE offices;

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constrai

nt fails

直接删除数据表,会出现错误,因为子表employees的外键约束关联了父表offices的,要删除父表必须先要解除和子表的关系。

(2)解除父表和子表之间的关系

mysql> ALTER TABLE employees DROP FOREIGN KEY fk_emp_off(外键名称);

(3)再次删除

mysql> DROP TABLE offices;

Query OK, 0 rows affected (0.01 sec)

(4)表删除操作是把表的定义和表中的数据一起删除,并且在执行删除操作时,不会有任何确认信息的提示,因此执行删除操作时,应当慎重再慎重。

8、总结:表的字段基本操作就是增(ADD) 删(DROP) 改:修改(MODIFY )和 改变CHANGE)

CHANGE 改变的是字段的名称 、数据类型、注释

MODIFY 不可以改变字段的名称

所以:(1)既更改列名也更改类型,用CHANGE
(2)只修改类型,用MODIFY

0