文章目录
- 一. 表的创建
- 1. 表的创建
- 2. 栗子
- 二. 查看表
- 1. 查看数据库中的所有表
- 2. 查看表结构
- 三. 删除表
- 1. 删除表
- 四. 修改表结构
- 1. 添加字段
- 2. 修改字段
- ① 修改字段名字
- ② 修改字段类型
- 3. 删除字段
- 4. 修改表名
数据定义语言:简称DDL(Data Definition Language)
一. 表的创建
1. 表的创建
格式:
create table if not exists 表名(
字段名1 类型(长度) [约束],
字段名2 类型(长度) [约束],
…
);
2. 栗子
create table if not exists category(cid varchar(20) primary key,cname varchar(100)
);
二. 查看表
1. 查看数据库中的所有表
show tables;
2. 查看表结构
格式:desc 表名;
desc category;
三. 删除表
1. 删除表
格式:drop table 表名;
drop table category;
若表不存在则会报错:
ERROR 1051 (42S02): Unknown table ‘bigdata_db.category’
四. 修改表结构
1. 添加字段
格式:alter table 表名 add 列名 类型(长度) [约束];
注意:约束按需求选择添加,可以没有约束,类型必须填写,并只能填写一个类型
alter table category add `desc` varchar(20);
此时进行表结构查看,desc字段已经被添加
但理论上我们再添加字段时不需要给字段名添加``
这里这样写是因为desc是关键字(具有特殊功能或含义的字符),如果非关键字,即可使用如下写法。
alter table category add num varchar(20);
栗子:
#1,创建用户表
create table user_info (id int primary key auto_increment comment '自增ID',uid int not null comment '用户ID',nick_name varchar(64) default 0 comment '昵称',achievement int comment '成就值',level int comment '用户等级',job varchar(32) comment '职业方向',register_time datetime default CURRENT_TIMESTAMP comment '注册时间',unique(uid)
) CHARACTER SET utf8 COLLATE utf8_general_ci;#2,修改表字段
alter table user_info add school varchar(15) after level;#在用户信息表 level 列的后面增加一列,列名为:school
alter table user_info change job profession varchar(10);
alter table user_info modify achievement int default 0;
2. 修改字段
① 修改字段名字
格式:alter table 表名 change 旧列名 新列名 类型(长度) 约束;
为分类表的分类描述字段更换为description varchar(30)
alter table category change `desc` description varchar(30);
此时查看category表结构
② 修改字段类型
alter table customers modify c_name varchar(70);
3. 删除字段
格式:alter table 表名 drop 列名;
删除分类表中description这列
alter table category drop description;
此时查看category表结构
4. 修改表名
为分类表category改名成 category2
rename table catgory to catgory2;
alter table catgory rename catgory2;
此时查看数据库中的表信息,表名已经更改