1.数据都保存在数据库中的数据表中。
2.这节课学习数据表的相关操作。
3.数据库就好比一个excel表 。一个sheet就相当于一个数据库,excel就相当于一个管理软件。在sheet中添加一个表格,就相当于在数据库中创建一个数据表

MySQL——5.MySQL中支持的数据类型简介_数据

目录


文章目录



#一、什么是表


###1.数据表是数据库最重要的组成部分之一,是其他对象的基础


###2.数据表是存储数据的数据结构


###3.数据表是包含了特定实体类型的数据


###4.数据表是由行(row)和列(culumn)构成的二维网络


###5.数据表一定先有表结构,再有数据(没有数据的被称为空表)


练习一、这就相当于表结构,或者叫做列。数据库中必须有这种表结构,才能有数据。如果没有人报名,就是空表。


MySQL——5.MySQL中支持的数据类型简介_数据库_02


###6.数据表至少有一列,可以没有行或者多行


###7.数据表名称要求唯一,而且不要包含特殊字符


#二、如何创建数据表


##(一)CREATE TABLE[IF NOT EXITS]tbl_name(字段名称 字段类型 [完整性约束条件]…)ENGINE=引擎名称 CHARSET=‘编码方式’;


练习一、字段名称 字段类型 ,以excel为例


MySQL——5.MySQL中支持的数据类型简介_数据库_03


#三、MySQL中的数据类型


##(一)整数类型


数据类型

存储范围

字节

TINYINT

有符号值:-128到127(-27到(-27)-1);无符号值:0到255(0到(2^8)-1)

1

SMALLINT

有符号值:-32768到32767(-215到(215)-1);无符号值:0到65535(0到(2^16)-1)

2

MEDIUMINT

有符号值:-8388608到8388607(-223到(-223)-1);无符号值:0到16777215(0到(2^24)-1)

3

INT

有符号值:-2147683648到2147683647(-231到(-231)-1);无符号值:0到4294967295(0到(2^32)-1)

4

BIGINT

有符号值:-9223372036854775808到9223373036854774807(-263到(263)-1);无符号值:0到18446744073709551615(0到(2^64)-1)

8

BOOL,BOOLEAN

等价于TINYINT(1),0为false,其余为true

1

####练习一、这些数据不需要背,可以查帮助手册(查看数据类型,查看创建数据库)

MySQL——5.MySQL中支持的数据类型简介_数据库_04


MySQL——5.MySQL中支持的数据类型简介_数据_05


MySQL——5.MySQL中支持的数据类型简介_数据类型_06


##(二)浮点类型

浮点数会根据平台的不同,精度也不同

数据类型

存储范围

字节

FLOAT[(M,D)]

负数取值范围为-3.40E+38到-1.17E-38、0和1.175E-38到3.40E+38。M是数字总位数,D是小数点后面的位数。如果M和D被省略,根据硬件允许的限制来保存值。单精度浮点数精确到大约7位小数位

4

DOUBLE[(M,D)]

-1.79E+308到-2.22E-308、0和2.22E-308到1.79E+308

8

DECIMAL[(M,D)]

和DOUBLE一样,内部以字符串形式存储数值

M+2

##(三)字符串类型

列类型

存储需求

CHAR(M)

M个字节,0<=M<=255

VARCHAR(M)

L+1个字节,其中L<=M且0<=M<=65535

TINYTEXT

L+1个字节,其中L<2^5

TEXT

L+2个字节,其中L<2^16

MEDIUMTEXT

L+3个字节,其中L<2^24

LONGTEXT

L+4个字节,其中L<2^32

ENUM(‘value1’,‘value2’,…)

1或2个字节,取决于枚举值的个数(最多65535个值)

SET(‘value1’,‘value2’,…)

1、2、3、4或者8个字节,取决于set成员的数目(最多64个成员)

集合SET(‘value1’,‘value2’,…)和枚举ENUM(‘value1’,‘value2’,…)的区别是集合可以选择多个值
##(四)日期时间类型

列类型

存储范围

存储需求

TIME

-838:59:59~838:59:59

3

DATE

1000-01-01~9999-12-31

3

DATETIME

1000-01-01 00:00:00~9999-12-31 23:59:59

8

TIMESTAMP

1970-01-01 00:00:01 UTC~2038-01-19 03:14:07

4

YEAR

1901~2155

1

##(五)二进制类型(用的比较少)

视频路径

##(六)如何选择合适的数据类型

####练习一、选择合适的数据类型

MySQL——5.MySQL中支持的数据类型简介_数据_07