MySQL之修改表和复制表

修改表

# MySQL对大小写是不敏感的
1. 修改表名
alter table 表名 rename 新表名
2. 增加字段
alter table 表名 add 字段名 字段类型(宽度) 约束条件;
# 将字段直接添加在标的最前面
alter table 表名 add 字段名 字段类型(宽度) 约束条件 first;
# 将字段指定跟在谁的后面
alter table 表名 add 字段名 字段类型(宽度) 约束条件 after 字段名
3. 删除字段
alter table 表名 drop 字段名;
4. 修改字段
alter table 表名 modify 字段名 字段类型(宽度) 约束条件;
alter table 表名 change 旧字段名 新字段名 字段类型(宽度) 约束条件;

复制表

我们SQL语句查询的结果其实也是一张虚拟表
create table 表名 select * from 旧表;
# 不能复制原表中的任何键,只复制了原表的结构
create table new_dep select * from dep where id >3;
select * from dep;
+-----+-------------+--------------------------+
| id | dep_name | dep_desc |
+-----+-------------+--------------------------+
| 3 | nb技术部 | 技术能力有限部门 |
| 200 | 外交部 | 多人外交 |
+-----+-------------+--------------------------+
select * from new_dep;
+-----+-----------+--------------+
| id | dep_name | dep_desc |
+-----+-----------+--------------+
| 200 | 外交部 | 多人外交 |
+-----+-----------+--------------+
desc dep;
+----------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| dep_name | char(16) | YES | | NULL | |
| dep_desc | char(32) | YES | | NULL | |
+----------+----------+------+-----+---------+----------------+
desc new_dep;
+----------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+----------+------+-----+---------+-------+
| id | int(11) | NO | | 0 | |
| dep_name | char(16) | YES | | NULL | |
| dep_desc | char(32) | YES | | NULL | |
+----------+----------+------+-----+---------+-------+
posted @   Xiao0101  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示