MySQL数据库基础二 数据类型与SQL语言分类

数据库的数据类型非常丰富,可以满足不同的数据描述和约束要求。根据不同的情况和需求,数据库可以采用不同的数据类型。以下是一些常见的数据类型:

1. 整数类型:包括BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、INT、BIG INT等。这些类型用于存储整数值,其中BIT通常用于存储位值,BOOL用于存储布尔值。
2. 浮点数类型:包括FLOAT、DOUBLE、DECIMAL等。这些类型用于存储浮点数,其中FLOAT用于存储单精度浮点数,DOUBLE用于存储双精度浮点数,DECIMAL用于存储高精度的十进制数。
3. 字符串类型:包括CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB等。这些类型用于存储字符串,其中CHAR用于存储定长字符串,VARCHAR用于存储变长字符串,TEXT用于存储较长的文本数据,BLOB用于存储二进制数据。
4. 二进制数据类型:包括BINARY、VARBINARY、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB等。这些类型用于存储二进制数据,其中BINARY和VARBINARY用于存储定长和变长的二进制数据,BLOB用于存储较大的二进制数据。
5. 日期和时间类型:包括DATE、TIME、DATETIME、TIMESTAMP等。这些类型用于存储日期和时间相关的数据。

 

 

日期和时间类型

数据类型描述示例值
DATE 表示日期,格式为'YYYY-MM-DD'(3个字节) '2023-07-18'
TIME 表示时间,格式为'HH:MM:SS'(3个字节) '12:34:56'
DATETIME 表示日期和时间,包括日期和时间两部分,格式为'YYYY-MM-DD HH:MM:SS'(8个字节) '2023-07-18 12:34:56'
TIMESTAMP 表示时间戳,是一个从1970年1月1日00:00:00 UTC到当前时间的秒数,格式为'YYYY-MM-DD HH:MM:SS'(4个字节) '2023-07-18 12:34:56'

这些数据类型用于在数据库中存储日期和时间相关的数据。DATE类型用于存储日期,不包括具体的时间信息;TIME类型用于存储时间,不包括具体的日期信息;DATETIME类型同时存储日期和时间信息,可以表示具体的日期和时间;TIMESTAMP类型也同时存储日期和时间信息,但它与DATETIME类型有一些区别。

整数类型

数据类型描述示例值
TINYINT 非常小的整数类型,通常用于存储有限的值,取值范围在 -128 到 127 之间(1个字节) 10
SMALLINT 较小的整数类型,通常用于存储有限的整数值,取值范围在 -32768 到 32767 之间(2个字节) 3000
MEDIUMINT 中等大小的整数类型,通常用于存储有限的整数值,取值范围在 -8388608 到 8388607 之间(3个字节) -50000
INT 标准的整数类型,通常用于存储有限的整数值,取值范围在 -2147483648 到 2147483647 之间(4个字节) 1000000
BIGINT 非常大的整数类型,通常用于存储非常大的整数值,取值范围在 -9223372036854775808 到 9223372036854775807 之间(8个字节) 9223372036854775808

这些整数类型用于在数据库中存储整数值。它们有不同的取值范围和用途,可以根据具体需求选择合适的数据类型。其中,TINYINT是最小的整数类型,取值范围较小;SMALLINT、MEDIUMINT和INT是较常用的整数类型;而BIGINT是最大的整数类型,可以存储非常大的整数值。

浮点数类型

数据类型描述示例值
FLOAT 用于存储单精度浮点数,可以存储有限的精确值,取值范围在大约±3.4 * 10^38之间(4个字节) 3.14159
DOUBLE 用于存储双精度浮点数,可以存储更精确的值,取值范围在大约±1.8 * 10^308之间(8个字节) 3.141592653589793
REAL 用于存储实数,是FLOAT和DOUBLE类型的子集,具体取决于具体的数据库系统 3.14159

浮点数类型用于在数据库中存储浮点数值。它们可以存储有限的精确值或更精确的值。不同的数据库系统可能有不同的浮点数类型,具体取决于该系统的实现。

FLOAT类型用于存储单精度浮点数,可以存储有限的精确值,取值范围在大约±3.4 * 10^38之间。这是一个相对较小的取值范围,但对于大多数常规计算来说已经足够。

DOUBLE类型用于存储双精度浮点数,可以存储更精确的值,取值范围在大约±1.8 * 10^308之间。这是一个非常大的取值范围,可以用于处理非常大或非常小的数值。

REAL类型是FLOAT和DOUBLE类型的子集,具体取决于具体的数据库系统。它可以用于存储实数,具有适当的精度和范围。

字符串类型

数据类型描述示例值
CHAR 定长字符串类型,用于存储固定长度的字符序列,不足指定长度时自动用空格填充(最多255个字符) 'HELLO'
VARCHAR 变长字符串类型,用于存储可变长度的字符序列,长度根据实际内容决定(最多65535个字符) '数据库'
TEXT 用于存储大量的文本数据,可以存储超过CHAR和VARCHAR类型的长度限制的文本 '这是一个长文本'
BINARY 定长二进制字符串类型,用于存储二进制数据,长度根据实际内容决定 0x01020304
VARBINARY 变长二进制字符串类型,用于存储可变长度的二进制数据,长度根据实际内容决定 0x0102030405060708
BLOB 用于存储大量的二进制数据,可以存储超过CHAR和VARCHAR类型的长度限制的二进制数据 0x01020304...

字符串类型用于在数据库中存储字符序列数据。它们包括定长字符串类型、变长字符串类型、二进制字符串类型等。

CHAR类型是定长字符串类型,用于存储固定长度的字符序列。如果实际内容不足指定长度,会自动用空格填充。

VARCHAR类型是变长字符串类型,用于存储可变长度的字符序列。它的长度可以根据实际内容决定,不会自动用空格填充。

TEXT类型用于存储大量的文本数据,可以存储超过CHAR和VARCHAR类型的长度限制的文本。

BINARY类型是定长二进制字符串类型,用于存储二进制数据。它的长度可以根据实际内容决定,不会自动用空格填充。

VARBINARY类型是变长二进制字符串类型,用于存储可变长度的二进制数据。它的长度可以根据实际内容决定,不会自动用空格填充。

BLOB类型用于存储大量的二进制数据,可以存储超过CHAR和VARCHAR类型的长度限制的二进制数据。

SQL语言分类

SQL语言分类作用
数据查询语言DQL(数据库查询语言) 用于查询数据库中的数据,包括SELECT、WHERE等子句
数据操纵语言DML(数据库操作语言) 用于对数据库进行插入、更新、删除等操作,包括INSERT、UPDATE、DELETE等语句
数据定义语言DDL(数据库定义语言) 用于定义数据库中的表、视图、索引、同义词、聚簇等对象,包括CREATE TABLE、CREATE VIEW、CREATE INDEX等语句
数据控制语言DCL(数据库控制语言) 用于控制数据库的访问权限、事务发生时间及效果、监视等,包括GRANT、REVOKE等语句

posted @ 2023-08-21 20:20  乐瓜乐虫  阅读(36)  评论(0编辑  收藏  举报