🗒️Python MySQL数据库3—数据表操作
00 分钟
2024-8-12
2024-8-22
type
status
date
slug
summary
tags
category
icon
password

常见列的类型

在MySQL中,列(字段)的类型有很多,适用于不同的数据存储需求。以下是MySQL中常见的列类型:

1. 整数类型

  • TINYINT:存储非常小的整数,范围为 128127,如果使用 UNSIGNED,范围为 0255
  • SMALLINT:存储小型整数,范围为 32,76832,767,如果使用 UNSIGNED,范围为 065,535
  • MEDIUMINT:存储中等大小的整数,范围为 8,388,6088,388,607,如果使用 UNSIGNED,范围为 016,777,215
  • INTINTEGER:存储常用的整数,范围为 2,147,483,6482,147,483,647,如果使用 UNSIGNED,范围为 04,294,967,295
  • BIGINT:存储非常大的整数,范围为 9,223,372,036,854,775,8089,223,372,036,854,775,807,如果使用 UNSIGNED,范围为 018,446,744,073,709,551,615
 
 

2. 浮点数和定点数类型

  • FLOAT:存储单精度浮点数,精度为 7 位十进制数字。
  • DOUBLEREAL:存储双精度浮点数,精度为 15 位十进制数字。
  • DECIMALNUMERIC:存储定点数,精度和小数位可以由用户定义,非常适合存储精确的金融数据。
 
 

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-019999-12-31
  • TIME:存储时间,格式为 HH:MM:SS,范围为 838:59:59838:59:59
  • DATETIME:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS,范围为 1000-01-01 00:00:009999-12-31 23:59:59
  • TIMESTAMP:存储时间戳,格式为 YYYY-MM-DD HH:MM:SS,范围为 1970-01-01 00:00:01 UTC2038-01-19 03:14:07 UTC,可以记录数据的变更时间。
  • YEAR:存储年,格式为 YYYY,范围为 19012155
 
 

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 Clarkstudent_id 就会被设定为 10,而不是自动递增的值。

总结

使用 INSERT INTO 语句时,你只需要指定那些非自增字段的值,数据库会自动生成主键值(如 student_id)。通过这种方式,可以轻松地向表中添加新记录。
 
 
 

数据表—Python代码操作

 
 
 
 

打赏

如果您觉得我的内容对你有所帮助,不要吝啬你的一键三连!如果你有能力的话也可以通过下面请我喝杯咖啡~金额您随意~如果对文章内容有任何疑问,欢迎加入群组联系我~
notion image
上一篇
Python MySQL数据库2—数据库、数据表管理
下一篇
Python MySQL数据库4—数据行操作(增删改查)