sqllite基本语法
时间: 2025-01-02 10:34:34 浏览: 6
### SQLite 基本语法教程
#### 创建数据库和表格
为了创建一个新的数据库并定义结构,SQLite 使用 SQL 语句来完成这些任务。下面是一个简单的例子展示如何创建一个名为 `example.db` 的数据库文件以及其中的一个表。
```sql
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INT
);
```
这段代码会检查是否存在名为 `users` 的表;如果没有,则创建它,并设置字段及其属性[^1]。
#### 插入数据到表中
一旦有了表之后就可以往里面插入新纪录:
```sql
INSERT INTO users (name, age) VALUES ('Alice', 30),('Bob', 25);
```
这行SQL语句向 `users` 表添加两条记录,每条记录包含姓名 (`name`) 和年龄 (`age`) 字段的数据[^5]。
#### 更新现有数据
更新已存在的记录可以通过 UPDATE 语句实现:
```sql
UPDATE users SET age = 26 WHERE name = 'Bob';
```
此命令修改名字为 "Bob" 用户的年龄值为26岁。
#### 删除特定条件下的记录
DELETE 可以用来移除符合条件的一行或多行数据:
```sql
DELETE FROM users WHERE name = 'Alice';
```
这条指令将会删除所有名称等于"Alice"的用户信息。
#### 数据检索与查询优化
对于从数据库读取信息而言,SELECT 是最常用的命令之一。它可以配合其他子句如WHERE、ORDER BY等一起使用来进行更精确的结果筛选。
```sql
SELECT * FROM users;
```
上述代码返回 `users` 表中的全部列(`*`)的所有行。而如果我们只关心某些具体列的话则可以直接指定它们的名字而不是用通配符(*)代替。
另外,在处理大型数据集时,合理利用索引来加速查询过程是非常重要的。然而需要注意的是并非任何时候都适合建立索引——比如在一个频繁更改的小型表上维护索引反而可能导致额外开销增加而非减少访问时间[^4]。
#### 时间和日期管理
尽管 SQLite 并不具备专门针对时间和日期类型的储存类别,但它支持通过三种不同形式保存这类信息:TEXT(ISO8601字符串),REAL(Julian日历天数浮点数表示法),INTEGER(Unix纪元秒级计数)[^3]。
例如,我们可以像这样插入带有时间戳的新记录:
```sql
INSERT INTO events (event_time) VALUES(datetime('now'));
```
这里 datetime() 函数被调用来获取当前系统时间作为新的事件发生时刻存入 `events` 表内的 event_time 列里。
阅读全文