type
status
date
slug
summary
tags
category
icon
password
常见列的类型
在MySQL中,列(字段)的类型有很多,适用于不同的数据存储需求。以下是MySQL中常见的列类型:
1. 整数类型
TINYINT
:存储非常小的整数,范围为128
到127
,如果使用UNSIGNED
,范围为0
到255
。
SMALLINT
:存储小型整数,范围为32,768
到32,767
,如果使用UNSIGNED
,范围为0
到65,535
。
MEDIUMINT
:存储中等大小的整数,范围为8,388,608
到8,388,607
,如果使用UNSIGNED
,范围为0
到16,777,215
。
INT
或INTEGER
:存储常用的整数,范围为2,147,483,648
到2,147,483,647
,如果使用UNSIGNED
,范围为0
到4,294,967,295
。
BIGINT
:存储非常大的整数,范围为9,223,372,036,854,775,808
到9,223,372,036,854,775,807
,如果使用UNSIGNED
,范围为0
到18,446,744,073,709,551,615
。
2. 浮点数和定点数类型
FLOAT
:存储单精度浮点数,精度为 7 位十进制数字。
DOUBLE
或REAL
:存储双精度浮点数,精度为 15 位十进制数字。
DECIMAL
或NUMERIC
:存储定点数,精度和小数位可以由用户定义,非常适合存储精确的金融数据。
3. 字符和文本类型
CHAR
:存储定长字符串,最大长度为 255 字符。
VARCHAR
:存储变长字符串,最大长度为 65,535 字符(受行长度限制)。
TEXT
:存储长文本数据,分为以下几种:TINYTEXT
:最大长度为 255 字符。TEXT
:最大长度为 65,535 字符。MEDIUMTEXT
:最大长度为 16,777,215 字符。LONGTEXT
:最大长度为 4,294,967,295 字符。
4. 日期和时间类型
DATE
:存储日期,格式为YYYY-MM-DD
,范围为1000-01-01
到9999-12-31
。
TIME
:存储时间,格式为HH:MM:SS
,范围为838:59:59
到838:59:59
。
DATETIME
:存储日期和时间,格式为YYYY-MM-DD HH:MM:SS
,范围为1000-01-01 00:00:00
到9999-12-31 23:59:59
。
TIMESTAMP
:存储时间戳,格式为YYYY-MM-DD HH:MM:SS
,范围为1970-01-01 00:00:01 UTC
到2038-01-19 03:14:07 UTC
,可以记录数据的变更时间。
YEAR
:存储年,格式为YYYY
,范围为1901
到2155
。
5. 布尔类型
BOOLEAN
:实际上是TINYINT(1)
的一种伪装,用于存储0
(假)和1
(真)。
6. 二进制类型
BINARY
:存储定长二进制数据,最大长度为 255 字节。
VARBINARY
:存储变长二进制数据,最大长度为 65,535 字节。
BLOB
:用于存储二进制大对象,分为以下几种:TINYBLOB
:最大长度为 255 字节。BLOB
:最大长度为 65,535 字节。MEDIUMBLOB
:最大长度为 16,777,215 字节。LONGBLOB
:最大长度为 4,294,967,295 字节。
7. 枚举和集合类型
ENUM
:枚举类型,允许定义一组字符串值,并强制列数据为这些值之一。
SET
:集合类型,允许定义一组字符串值,并且列数据可以是这些值的任何组合。
8. JSON类型
JSON
:用于存储JSON格式的数据,支持直接查询和操作。
这些类型帮助开发者根据数据的特性选择最合适的存储方式,提高数据的存储效率和查询性能。
表插入数据
向一个表中插入数据可以使用
INSERT INTO
语句。下面是如何向前面创建的 students
表中插入数据的示例。假设的 students
表结构
插入数据的基本语法
向 students
表插入数据
由于
student_id
是一个自增字段,我们不需要在插入时提供它的值。数据库会自动为每个新插入的记录生成唯一的 student_id
。插入数据后表的内容
假设这是表中的插入数据顺序,插入后的表内容可能如下所示:
student_id | first_name | last_name |
1 | Alice | Johnson |
2 | Bob | Smith |
3 | Carol | Williams |
批量插入数据
你还可以一次插入多行数据:
执行上述语句后,
students
表的内容将增加这三条记录。插入时指定所有列
虽然
student_id
是自增的,但你也可以在插入数据时显式指定所有列的值,包括 student_id
。不过这种操作通常只有在特定情况下才需要,比如从一个旧系统导入数据,并且需要保留原始的 student_id
。这样,
George Clark
的 student_id
就会被设定为 10
,而不是自动递增的值。总结
使用
INSERT INTO
语句时,你只需要指定那些非自增字段的值,数据库会自动生成主键值(如 student_id
)。通过这种方式,可以轻松地向表中添加新记录。数据表—Python代码操作
打赏
如果您觉得我的内容对你有所帮助,不要吝啬你的一键三连!如果你有能力的话也可以通过下面请我喝杯咖啡~金额您随意~如果对文章内容有任何疑问,欢迎加入群组联系我~
- 作者:Don Mark
- 链接:null/article/a8435b05-2d01-4b0d-9b61-8748a7f87216
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。