表结构的设计
创建数据库
craeat [temporary] table [if not exists] 表名(
字段名 1 数据类型 [约束条件],
字段名 2 数据类型 [约束条件],
...
);
- [ ]里的内容为可选内容
- [temporary] 的作用是创建一个临时表
- [if not exists] 的作用是创建数据表之前判断数据库是否存在该表,如果不存在就创建。通常在写脚本的时候使用。
- 创建表时必须指出相应的字段名和数据类型
查看表信息
desc 表名;
- 表结构创建成功之后,由于没有插入数据,无法像二维表一样打开,使用desc命令可以查看表结构的详细信息。
表的重命名
rename table 原数据表名 to 新数据表名;
- 该语句可以同时对多个数据表进行重命名,表之间用逗号,隔开。
删除表
drop table 表名;
drop table 表名1,表名2,...;// 可以在同一语句中指定几个表进行删除
drop table if exists 表名; // 如果不能肯定一个表是否存在,但如果存在就删除,可以使用if exists 语句
mysql数据类型
mysql提供的数据类型主要有:数值类型,字符串类型,日期类型,二进制类型。
整型
主要有:tinyint、smallint、mediumint、int、bigint。
tinyint | 最小整数 |
---|---|
samllint | 小型整数 |
mediumint | 中型整数 |
int | 标准整数 |
bigint | 大整数 |
- 默认情况下为有符号
- 如果要使用无符号整数。列如"年龄 unsigned" ,其中unsigned用于定义大于等于0的整数。
小数类型
MySQL支持:精确小数类型和浮点数类型,浮点数包括单精度和双精度浮点数类型。
float | 单精度浮点数 |
---|---|
double | 双精度浮点数 |
decimal | 精确小数类型 |
- decimal(length,precision)用于表示精度确定的小数类型。
- 其中length决定小数的最大位数。
- precision用于设置精度(小数点后的数字的位数)
- 列如decimal(5,2)表示–999.99~999.99
- 列如decimal(5,0)表示整数–99999~99999
- 在选择小数类型时,一般选择精确小数类型,浮点数运算量过大会降低性能。
字符串数据类型
MySQL字符类型主要支持六种:char、varchar、tingytext、txet、mediumtext、longtext。
char(n) | 固定长度为n的字符串,n的取值范围0~255,汉字两个字节 |
---|---|
varchar(n) | 长度可变,取值范围0~255 |
text | 长度可变,超大数据 |
日期类型
MySQL主要支持五种日期类型:datetime,date,timestamp,time,year。
date | 日期格式:YYYY–MM–DD |
---|---|
time | 日期格式:HH:MM:SS |
datetime | 日期格式:YYYY–MM–DD HH:MM:SS |
timestamp | 取值范围:1970–01–01 00:00: |