文章目录
- 1. 创建表
- 2. 查看表结构
- 3. 修改表
- 3.1 向表中插入数据
- 3.2删除表中的数据
- 3.3 修改表的性质
- 3.3.1 添加字段
- 3.3.2 修改字段的长度
- 3.3.3 删除字段
- 3.3.4 修改字段名
- 3.3.5 修改表名
- 4. 删除表
- 5. 备份表
前言: 本文会详细的讲解,在MySQL中表的操作。
1. 创建表
基本语法:
create table 表名
(
表成员变量1,表成员变量2
)character set 字符集 collate 校验规则 engine 存储引擎;
- 表的成员变量至少有一个并且之间用
,
隔开,最后的成员变量后面没有,
。 - 表后面可以跟字符集和校验规则这是表级别的,如果没有指定,那就默认使用它所在库的字符集和校验规则。
- 存储引擎,指定表使用哪个存储引擎进行存储。不同的存储引擎,创建表的文件不一样。
例子:
- 创建一个表ly,指定它的存储引擎为myisam。
create table ly(
id int
) character set utf8 engine myisam;
- 创建一个表ly1,指定它的存储引擎为innodb。
create table ly1 (
id int,name char(10)
) character set utf8 engine innodb;
创建表成功后,我们去看看 这俩表的文件有何不同?
就是这样哈,验证一下现象,也不细讲缘由。
2. 查看表结构
基本语法: desc + 表名
比如:查看ly表的结构:
- field:字段名称
- type:字段类型
- null:是否允许为空
- key:索引类型
- default:默认值
- extra:扩充
3. 修改表
3.1 向表中插入数据
基本语法:instert into 表名 (字段名) values (插入数据);
比如使用ly1表:
- 向ly1表插入俩组数据, 也就是id 和 name 都要进行插入:
insert into ly1 values(1,"bod"),(2,"ff");
- 我只向ly1表中插入id,这就需要指定字段了:
insert into ly1(id) values(3);
- 查看一下表中数据:
select * from ly1;
3.2删除表中的数据
-
删除部分表中数据:
delete from ly1 where id=3;
这是删除id=3的数据。
-
删除表中全部数据:
delete from ly1;
3.3 修改表的性质
以上都是对表中的数据进行修改,但是从这里开始,就是要对表的结构进行修改。
3.3.1 添加字段
alter table 表名 add (column datatype [DEFAULT expr] [column datatype] ...)
比如我要给ly1添加一个字段sex,用于表示性别:
alter table ly1 add sex varchar(2) after name
。这里的after name,意思就是说 你插入的字段的位置,在name字段的后面。当然还可以用 before name,不过它的意思是把字段插入到name字段的前面。
3.3.2 修改字段的长度
alter table 表名 modify (column datatype [DEFAULT expr][,column datatype]...);
从上面可以看到,字段name的char长度是10,现在要求将它的长度改为20:
alter table ly1 modify name char(20);
3.3.3 删除字段
删除字段后,字段下的所有数据都会被删除。
alter table 数据库名 drop (column);
删除字段要小心处理:
比如我现在要删除ly1表中的name字段:
alter table ly1 drop name;
3.3.4 修改字段名
alter table 表名 change 原字段名 改后字段名 改后字段名类型
。
假如:现在要求把ly1表的sex字段改名为 gender :
alter table ly1 change sex gender varchar(2)
;
这里需要注意的就是 改后的字段名类型 不可以省略。
3.3.5 修改表名
alter table 原表名 rename to 新表名;
比如:要把ly1表名修改为 wq1:
alter ly1 rename to wq1;
to
可以被省略;
4. 删除表
删除表前,最好把表备份好。
drop table 表名
;
5. 备份表
备份表,其实在上一篇文章库的操作里面有讲。大家感兴趣的话,可以去看一下我上一篇博客 MySQL —— 库的操作。