MySQL——数据类型建表

发布时间:2026/11/5 8:02:05
MySQL——数据类型建表

1.数据类型

1.1数值类型

数值类型分为整型和浮点型

数据类型大小说明对应java类型
BIT[(M)]

M在指定位

数,默认

为1

二进制数M范围从1到64

存储数值范围从0到2^M-1

常用Boolean对应BIT,此时

默认是一位,即只能存0和1

TINYINT1字节Byte
SMALLINT2字节Short
INT4字节Integer
BIGINT8字节Long
FLOAT(M,D)4字节

单精度,M指定长度,D指定

小数位数。会发生精度丢失

Float

DOUBLE(M,

D)

8字节Double

DECIMAL(M,

D)

M/B的最大

值+2

双精度,M指定长度,D表示

小数点位数。精确数值

BigDecimal

NUMERIC(M,

D)

M/B的最大

值+2

和DECIMAL一样BigDecimal

如果省略M默认值为10,如果省略D默认为0,M中不计算小数和负数的,如果D为0,则具体的值不保存小数和小数点部分(就是保存一个整数)

FLOAT和DOUBLE类型在表示小数时表示特别精准,所以一般用DECIMAL来表

示小数,DECIMAL M最大为65,D最大为30

一般用DECIMAL表示金额但是在一些系统中会使用INT把单位改为分。

尽量不要使用UNSIGNED为了保存更多内容可以自设计时就要用更大的数据类型。

1.2字符串类型

数据类型大小说明对应java类型
VARCHAR0-65535字节可变长度字符串String
TEXT0-65535字节长文本数据String
MEDIUMTEXT0-16777215字节中等长度文本数据String
BLOB0-65535字节二进制形式长文本数据byte[]

一般在数据中,不建议存储文件,而是把文件存在磁盘上,在数据库相应的字段中保存储存的文件路径,在查询文件时,先从数据库中找到文件路径,再去根据文件路径在磁盘上加载或返回具体真实文件。

文本文件:人类可以直接看懂的文件,记事本中的日记,配置文件,Java源文件。

二进制文件:我们可以用文本编辑器打开的文件,里面是一团乱码,这些文件只有计算机可以看懂,一般称为二进制文件。

1.3日期类型

数据类型大小说明对应Java类型
DATETIME8字节范围从1000年到9999年,不会进行时区的检索和转换。

java.util.Data,

java.sql.Timestamp

TIMSTAMP4字节范围从1970年到2038年,自动检索当前时区并转换。

java.util.Data,

java.sql.Timestamp

TIMESTAMP从1970年开始,MySQL是以毫秒去计时的,所以到2038年就截止了。

2.表操作

创建数据库之后,就要在数据库创建表,表中存储的数据记录由一条一条列组成;

要创建表时,先要选择要操作的数据库use 数据库名

2.1创建表

CREATE TABLE table_name(

field1 datatype,

field2 datatype,

field3 datatype

);

可以使用comment添加字段说明(每个字段都可以)

注意:最后一个字段后没有逗号,字段的定义在小括号里包起来,以分号结尾;

示例:创建一个名字为student的学生表,表中只含有两个字段,id表示编号,name表示姓名,长度50

建议每张表都要设计一个编号字段,数据类型为bigint

varchar的长度记得写,长度由实际工作中根据详细设计文档中的描述

2.2查看表结构

desc 表名;

示例:调出表student

Field:表中的字段

Tybe:字段的数据类型

Null:当前字段是否允许为Null

Default:当前默认值,什么都没有时是Null

Extra:其他的一些扩展

创建表中加检验是否为

CREATE TABLE IF NOT EXISTS (

字段 数据类型

);

示例:

和之前创建数据库写法是一样的,如果表已经存在就生成一个警告信息:

2.3删除数据库

语法格式:

DROP [TEMPORARY] TABLE E[ IF EXISTS ] tbl_name [tbl_name1,tbl_name2....];

TEMPORARY 表示的是用户自己创建的临时表,

一条drop语句可以删除很多个表,每个表之间用逗号隔开。

java001表示数据库名,test表示数据表名,数据库名.数据表名表示一张表在MySQL中的完整路径

注意:数据表删除很难发现,其危害不亚于删除数据库,一定要小心!!!

如果有错误可以评论,我会改正,因为我也是真在学习,帮到你了给我单个赞,谢谢了。