SQLite SQL 语法详解与使用示例
需积分: 12 30 浏览量
更新于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 上传
2013-05-24 上传
点击了解资源详情
2023-05-22 上传
2020-12-31 上传
2012-02-07 上传
2011-08-23 上传
sundayedeyeye
- 粉丝: 0
- 资源: 1
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫