SQLite SQL 语法详解与使用示例
需积分: 12 166 浏览量
更新于2024-09-10
收藏 4KB TXT 举报
"SQLite SQL 使用说明"
SQLite 是一个轻量级的、自包含的数据库引擎,常用于嵌入式系统和个人计算机应用程序。SQLite 支持 SQL(结构化查询语言),这是用于管理和操作数据库的标准语言。在 SQLite 中,你可以创建、查询、更新和删除数据,而无需独立的服务器进程。
1. 数据类型
SQLite 提供了五种基本的数据类型:
- NULL:表示空值,可以是任何类型。
- INTEGER:整型,可以存储从 -9223372036854775808 到 9223372036854775807 的整数。
- REAL:浮点型,通常存储为双精度(8 字节)的 IEEE 754 浮点数。
- TEXT:文本型,用于存储字符串数据,支持 Unicode 编码。
- BLOB:二进制大对象,用于存储任意字节序列,如图片或文件。
2. 创建表
使用 `CREATE TABLE` 语句来创建表,指定列名、数据类型和其他约束。例如:
```sql
CREATE TABLE tab (
a VARCHAR(10), -- 变长字符串,最大长度为 10
b NVARCHAR(15), -- 宽字符变长字符串,最大长度为 15
c TEXT, -- 用于存储长文本
d INTEGER, -- 整数
e FLOAT, -- 浮点数
f BOOLEAN, -- 布尔值
g CLOB, -- 大文本,相当于 TEXT 类型
h BLOB, -- 二进制大对象
i TIMESTAMP, -- 时间戳
j NUMERIC(10,5), -- 数值类型,10 位整数部分,5 位小数部分
k VARYING CHARACTER(24), -- 变长字符,与 VARCHAR 类似
l NATIONAL VARYING CHARACTER(16), // 用于存储宽字符的变长字符串
m REAL -- 实数,8 字节的 IEEE 754 浮点数
);
```
3. 插入数据
使用 `INSERT INTO` 语句向表中插入新记录,如:
```sql
INSERT INTO admin (username, age) VALUES ('song', 25);
```
4. 查询数据
使用 `SELECT` 语句进行数据查询,可选择性地指定列名,或者使用通配符 `*` 获取所有列。例如:
```sql
SELECT * FROM table_name; -- 查询整个表的所有数据
SELECT username FROM admin; -- 仅查询用户名
SELECT DISTINCT field FROM table_name; -- 去重查询
```
5. 删除数据
使用 `DELETE FROM` 语句删除满足特定条件的行,如:
```sql
DELETE FROM admin WHERE username = 'song'; -- 删除 username 为 'song' 的记录
```
6. 更新数据
使用 `UPDATE` 语句修改现有记录,配合 `WHERE` 子句指定更新条件:
```sql
UPDATE admin SET username = 'zhang', age = 24 WHERE username = 'song' AND age = 25;
```
7. 分组、聚合和排序
使用 `GROUP BY` 进行数据分组,`HAVING` 过滤分组后的结果,`ORDER BY` 对结果进行排序:
```sql
SELECT * FROM admin; -- 默认无分组和排序
SELECT * FROM admin ORDER BY id DESC(); -- 按 id 降序排列
SELECT username FROM admin GROUP BY username HAVING COUNT(*) > 1; -- 统计用户名出现次数大于 1 的记录
```
8. 复合查询
使用 `AND`, `OR` 和 `NOT` 逻辑运算符,以及括号 `( )` 进行复杂条件的组合,如:
```sql
SELECT * FROM admin WHERE username = 'song' AND age = 24; -- 查询 username 为 'song' 且 age 为 24 的记录
```
这些是 SQLite SQL 基本的使用说明,涵盖了创建表、插入数据、查询、更新和删除等操作。在实际工作中,根据需求可以组合使用这些语句来完成更复杂的数据库管理任务。
2010-05-13 上传
2021-02-07 上传
2022-09-19 上传
2012-05-19 上传
点击了解资源详情
2023-05-22 上传
2020-12-31 上传
2012-02-07 上传
2011-08-23 上传
sundayedeyeye
- 粉丝: 0
- 资源: 1
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程