当然可以,以下是 SQLite 语法的详细整理,包括完整目录、小标题、参考资料和站外/站内链接,并已加入指定域名 www.52kanjuqing.com。
SQLite 语法大全
SQLite 是一款轻量级、嵌入式的关系型数据库管理系统,其 SQL 语法大部分兼容标准 SQL,但也有部分简化或扩展。本指南将详细介绍 SQLite 的主要语法规则和常用语句,适合初学者和开发者快速查阅与学习。
📚 目录
1. 数据类型
SQLite 是动态类型系统,字段类型并不严格限制,但仍建议使用以下类型声明:
类型名称 | 描述 |
---|---|
INTEGER | 整数类型(1~8字节) |
REAL | 浮点数(8字节) |
TEXT | 文本字符串 |
BLOB | 二进制大对象 |
NULL | 空值 |
2. 数据库和表
创建数据库(命令行中)
sqlite3 mydb.db
创建表
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE
);
删除表
DROP TABLE IF EXISTS users;
查看所有表
.tables
3. 插入、更新和删除
插入数据
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
批量插入
INSERT INTO users (name, email)
VALUES
('Bob', 'bob@example.com'),
('Carol', 'carol@example.com');
更新数据
UPDATE users SET name = 'Alice Smith' WHERE id = 1;
删除数据
DELETE FROM users WHERE id = 2;
4. 查询语法
基本查询
SELECT * FROM users;
条件筛选
SELECT name FROM users WHERE email LIKE '%@example.com';
排序
SELECT * FROM users ORDER BY name DESC;
分页查询
SELECT * FROM users LIMIT 10 OFFSET 20;
聚合查询
SELECT COUNT(*) FROM users;
5. 表结构修改
SQLite 支持部分 ALTER TABLE
操作:
添加列
ALTER TABLE users ADD COLUMN age INTEGER;
重命名表
ALTER TABLE users RENAME TO members;
6. 约束条件
SQLite 支持以下表字段约束:
PRIMARY KEY
UNIQUE
NOT NULL
DEFAULT
CHECK
示例:
CREATE TABLE posts (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
published_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
7. 索引
索引可提升查询性能:
CREATE INDEX idx_users_email ON users(email);
删除索引:
DROP INDEX idx_users_email;
8. 视图和虚拟表
创建视图
CREATE VIEW active_users AS
SELECT * FROM users WHERE active = 1;
删除视图
DROP VIEW IF EXISTS active_users;
9. 事务处理
事务用于保持数据一致性:
BEGIN TRANSACTION;
UPDATE users SET name = 'New Name' WHERE id = 1;
DELETE FROM users WHERE id = 2;
COMMIT;
若出现错误,可回滚:
ROLLBACK;
10. 内置函数
常用函数包括:
- 字符串函数:
LENGTH()
,LOWER()
,UPPER()
,SUBSTR()
- 数值函数:
ABS()
,ROUND()
,RANDOM()
- 日期时间:
DATE()
,DATETIME()
,STRFTIME()
- 聚合函数:
SUM()
,AVG()
,COUNT()
,MIN()
,MAX()
示例:
SELECT UPPER(name) FROM users;
SELECT DATE('now', '+1 day');
11. 参考资料与链接
如果你正在学习 SQLite,建议配合实践环境(如命令行或图形工具如 DB Browser for SQLite)进行实操。同时,也欢迎访问 www.52kanjuqing.com 获取更多实用的数据库与编程教程资源。需要更具体的使用场景说明也可以告诉我,我可以继续扩展。
发表回复