当前位置:网站首页>mysql常用命令
mysql常用命令
2022-07-31 05:15:00 【为今天而努力】
修改表名称
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 |
+------------------+
边栏推荐
- Android软件安全与逆向分析阅读笔记
- sqlite 查看表结构 android.database.sqlite.SQLiteException: table splitTable has no column named
- quick-3.6源码修改纪录
- NFTs: The Heart of Digital Ownership
- 【云原生】开源数据分析 SPL 轻松应对 T+0
- vulhub靶场学习日记hackme1
- 常见JVM面试题及答案整理
- Gradle sync failed: Uninitialized object exists on backward branch 142
- 元宇宙的前景及四大赛道
- 一个简单的bash转powershell案例
猜你喜欢
随机推荐
File operations in C language (1)
Artifact SSMwar exploded Error deploying artifact.See server log for details
DeFi Token in the project management
Android软件安全与逆向分析阅读笔记
一文速学-玩转MySQL获取时间、格式转换各类操作方法详解
(Crypto essential dry goods) Detailed analysis of the current NFT trading markets
Common JVM interview questions and answers
代码块、Package,Import,封装(第六天)
Volatility取证工具使用日记
安装Multisim出现 No software will be installed or removed解决方法
在kali上搭建vulhub漏洞靶场
继承、Super,重写、抽象类、抽象方法 1(第七天)
[Cloud Native] What should I do if SQL (and stored procedures) run too slowly?
Gradle sync failed: Uninitialized object exists on backward branch 142
Linux中mysql密码修改方法(亲测可用)
2021 Mianjing - Embrace Change
永恒之蓝漏洞复现
"limit" query in Oracle database
How MySQL - depots table?A look at will understand
vulhub靶场学习日记hackme1
![[swagger close] The production environment closes the swagger method](/img/43/17be22626ba152b33beaf03f92fbec.png)







