SQLite 简介学习笔记
SQLite 是一款轻型、嵌入式的关系型数据库管理系统,它采用 ANSI-C 语言编写,拥有自包含、零配置、单文件、高性能等优点,并且广泛应用于移动设备和嵌入式系统中。本文将会介绍 SQLite 的基本特点、常用操作和使用示例。
特点
-
零配置:不需要单独的服务器或者进程,只需要在应用程序中引入 SQLite 库即可。
-
自包含:一个 SQLite 数据库就是一个独立的文件,方便移植和备份。
-
轻型:SQLite 的核心代码库不到500KB,运行时内存占用小。
-
单用户:SQLite 不支持多用户并发访问,适合于单用户或者轻量级应用。
-
支持 SQL92 标准语法:SQLite 支持 ANSI-SQL 标准语法,可以与大部分 SQL 数据库兼容。
常用操作
创建表
创建表需要指定表名、列名和列的数据类型。
Copy CodeCREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
);
例如:
Copy CodeCREATE TABLE student (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT
);
插入数据
插入数据需要指定表名和列的值。
Copy CodeINSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
例如:
Copy CodeINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 18, '男');
INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 19, '女');
查询数据
查询数据需要指定表名和查询条件。
Copy CodeSELECT 列1, 列2, ... FROM 表名 WHERE 条件;
例如:
Copy CodeSELECT id, name, gender FROM student WHERE age > 18;
更新数据
更新数据需要指定表名、更新的列和更新条件。
Copy CodeUPDATE 表名 SET 列1=值1, 列2=值2, ... WHERE 条件;
例如:
Copy CodeUPDATE student SET name='王五', age=20 WHERE id=1;
删除数据
删除数据需要指定表名和删除条件。
Copy CodeDELETE FROM 表名 WHERE 条件;
例如:
Copy CodeDELETE FROM student WHERE age < 18;
示例
下面是一个简单的使用 SQLite 的 Python 示例,用于创建一个学生信息表、插入数据、查询数据并输出结果。
pythonCopy Codeimport sqlite3
# 创建连接和游标
conn = sqlite3.connect('test.db')
c = conn.cursor()
# 创建表
c.execute('''CREATE TABLE student (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER,
gender TEXT
)''')
# 插入数据
c.execute("INSERT INTO student (id, name, age, gender) VALUES (?, ?, ?, ?)", (1, '张三', 18, '男'))
c.execute("INSERT INTO student (id, name, age, gender) VALUES (?, ?, ?, ?)", (2, '李四', 19, '女'))
# 查询数据
c.execute("SELECT id, name, gender FROM student WHERE age > ?", (18,))
for row in c:
print(row)
# 提交更改并关闭连接
conn.commit()
conn.close()
输出结果为:
Copy Code(2, '李四', '女')