MYSQL基本操作-表的相关操作

修改数据表

语法格式

ALTER TABLE <表名> [修改操作];

知识点

常用的修改表的操作

  • 修改表名–rename
  • 修改字段数据类型或字段名–change
  • 增加和删除字段–add、drop
  • 修改字段的排列位置或者字段数据类型–modify
  • add、drop、change、modify、rename

修改表名

语法格式

ALTER TABLE <旧表名> RENAME [TO] <新表名>;

注意

  • [TO] 加不加都行,不影响结果
  • 修改表名不影响表结构

实际栗子

alter table customers2 rename to customers;
alter table customers22 rename customers;

修改字段排列顺序

语法格式

ALTER TABLE <表名> MODIFY <字段名> <数据类型> [FIRST|AFTER 已存在的字段名];

实际栗子

# 放在首位
alter table customers5 modify ctruename varchar (30) first;

# 放在cemail字段后面
alter table customers5 modify csex char(2) after cemail;

修改字段数据类型

语法格式

ALTER TABLE <表名> MODIFY <字段名> <数据类型>;

实际栗子

# 修改字段数据类型
alter table customers5 modify cid  char(4);

修改字段名字

语法格式

ALTER TABLE <表名> CHANGE <旧字段> <新字段> <数据类型>;

实际栗子

# 修改字段名
alter table customers5 change csex csexs char(2);

# 修改字段数据类型和字段名
alter table customers5 change csex csexs int(4);

知识点

change不仅可以改字段名,也可以改字段数据类型

添加字段

语法格式

ALTER TABLE <表名> ADD <字段名> <数据类型>  [约束条件] [FIRST|AFTER 已存在的字段名];

实际栗子

『示例』在客户表中新增一个客户昵称字段, 变长11位

# 添加字段
alter table customers2 add cnickname varchar(11);

# 添加字段到首位
alter table customers2 add  cnickname varchar(11) not null default 'buyu' first;

# 添加字段到某个字段后面
alter table customers2 add  cnickname varchar(11) after cregisterdate;

删除字段

如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):

语法格式

alter table table_name drop [column] column_name

『示例』删除用户昵称字段

alter table customers drop cnickname

『示例』假设已经在数据库 bookshop中创建了表 customers。添加一个新的字段 state,类型为cha(1),不允许为空,将字段 address列删除。

use bookshop;
alter table customers add state char() not null, drop column address

删除数据表

语法格式

DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]

可以看到跟删除库差不多

实际栗子

# 删除表如果存在
drop table if exists customers;

谨慎操作吧!!数据会清空哦!!