mysql 基本命令整理(2)-修改篇
admin
2023-05-17 09:42:35
0

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

相关内容

热门资讯

以卵击石的“汉光演习”不过是一... 昨天题为《人民解放军越强大,台海和平越有保障》的海风文章,已经反映了一部分台海局势的现实。若再把8月...
美国一养老社区将推出面向老人的... 据《独立报》8月1日报道,美国亚利桑那州一养老社区将引入一台专为老年人设计的大麻自助售卖机,居民无需...
“你头发都白了”,同守广西边防... “你头发都白了,模样还是没变,就是没有年轻时候那么帅了。”
小米手机再度涨价:旗舰最高上涨... 8月2日,小米商城价格更新,多款主力机型上调300元至500元不等。其中,REDMI Turbo 5...
“真实社交”售卖“优先访问权”... 据了解,购买这项服务的企业能够直接接入“真实社交”数据源,辅以人工智能技术解读信息,进而提前把握市场...
原创 狂... 英伟达正式官宣与 Safe Superintelligence(SSI)达成长期战略合作,总投资规模...
马斯克最新预言来了,钱要没用了... “以法莲是商人,手里有诡诈的天平,爱行欺骗!”——圣经 据红星新闻报道,本月,埃隆·马斯克在接受专...
遭欧盟22国“围攻”,西班牙怒... 西班牙首相桑切斯与22个欧盟成员国领导人激烈交锋后,由轮值主席国爱尔兰正式召集,欧盟将于本周二(8月...
创维电视42d9指示灯不亮 1、可能为电源插座插头的故障。2、可能为电源连接线的故障。3、可能为电视内部开关电源电路出了故障。4...
电视不通电指示灯不亮是什么原因 因为电源适配器发生了故障,就会导致电视不通电指示灯不亮;当然了,电视机也会因为开机的电源电路发生异常...