一、增加表
增加表的语法:
create table [if not exists] 表名(
列名1 类型 [comment 文字说明],
列名2 类型 [comment 文字说明],
列名3 类型 [comment 文字说明]
) [character set 字符集] [collate 校验规则] [engine 存储引擎];
其中:
- 方括号内为可选项
- 类型为该列所存储元素的类型
- comment后可接对该列的文字说明
- 若建表时不指定字符集、校验规则和存储引擎,则使用默认方案
例如:
何为存储引擎?我在【MySQL】数据库基础-CSDN博客 中有简单介绍过
上一篇文章提到,数据库在对应路径下表现为目录的形式,而表结构就是目录下的文件
不同的存储引擎,在创建表时生成的文件也不一样。刚才创建的表结构使用MyIsam引擎,我们看看它的表文件是什么样子的
其中,frm后缀文件为表结构,MYD后缀文件为表数据,MYI后缀文件为表索引
接下来我们换成InnoDB引擎,再创建一张除了存储引擎之外一切相同的表
创建表成功后,我们观察目录下的表文件
可以看到使用MyIsam引擎的user1表有三个表文件,而使用InnoDB引擎的user2表只有两个
这是因为MyIsam引擎和InnoDB引擎的存储方案不同,MyIsam将数据和索引分开存放,而InnoDB将数据和索引一起存放在ibd后缀文件中
二、查看表
2.1 查看当前数据库中的表
语法:
show tables;
例如:
2.2 查看指定表的结构
语法:
desc 表名;
例如:
其中:
- Field为字段名
- Type为字段类型
- Null为是否允许为空
- Default为默认值
2.3 查看创建表时的详细信息
语法:
show create table 表名 \G
例如:
2.4 查看表中所有数据
语法:
select * from 表名;
例如:
关于更多的select语句会在后续文章中讲到
三、修改表
3.1 修改表名
语法:
alter table 原表名 rename to 新表名;
3.2 插入数据
语法:
insert into 表名 values (数据)
例如:
结果:
3.3 添加列
语法:
alter table 表名 add 列名 类型 [comment 说明] after 添加位置之前的列名
例如:
可以看到添加新列后不会影响原数据
如果要添加多列,则在add后需要用括号将多个列名和类型包括起来,例如:
结果:
3.4 修改列类型
语法:
alter table 表名 modify 列名 新类型;
例如:
3.5 删除列
语法:
alter table 表名 drop 列名;
例如:
需要注意,删除某一列后对应的列数据会全部丢失
3.6 修改列名
语法:
alter table 表名 change 原列名 新列名 类型;
例如:
四、删除表
语法:
drop table [if exists] 表名;
例如:
完.
版权归原作者 阿瑾0618 所有, 如有侵权,请联系我们删除。