- 数据表是数据库最重要的组成部分之一,是其他对象的基础
创建数据库表
创建数据库的语句为 CREATE TABLE, 语法如下:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名
(
列名1 数据类型[列级别约束条件] [默认值],
列名2 数据类型[列级别约束条件] [默认值],
…
[表级别约束条件]
);
- TEMPORARY: 表示创建一个临时表
- IF NOT EXISTS: 该关键字用于避免同名的表存在时,MySQL报告异常
查看数据库表
查看数据库表列表
SHOW TABLES [FROM db_name];
查看数据库表基本结构
- SHOW COLUMNS FROM tal_name [FROM db_name];
- SHOW COLUMNS FROM db_name.tal_name;
- DESCRIBE <表名> [列名]; //该命令需要在对应的数据库中使用
- DESC <表名> [列名]; //该命令需要在对应的数据库中使用
查看表详细结构语句,可以用来显示数据表的创建语句
SHOW CREATE TABLE tal_name;
修改数据库表
- 修改表结构指增加或者删除字段、修改字段或者字段类型、设置取消主键、设置取消索引以及修改表的注释等
添加列
- 在已经存在的表添加新的列
ALTER TABLE <表名>
ADD <新列名> <数据类型>
[约束条件] [FIRST | AFTER 已存在列名];
- FIRST:表示新列放在第一位;
- AFTER 已存在列名:表示新列放在指定列名的后面
修改列名
- MySQL中修改列名的语法规则如下:
ALTER TABLE <表名>
CHANGE <旧列名><新列名><新数据类型>;
修改列的数据类型
- 修改列的数据类型,就是把列的数据类型转换成另一种数据类型
ALTER TABLE <表名> MODIFY <列名> <新数据类型>
修改列的排列位置
- ALTER TABLE来改变表中列的相对位置
ALTER TABLE <表名>
MODIFY <列1> <数据类型> FIRST | AFTER <列2>;
删除列
- 删除列是将数据表中的某个列从表中移除
ALTER TABLE <表名> DROP <列名>;
修改数据表名
- MySQL是通过ALTER TABLE语句来实现表名的修改的
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
删除数据库表
- MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表,语法如下:
DROP TABLE [IF EXISTS] 表1, 表2, … 表n;
表分区
- 当我们创建的表,需要承载的数据量很大的时候,就要注意他的性能问题,比如图书信息表,有1000万个图书信息,那么我们就得考虑如何优化它,其中一种方式就是表分区
- 表分区就是把一张表的数据分成多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,但所有的数据还在一个表中
- 数据库的表分区一般有两种方式:水平和垂直,水平分区是将表的数据按行分割成不同的数据文件,而垂直分区则是将表的数据按列分割成不同的数据文件
创建表分区 - 在创建的时候使用:partition by 分区类型 (分区指定的字段)
- Range分区:
- 根据指定某列的范围值进行分区
- 使用values less than操作符定义分区
举例:
添加表数据及查看