引言SQLite 是一个轻量级的数据库管理系统,它不需要服务器进程,并且支持标准的SQL语法。由于其小巧和易于使用,SQLite 在移动应用、嵌入式系统以及个人项目中非常受欢迎。本文将带领读者从SQL...
SQLite 是一个轻量级的数据库管理系统,它不需要服务器进程,并且支持标准的SQL语法。由于其小巧和易于使用,SQLite 在移动应用、嵌入式系统以及个人项目中非常受欢迎。本文将带领读者从SQLite的基础知识开始,逐步深入到实际应用,通过一系列示例来展示如何使用SQLite实现数据库应用。
SQLite 是一个开源的嵌入式数据库,它使用SQL作为数据存储和检索的语言。由于其体积小、速度快,SQLite 适用于多种平台,包括Windows、Linux、macOS、iOS和Android等。
SQLite 是一个纯C语言编写的库,因此不需要安装。在Windows上,可以从SQLite官网下载预编译的二进制文件。
SQLite 使用.db文件作为数据库文件。以下是一个创建数据库的示例:
CREATE DATABASE mydatabase;在Python中,可以使用sqlite3模块来连接SQLite数据库:
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('mydatabase.db')以下是一个创建表的示例:
CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER
);INSERT INTO users (name, age) VALUES ('Alice', 30);SELECT * FROM users WHERE age > 25;UPDATE users SET age = 31 WHERE name = 'Alice';DELETE FROM users WHERE name = 'Alice';SQLite 支持事务处理,这意味着你可以将多个操作作为一个单一的单元来执行。
BEGIN TRANSACTION;
INSERT INTO users (name, age) VALUES ('Bob', 25);
UPDATE users SET age = 26 WHERE name = 'Alice';
COMMIT;视图是虚拟表,它是由SQL查询定义的。以下是一个创建视图的示例:
CREATE VIEW users_over_30 AS
SELECT * FROM users WHERE age > 30;触发器是在数据表中插入、更新或删除数据时自动执行的SQL语句。
CREATE TRIGGER after_insert
AFTER INSERT ON users
BEGIN -- 执行一些操作
END;在这个案例中,我们将创建一个简单的联系人应用,它包括添加、查看、编辑和删除联系人的功能。
CREATE DATABASE contact_manager;
CREATE TABLE IF NOT EXISTS contacts ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, phone TEXT, email TEXT
);import sqlite3
def add_contact(name, phone, email): conn = sqlite3.connect('contact_manager.db') cursor = conn.cursor() cursor.execute("INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)", (name, phone, email)) conn.commit() conn.close()
add_contact('John Doe', '123-456-7890', 'john@example.com')def view_contacts(): conn = sqlite3.connect('contact_manager.db') cursor = conn.cursor() cursor.execute("SELECT * FROM contacts") for row in cursor.fetchall(): print(row) conn.close()
view_contacts()通过本文的学习,读者应该已经掌握了SQLite的基本操作、高级特性和一些实战案例。SQLite 是一个功能强大的数据库,它可以帮助你轻松实现各种数据库应用。希望本文能够帮助你更好地理解和应用SQLite。