📅  最后修改于: 2023-12-03 14:47:39.664000             🧑  作者: Mango
SQLite 是一个轻量级的关系型数据库,常用于移动应用、小型网站和嵌入式系统中。在 SQLite 中,每个字段都有一个数据类型,它决定了该字段能够存储的数据类型。SQLite 中的数据类型与 Python 中的数据类型有很大的相似性。本文将介绍 SQLite 中的数据类型及其对应的 Python 类型。
SQLite 中的整数类型包括 INTEGER
, INT
, TINYINT
, SMALLINT
, MEDIUMINT
, 和 BIGINT
。这些整数类型都可以存储包括负数在内的整数。
在 Python 中,整数类型对应的是 int
类型。
SQLite 中的浮点数类型包括 REAL
, DOUBLE
, 和 FLOAT
。这些浮点数类型可以存储小数点前后的数字。
在 Python 中,浮点数类型对应的是 float
类型。
SQLite 中的字符串类型包括 CHAR
, VARCHAR
, VARYING CHARACTER
, NCHAR
, NATIVE CHARACTER
, TEXT
, 和 CLOB
。这些字符串类型都可以存储文本数据。
在 Python 中,字符串类型对应的是 str
类型。
SQLite 中的日期类型包括 DATE
, DATETIME
, 和 TIMESTAMP
。这些日期类型可以存储日期和时间数据。
在 Python 中,日期类型对应的是 datetime
类型。
SQLite 中的布尔类型包括 BOOLEAN
, BOOL
, 和 BIT
。这些布尔类型可以存储 true
和 false
。
在 Python 中,布尔类型对应的是 bool
类型。
SQLite 中的 BLOB 类型可以存储二进制数据。
在 Python 中,二进制数据对应的是 bytes
类型。
import sqlite3
import datetime
# 连接到 SQLite 数据库
conn = sqlite3.connect('example.db')
# 创建表
conn.execute('''CREATE TABLE EXAMPLE
(ID INTEGER PRIMARY KEY,
NAME TEXT NOT NULL,
AGE INTEGER,
WEIGHT FLOAT,
BIRTHDATE DATE,
IS_ACTIVE BOOLEAN,
PHOTO BLOB)''')
# 插入数据
birthdate = datetime.date(2000, 1, 1)
photo = b'\x00\x01\x02\x03\x04'
conn.execute("INSERT INTO EXAMPLE (NAME, AGE, WEIGHT, BIRTHDATE, IS_ACTIVE, PHOTO) \
VALUES (?, ?, ?, ?, ?, ?)",
('John Doe', 30, 70.5, birthdate, True, photo))
# 查询数据
result = conn.execute("SELECT * from EXAMPLE")
for row in result:
print(row)
# 关闭连接
conn.close()
这段代码演示了在 Python 中如何连接到 SQLite 数据库,创建表,插入数据和查询数据。在这个例子中,我们使用了所有的 SQLite 数据类型。