SQLite是一种轻量级的数据库,它不需要服务器进程,直接集成在应用程序中,因此被广泛应用于移动应用、桌面应用以及各种嵌入式系统。SQLite使用SQL(Structured Query Langua...
SQLite是一种轻量级的数据库,它不需要服务器进程,直接集成在应用程序中,因此被广泛应用于移动应用、桌面应用以及各种嵌入式系统。SQLite使用SQL(Structured Query Language)进行数据查询和操作,下面将详细介绍SQLite数据库的SQL语句精髓,帮助您轻松掌握高效查询与操作技巧。
在SQLite中,首先需要创建一个数据库和一个或多个表来存储数据。
-- 创建数据库
CREATE DATABASE mydatabase;
-- 打开数据库
.open mydatabase
-- 创建表
CREATE TABLE IF NOT EXISTS employees ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER, department TEXT
);使用INSERT语句可以向表中添加数据。
-- 插入数据
INSERT INTO employees (name, age, department) VALUES ('Alice', 30, 'HR');
INSERT INTO employees (name, age, department) VALUES ('Bob', 25, 'Engineering');查询数据是SQL中最常用的操作之一。使用SELECT语句可以检索表中的数据。
-- 查询所有员工信息
SELECT * FROM employees;
-- 查询特定字段
SELECT name, age FROM employees;
-- 查询条件
SELECT * FROM employees WHERE age > 30;使用UPDATE语句可以修改表中的数据。
-- 更新员工信息
UPDATE employees SET age = 31 WHERE name = 'Alice';使用DELETE语句可以从表中删除数据。
-- 删除特定员工信息
DELETE FROM employees WHERE name = 'Bob';SQLite支持多种约束,如主键(PRIMARY KEY)、外键(FOREIGN KEY)、唯一(UNIQUE)等。
-- 创建带有约束的表
CREATE TABLE IF NOT EXISTS departments ( id INTEGER PRIMARY KEY, name TEXT UNIQUE NOT NULL
);
-- 创建外键约束
CREATE TABLE IF NOT EXISTS employee_departments ( employee_id INTEGER, department_id INTEGER, FOREIGN KEY (employee_id) REFERENCES employees(id), FOREIGN KEY (department_id) REFERENCES departments(id)
);聚合函数可以对一组值进行计算,如COUNT、SUM、AVG、MIN、MAX等。
-- 计算员工总数
SELECT COUNT(*) FROM employees;
-- 计算平均年龄
SELECT AVG(age) FROM employees;子查询可以嵌套在其他SQL语句中,用于获取更复杂的数据。
-- 查询部门名称为"Engineering"的员工信息
SELECT * FROM employees WHERE department IN (SELECT name FROM departments WHERE name = 'Engineering');索引可以提高查询效率,特别是在处理大量数据时。
-- 创建索引
CREATE INDEX idx_age ON employees (age);
-- 使用索引查询
SELECT * FROM employees WHERE age > 30;SQLite支持事务,确保数据的一致性和完整性。
-- 开始事务
BEGIN TRANSACTION;
-- 执行多个操作
INSERT INTO employees (name, age, department) VALUES ('Charlie', 28, 'HR');
UPDATE employees SET age = 29 WHERE name = 'Alice';
-- 提交事务
COMMIT;通过以上内容,您已经掌握了SQLite数据库的SQL语句精髓。在实际应用中,不断练习和积累经验,您将能够更加熟练地使用SQLite进行高效的数据查询与操作。