# SQLite 语句总结
## 1. CREATE 语句
### 1.1 创建数据库
- **语法**: `sqlite3 .db`
- **功能**: 启动 SQLite 程序并打开指定数据库文件,若文件不存在则创建新数据库。
- **示例**: `sqlite3 shelter.db`
### 1.2 创建表
- **语法**:
```sql
CREATE TABLE (
,
,
...
);
```
- **功能**: 创建指定名称的表,并定义列名及其数据类型。
- **示例**:
```sql
CREATE TABLE pets (
_id INTEGER,
name TEXT,
breed TEXT,
gender INTEGER,
weight INTEGER
);
```
### 1.3 默认值约束
- **语法**:
```sql
CREATE TABLE (
DEFAULT ,
,
...
);
```
- **功能**: 在插入新行时,若未提供值,默认值将被使用。
- **示例**:
```sql
CREATE TABLE headphones (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
price INTEGER,
style INTEGER,
in_stock INTEGER NOT NULL DEFAULT 0,
description TEXT
);
```
## 2. WHERE 子句
- **功能**: 确保仅修改或查询符合指定条件的行。
- **支持语句**: 可与 SELECT、INSERT、UPDATE 或 DELETE 语句结合使用。
- **示例**:
```sql
SELECT * FROM pets WHERE _id = 1;
DELETE FROM pets WHERE _id = ;
```
## 3. ORDER BY 子句
- **语法**:
```sql
SELECT FROM ORDER BY [ASC|DESC];
```
- **功能**: 根据指定列对数据进行升序(ASC)或降序(DESC)排序。
- **示例**:
```sql
SELECT * FROM pets ORDER BY name ASC;
SELECT weight FROM pets ORDER BY name DESC;
```
## 4. SQLite 程序命令(点命令)
- **点命令**用于控制 SQLite 程序,而非 SQL 语句。
- **常用命令**:
- `.header `: 控制显示表头。
- `.help`: 显示帮助菜单。
- `.mode `: 设置输出格式(如 column、csv、list 等)。
## 5. SQLite 关键字
### 5.1 PRIMARY KEY
- **功能**: 确保主键列的唯一性,每张表只能有一个主键。
- **示例**:
```sql
CREATE TABLE headphones (
_id INTEGER PRIMARY KEY,
name TEXT,
price INTEGER,
style INTEGER,
in_stock INTEGER,
description TEXT
);
```
### 5.2 AUTOINCREMENT
- **功能**: 自动为新行生成递增的整数值,常用于自增 ID。
- **示例**:
```sql
CREATE TABLE headphones (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
price INTEGER,
style INTEGER,
in_stock INTEGER,
description TEXT
);
```
### 5.3 NOT NULL
- **功能**: 确保指定列在插入数据时必须提供值。
- **示例**:
```sql
CREATE TABLE headphones (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
price INTEGER,
style INTEGER,
in_stock INTEGER,
description TEXT
);
```
---
以上总结涵盖了 SQLite 的核心语句和关键字,适用于数据库的创建、数据查询与操作。 |