学习目标
- 掌握MySQL服务中字段的操作方法,能够完成字段的添加,修改和删除。
DDL之表结构操作(字段操作)
在实际开发中,我们创建的数据库一般只满足第一版需求,随着日后的需求不断增加,数据维度不断扩展,还有更多的需求需要添加进来,此时,数据存储的结构就需要随之变化。
为了使MySQL更加灵活,可扩展性更强,在MySQL语法中给我们添加了操作表结构(字段)的相关方法。
在MySQL中,修改表结构(字段)时,我们需要借助ALTER TABLE关键字来完成。
在操作字段之前,我们需要将刚才删除掉的表重新创建回来。
CREATE TABLE category(
# 字段1名称为cid,数据类型为整型,添加主键约束及非空约束
cid INT PRIMARY KEY NOT NULL,
# 字段2名称为cname,数据类型为varchar,最大长度为100
cname VARCHAR(100)
);
注意:无法操作不存在的表。
1.添加字段
1.1 添加字段的方法
添加字段的方式非常简单,只要在ALTER TABLE的基础上,添加ADD关键字就可以完成,语法格式如下:
ALTER TABLE 表名 ADD 列名 类型(长度) [约束];
注意:约束按需求选择添加,可以没有约束,类型必须填写,并只能填写一个类型
例如:
# 在category表中添加num字段,数据类型为INT,并且不能为空
ALTER TABLE category ADD num INT NOT NULL;
# 查看表结构是否发生了改变
DESC category;

我们可以在添加字段后,使用DESC category;命令查看表结构是否发生了改变。
1.2 字段名称不能重复
注意:==字段名称不能重复==,所以,当我们再次添加num字段时将会报错,错误信息为:Duplicate column name ‘num’。

1.3 关键字做字段名称
当我们添加的字段名称为关键字时,会出现错误,我们试着执行如下代码:
# 在category表中添加desc字段,数据类型为VARCHAR类型,最大长度为100
ALTER TABLE category ADD desc VARCHAR(100);

此时已经提示我们语法错误,因为desc为关键字,系统已经赋予了他特殊的功能。
此处,我们没有使用他原有的功能,系统认为我们书写的SQL语句语法格式存在问题。
那我们需要怎么做呢???
很简答我们给desc添加“让系统知道他不是一个关键字即可,代码如下:
# 在category表中添加desc字段,数据类型为VARCHAR类型,最大长度为100
ALTER TABLE category ADD `desc` VARCHAR(100);
# 查看表结构是否发生了改变
DESC category;

?
注意:这里添加的点是esc键下方的点,要使用英文输入法哦!

?
2.修改字段
修改字段的方式与添加字段类似,只不过需要将ADD关键字改为CHANGE关键字,代码如下:guan
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
例如:
# 为分类表的desc字段更换为description varchar(100)
ALTER TABLE category CHANGE `desc` description VARCHAR(100);
# 查看表结构
DESC category;
运行后,字段名称已经发生改变,我们可以使用DESC进行表结构查看。

?
3.删除字段
删除字段的方式与添加字段类似,只不过需要将ADD关键字改为DROP关键字,代码如下:
ALTER TABLE 表名 DROP 列名;
注意:此处不用指定数据类型及约束。
例如:
# 删除分类表中num这列
ALTER TABLE category DROP num;
# 删除后,查看表结构
DESC category;
删除后,使用DESC查看表中的字段是否删除成功。

?
4.小结
- 添加字段:ALTER TABLE 表名 ADD 列名 类型(长度) [约束];
- 修改字段:ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) 约束;
- 删除字段:ALTER TABLE 表名 DROP 列名;
158自学网 » mysq_查看表结构(查看表结构的sql语句)
(1)、因部分资料含有敏感关键词,百度网盘无法分享链接,请联系客服进行发送;
(2)、所有资料在您未收到之前,都可以联系微信/QQ:406499404,无条件退款
(3)仅支持原渠道退回,微信支付,支付宝退回至您当初选择的付款方式
(4)不用担心不给资料,如果没有及时回复也不用担心,看到了都会发给您的,请放心!
(5)因部份资源来源互联网,本站不担保其完整性,请知悉!