新网 网站备案无极游戏网
表的基本操作
- 1:查看所有表
 - 2:创建表
 - 3:查看表结构
 - 4:修改表
 - 5: 删除表
 
前言:我们先了解一个知识:
 MySQL安装后会有MySQL服务——管理多个库——每个库管理多个表——每个表管理多行数据——数据行由多个列组成———列的描述用到的数据类型
1:查看所有表
语法:
show tables;
 
在查看表前,需要选择好库
use 库名;
 

2:创建表
语法:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_namefield datatype [约束] [comment '注解内容'][, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];
 
TEMPORARY: 表⽰创建的是⼀个临时表
 • field:列名
 • datatype:数据类型
 • comment:对列的描述或说明
 • engine:存储引擎,不指定则使⽤默认存储引擎
 • character set:字符集,不指定则使⽤默认字符集
 • collate:排序规则,不指定则使⽤默认排序规则
 注意下事项:
 1:当如没有指定引擎字符集排序规则,那就会默认为库默认的规则,每张表也可以设置不同的。
 2:每列定义的方式:列名 数据类型 ,多行列之间要用“,”隔开,最后一列结尾没有。
这里是一个详细的创建表的地址官方版
 中文版的
 练习:
 1:创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci
 
 
 2 :创建⼀个表并指定存储引擎为MyISAM
 
 
 注意事项
 1:这些表都存储在磁盘上的一个文件夹内存储表达数据内容
 2:创建⼀个存储引擎为 InnoDB 的表时,会在对应的数据库⽬录下⽣成⼀个⽤来存储真实数据的物理⽂件,命名格式为 表名.ibd ,以当前为例会在 java01 ⽬录下⽣成⼀个 ones.ibd 的数据
 ⽂件
 • 创建⼀个存储引擎为 MyISAM 的表时,会在对应的数据库⽬录下分别⽣成三个以不同后缀名结尾的⽂件,分别是 表名.MYD ( MYData )的数据⽂件, 表名.MYI ( MYIndex ) 的索引⽂件,以表名.sdi 的表信息描述⽂件(JSON格式)
 在8.0以前的版本中表信息描述⽂件是以.frm为后缀的⼆进制⽂件
 
3:查看表结构
语法:
desc 表名;
 

 Field:表中的列名
 • Type:列的数据类型
 • Null:该列的值是否允许为Null
 • Key:该列的索引类型
 • Default:该列的默认值
 • Extra:扩展信息
 补充:
 查看创建库语句
show create database 库名;
 

show create table 表名;
 

4:修改表
在项⽬的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进⾏调整,⽐如向现有表中添加列,删除列,或者修改某列的列名、数据类型或⻓度,这时就需要对表进⾏修改操作。
ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {table_options| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name]| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]| DROP [COLUMN] col_name| RENAME COLUMN old_col_name TO new_col_name| RENAME [TO | AS] new_tbl_name
 
tbl_name:要修改的表名
 • ADD:向表中添加列
 • MODIFY:修改表中现有的列
 • DROP:删除表中现有的列
 • RENAME COLUMN:重命名表中现有的列
 • RENAME [TO | AS] new_tbl_name:重命名当前的表
 详细的创建表语法参考官⽅⽹站:
5: 删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
 
TEMPORARY:表⽰临时表
 tbl_name:将要删除的表名
 注意事项
 • 删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
 • 删除表成功后,磁盘上对应的数据⽂件也会被删除
 • ⼀次可以删除多个表,表与表之间⽤逗号隔开
