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

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

这里写图片描述

目录

一、什么是表

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

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

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

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

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

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

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

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

二、如何创建数据表

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

练习一、字段名称 字段类型 ,以excel为例
这里写图片描述

三、MySQL中的数据类型

(一)整数类型

数据类型 存储范围 字节
TINYINT 有符号值:-128到127(-2^7到(-2^7)-1);无符号值:0到255(0到(2^8)-1) 1
SMALLINT 有符号值:-32768到32767(-2^15到(2^15)-1);无符号值:0到65535(0到(2^16)-1) 2
MEDIUMINT 有符号值:-8388608到8388607(-2^23到(-2^23)-1);无符号值:0到16777215(0到(2^24)-1) 3
INT 有符号值:-2147683648到2147683647(-2^31到(-2^31)-1);无符号值:0到4294967295(0到(2^32)-1) 4
BIGINT 有符号值:-9223372036854775808到9223373036854774807(-2^63到(2^63)-1);无符号值:0到18446744073709551615(0到(2^64)-1) 8
BOOL,BOOLEAN 等价于TINYINT(1),0为false,其余为true 1

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

这里写图片描述
这里写图片描述
这里写图片描述

(二)浮点类型

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

数据类型 存储范围 字节
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

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

视频路径

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

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

这里写图片描述

猜你喜欢

转载自blog.csdn.net/zhaiyujia15195383763/article/details/82686265