MySQL学习-修改表结构
写在前面的话:
- 本章内容:已经假设已经安装好MySQL,且已经学会建立一张表
- 所学知识:如何去修改表名称,如何修改表的结构,如增加、删除、...
目录
1.首先,要创建一张表
本次以学生为例,基本属性有:
- 学号
- 姓名
- 性别
- 生日日期
- 电话号码
- 地址
- 图片信息
create table TbStudent
(
stuid integer not null,
stuname varchar(20) not null,
stusex bit default 1,
stubirth datetime not null,
stutel char(11),
stuaddr varchar(255),
stuphoto longblob,
primary key (stuid)
);
1.1 bit数据类型
Bit 称为位数据类型,其数据有两种取值:0和1,长度为1位。
在输⼊0以外的其他值时,系统均把它们当1看待。
在本文章中,创建的这张表:1表示男,0表示女。
1.2 longblob数据类型
在这里贴上慕课的笔记
BLOB是一个二进制大对象,用来存储可变数量的数据。(定义)
BLOB类型分为4种:类型 大小(单位:字节)
- TinyBlob 最大 255
- Blob 最大 65K
- MediumBlob 最大 16M
- LongBlob 最大 4G
这几个类型之间的唯一区别是在存储文件的最大大小上不同。
BLOB与TXT文本文件的区别:
- BLOB列存储的是二进制字符串(字节字符串);TEXT列存储的是非二进制字符串(字符字符串)。
- BLOB列没有字符集,并且排序和比较基于列值字节的数值;TEXT列有一个字符集,并且根据字符集对值进行排序和比较
- BLOB是二进制字符串,TEXT是非二进制字符串,两者均可存放大容量的信息。BLOB主要存储图片、音频信息等
2. 创建一张表后,修改表名
具体的语法:
ALTER TABLE 旧表名 RENAME TO 新表名;
alter table TbStudent rename to student;
3. 修改表结构
参考文章:
删除字段操作主要从数据表中删除某一个字段
alter table student drop stuphoto;
添加字段
具体的语法:
ALTER TABLE 数据表名 ADD 新字段名 新字段的数据类型 AFTER 旧字段名;
说明:
- AFTER可以修改成BEFORE:表示放在旧字段名前面
- AFTER + 旧字段名可以省略
alter table student add addr varchar(255) after stutel;
修改字段名称
具体的用法:
ALTER TABLE 数据表名 CHANGE 旧字段名 新字段名 新字段的数据类型
alter table student change stuid id int; alter table student change stusex sex varchar(2); alter table student change stubirth birth datetime; alter table student change stutel telphone varchar(11);