DDL学习(下)

tech2024-07-11  65

6 修改表结构

6.1 修改字段名以及修改结构(重命名)

# 将员工表中的列名name 修改成sname DESC staff; ALTER TABLE staff CHANGE NAME sname VARCHAR(10); /* 修改字段(修改字段名以及数据类型和约束) alter table 表名 change 旧字段名 新字段名 类型以及约束 */

6.2 修改字段的结构(不重命名)

# 将id设置成主键 ALTER TABLE staff CHANGE id id INT PRIMARY KEY AUTO_INCREMENT; ALTER TABLE staff MODIFY age INT NOT NULL; /* 修改字段的结构以及约束 alter table 表名 modify 字段名 类型以及约束 */

6.3 增加字段

# 增加一个字段,这个字段是 电话 不能为空 ALTER TABLE staff ADD phone INT NOT NULL; /* 增加字段 alter table 表名 add 字段名 类型 约束 */

6.4 删除字段

#删除当前表中的字段gender ALTER TABLE staff DROP gender; /* alter table 表名 drop 字段名 */

6.5 查询表结构

desc 表名;

7 修改表名

#将表名staff修改成yuangong RENAME TABLE staff TO yuangong; RENAME TABLE yuangong TO staff; /* rename table 旧表名 to 新表名 */

8 查看创建表的语句

# 查看表创建的语句 SHOW CREATE TABLE staff; /* show create table 表名 */

9 复制表结构

9.1 仅仅复制表的结构

DESC student; CREATE TABLE copytable1 LIKE student DESC copytable1 SELECT * FROM copytable1 SHOW TABLES 注意点: 1、create table 表名1 like 被复制的表 2、当前的复制语句,只是复制表的结构,不包括原始数据

9.2 复制表结构以及数据

复制表结构以及表里面存在的所有的数据 CREATE TABLE copy2 SELECT * FROM student; SELECT * FROM copy2 复制表结构以及部分数据以及部分字段 CREATE TABLE copy3 SELECT sname,jointime FROM student WHERE id>2; SELECT * FROM copy3 注意点: 1、复制表的结构和表的数据 create table 表名 select查询语句

9.3 复制表结构不需要数据

复制表的部分结构并且不要数据 CREATE TABLE copy4 SELECT id,sname,jointime FROM student WHERE id<0 CREATE TABLE copy4 SELECT id,sname,jointime FROM student WHERE 0 SELECT * FROM copy4 DESC copy4 注意点: 1、复制表的部分字段,但是不需要数据,直接让where引导的条件筛选恒不成立
最新回复(0)