SQLite 是一个轻量级、嵌入式的关系型数据库管理系统,广泛应用于移动设备、桌面应用程序和小型服务器,本文将详细介绍如何创建和使用 SQLite 数据库。
1. SQLite 简介
SQLite 是一种 C 语言库,它实现了一个小型、快速、自给自足的 SQL 数据库引擎,与其他数据库系统相比,SQLite 不需要单独的服务器进程,可以直接嵌入到应用程序中。
特点
零配置:无需安装和管理配置。
单一文件:整个数据库存储在一个单一的跨平台文件中。
完整 SQL 支持:支持大部分 SQL92 标准。
事务性:支持 ACID 事务。
并发访问:支持多线程和多进程访问。
2. 安装 SQLite
SQLite 通常作为库文件分发,因此安装过程非常简单,以下是一些常见操作系统上的安装步骤。
Windows
1、下载 SQLite 预编译二进制文件(DLL)[官方链接](https://www.sqlite.org/download.html)。
2、解压并将sqlite3.dll
文件放在你的应用程序目录或系统路径中。
macOS
使用 Homebrew 安装:
brew install sqlite
Linux
使用包管理器安装:
sudo apt-get install sqlite3 # Debian/Ubuntu sudo yum install sqlite # CentOS/RHEL
3. 创建 SQLite 数据库
在 SQLite 中,创建一个新数据库非常简单,可以使用命令行工具或者编程语言接口。
使用命令行工具
打开终端或命令提示符,输入以下命令:
sqlite3 mydatabase.db
这将创建一个名为mydatabase.db
的新数据库文件,如果文件已存在,它将打开现有数据库。
使用 Python 接口
Python 提供了内置的sqlite3
模块来操作 SQLite 数据库,以下是一个示例代码:
import sqlite3 连接到 SQLite 数据库(如果不存在则创建) conn = sqlite3.connect('mydatabase.db') 创建一个游标对象 cursor = conn.cursor() 创建表 cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER NOT NULL ) ''') 提交事务 conn.commit() 关闭连接 conn.close()
4. 基本操作
插入数据
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 插入单条记录 cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30)) 插入多条记录 users = [('Bob', 25), ('Charlie', 35)] cursor.executemany("INSERT INTO users (name, age) VALUES (?, ?)", users) conn.commit() conn.close()
查询数据
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 查询所有记录 cursor.execute("SELECT * FROM users") rows = cursor.fetchall() for row in rows: print(row) 根据条件查询 cursor.execute("SELECT * FROM users WHERE age > ?", (30,)) rows = cursor.fetchall() for row in rows: print(row) conn.close()
更新数据
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 更新记录 cursor.execute("UPDATE users SET age = ? WHERE name = ?", (36, 'Alice')) conn.commit() conn.close()
删除数据
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 删除记录 cursor.execute("DELETE FROM users WHERE name = ?", ('Bob',)) conn.commit() conn.close()
5. SQLite 数据类型
SQLite 使用动态类型系统,这意味着你可以存储任何类型的数据在任何列中,但推荐使用适当的数据类型以提高性能和可读性,常见的数据类型包括:
INTEGER
:整数。
REAL
:浮点数。
TEXT
:字符串文本。
BLOB
:二进制大对象。
NULL
:空值。
6. 事务管理
SQLite 支持事务,确保数据的一致性和完整性,默认情况下,SQLite 在每次执行 SQL 语句时都会自动提交更改,你可以通过BEGIN
和COMMIT
手动管理事务。
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 开始事务 conn.execute("BEGIN") try: cursor.execute("DELETE FROM users WHERE age < ?", (30,)) cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('David', 28)) conn.commit() # 提交事务 except Exception as e: conn.rollback() # 回滚事务 finally: conn.close()
7. SQLite 索引和性能优化
为了提高查询速度,可以在列上创建索引,索引可以加速查找和排序操作,但会占用额外的磁盘空间。
conn = sqlite3.connect('mydatabase.db') cursor = conn.cursor() 创建索引 cursor.execute("CREATE INDEX idx_users_name ON users (name)") conn.commit() conn.close()
相关问题与解答栏目
问题1:如何在 SQLite 中备份数据库?
答:可以通过复制数据库文件来备份 SQLite 数据库,在 Unix 系统中可以使用以下命令:
cp mydatabase.db mydatabase_backup.db
问题2:如何在 SQLite 中恢复数据库?
答:恢复数据库同样简单,只需将备份文件复制回原位置并重命名即可。
cp mydatabase_backup.db mydatabase.db
以上内容就是解答有关“as创建sqlite数据库”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/646498.html