mysql常用命令

修改表名称
 mysql> ALTER TABLE test_foreing_key RENAME test_foreign_key;
修改字段排列位置
ALTER TABLE tableName【表名】 MODIFY column1【字段名 1】 varchar(80)【数据类型】 FIRST|AFTER bookName【字段名2】;
  • FIRST; 将【字段名1】修改为表的第一个字段
    AFTER bookName【字段名2】; 将【字段名1】更新到【字段名2】的后面
ALTER TABLE book MODIFY owner varchar(80) AFTER bookName;
删除表中的外键约束
ALTER TABLE 【表名】DOPR FOREIGN KEY 【外键约束】
// 准备测试表
mysql> CREATE TABLE test1 (id INT(11) PRIMARY KEY, name VARCHAR(10));
mysql> CREATE TABLE test_foreing_key(
    -> id INT(11) PRIMARY KEY,
    -> foreKeyTestId INT(11),
    -> CONSTRAINT fk_test_id FOREIGN KEY (foreKeyTestId) REFERENCES test1(id));REFERENCES test1(id));
// 删除外键约束
mysql> ALTER TABLE test_foreign_key DROP FOREIGN KEY fk_test_id;
删除没有约束表
	删除表时如果没有表不存在,MySQL 会报错误信息 “ERROR 1051(42S02):Unknown table”, 参数“IF EXISTS ”
用于再删出前判断删除的表是否存在,加上参数后,在删除表时,如果不存在时可以顺利执行,不过会报警告【warning】
DROP TABLE 【IF EXISTS】table1, table2, table3, ..., tableN;
删除被其他表关联的主表
	数据表之间存在外键关联的情况下,如果直接删除父表,会失败,原因是直接删除父表破坏了表的参照完整性。
如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样同时删除了两个表中的数据。但有的情况下
可能要保留子表,这时要单独删除父表,只需要将关联的表的外键约束条件取消,然后就可以删除父表。
// 查看所有表
mysql> SHOW TABLES;
+------------------+
| Tables_in_reader |
+------------------+
| test1            |
| test2            |
| test_foreign_key |
+------------------+
// 直接删除父表提示错误
mysql> DROP TABLE test1;
ERROR 3730 (HY000): Cannot drop table 'test1' referenced by a foreign key constraint 'fk_test_id' on table 'test_foreing_key'.
// 删除外键约束
mysql> ALTER TABLE test_foreign_key DROP FOREIGN KEY fk_test_id;
// 继续删除
mysql> DROP TABLE test1;
Query OK, 0 rows affected (0.16 sec)
// 查看所有表
mysql> SHOW TABLES;
+------------------+
| Tables_in_reader |
+------------------+
| test2            |
| test_foreign_key |
+------------------+
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值