【MySQL数据库 | 第四篇】 数据类型+DDL表操作1

发布于:2025-06-12 ⋅ 阅读:(82) ⋅ 点赞:(0)

在这里插入图片描述

前提引入

数据类型 😮

数值类型

类型 说明 取值范围(有符号) 取值范围(无符号) 存储需求
tinyint 非常小的数据 -27~ 27-1 0 ~ 28-1 1字节
smallint 较小的数据 -215 ~ 215-1 0 ~ 216-1 2字节
mediumint 中等大小的数据 -223 ~ 223-1 0 ~ 224-1 3字节
int 标准整数 -231 ~ 231-1 0 ~ 232-1 4字节
bigint 较大的整数 -263 ~ 263-1 0 ~ 264-1 8字节
float 单精度浮点数 1.1754351 * 10-38 ~ 3.402823466 * 1038 ---- 4字节
double 双精度浮点数 2.22507385 * 10-308~ 1.79769313 * 10308 ---- 8字节
decimal 字符串形式的浮点数 decimal(m, d) ---- m字节

日期时间类型

类型 说明 取值范围
DATE YYYY-MM-dd ,日期格式 1000-01-01 ~ 9999-12-31
TIME HH:mm:ss , 时间格式 -838:59:59.000000 ~ 838:59:59.000000
DATETIME YY-MM-dd HH:mm:ss 1000-01-01 00:00:00.000000 ~ 9999-12-31 23:59:59.999999
TIMESTAMP YYYY-MM-dd HH:mm:ss 格式表示的时间戳 1970-01-01 00:00:01.000000 ~ 2038-01-19 03:14:07.999999
YEAR YYYY 格式的年份值 1901~2155

字符串类型

类型 说明 最大长度
char [(M)] 固定长字符串,检索快但费空间, 0 <= M <= 255 M字符
varchar [(M)] 可变字符串0 <= M <= 65535 变长度
text 文本串 216–1字节

列类型修饰属性

属性名 说明 示例
UNSIGNED 无符号,只能修来修饰数值类型,表名该列数据不能出现负数 INT(4) UNSIGNED,表示只能为4位大于等于0的整数
ZEROFILL 不足的位数使用0来填充 INT(4) ZEROFILL ,如果给定的值为10,此时只有2位,而该列需要4位,不足的2位由0来填充,最终值为0010
NOT NULL 表示该列类型的值不能为空 VARCHAR (20) NOT NULL,表示该列数据不能为空值
DEFAULT 表示设置默认值 INT(4) DEFAULT 0,表示该列不赋值时默认为0
AUTO_INCREMENT 表示自增长,只能应用于数值列类型,该列类型必须为键,且不能为空 INT(11) AUTO_INCREMENT NOT NULLPRIMARY KEY。第一次为该列中插入值时为1,第二次为2

数据表操作 - 创建 & 查询 🫡

创建数据表

语法:

CREATE TABLE [IF NOT EXISTS] 数据表名称(
字段名1 列类型(长度) [修饰属性] [/索引] [注释],
字段名2 列类型(长度) [修饰属性] [/索引] [注释],
字段名3 列类型(长度) [修饰属性] [/索引] [注释],
......
字段名n 列类型(长度) [修饰属性] [/索引] [注释]
) [ENGINE = 数据表类型][CHARSET=字符集编码] [COMMENT=注释];

注意:[…] 为可选参数,最后一个字段后面没有逗号

示例:创建学生表,表中有字段学号、姓名、性别、年龄和成绩:

CREATE TABLE IF NOT EXISTS student(
`number` VARCHAR(30) NOT NULL PRIMARY KEY COMMENT '学号,主键',
name VARCHAR(30) NOT NULL COMMENT '姓名',
sex TINYINT(1) UNSIGNED DEFAULT 0 COMMENT '性别:0-男 1-女 2-其他',
age TINYINT(3) UNSIGNED DEFAULT 0 COMMENT '年龄',
score DOUBLE(5, 2) UNSIGNED COMMENT '成绩'
)ENGINE=InnoDB CHARSET=UTF8 COMMENT='学生表';

在这里插入图片描述


查询当前数据库所有表

SHOW TABLES 【查询当前数据库所有表】

mysql> show tables;

在这里插入图片描述


查询表结构

DESC 表名 【查询表结构】
示例:查询数据表 student 的表结构

mysql> desc student;

在这里插入图片描述


查询指定的建表语句

SHOW CREATE TABLE 表名 【查询指定表的建表语句】
示例:查询上述数据表 student 的建表语句

mysql> show create table student;

查询指定的建表语句


如果我的内容对你有帮助,请 点赞 评论 收藏 。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述