【基础】查询SQLite数据库:基础SQL语句介绍
发布时间: 2024-06-27 09:56:10 阅读量: 69 订阅数: 112
![【基础】查询SQLite数据库:基础SQL语句介绍](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL3N6X21tYml6X3BuZy9Bb2xrWGZpYzlsZElaZHZDUmJzanlaMFJkNEQxaWFOU2lhVWI3eTZYY2Y3QmhvYTdoR0Vjbm5ZWW1OS0VIZlhITTFLMllDMHNHUGNKOUhINFAxMklLUTFRUS82NDA?x-oss-process=image/format,png)
# 1. SQLite数据库基础**
SQLite是一个轻量级、无服务器的数据库,广泛用于移动设备、嵌入式系统和桌面应用程序中。它以其紧凑的尺寸、快速性能和易于使用而闻名。
SQLite数据库使用单个文件存储所有数据,包括表、索引和触发器。这种文件格式使SQLite成为资源受限环境的理想选择,因为它不需要复杂的服务器配置或数据库管理系统(DBMS)。
SQLite支持标准的SQL语法,包括数据定义语言(DDL)和数据操作语言(DML)。这使得开发者可以使用熟悉的SQL命令来创建、管理和查询数据库。
# 2. SQL语句基础
### 2.1 数据定义语言(DDL)
#### 2.1.1 CREATE TABLE
**语法:**
```sql
CREATE TABLE table_name (
column_name data_type [NOT NULL] [PRIMARY KEY] [AUTOINCREMENT]
);
```
**参数说明:**
* **table_name:**表名
* **column_name:**列名
* **data_type:**列的数据类型(如 INTEGER、TEXT、REAL)
* **NOT NULL:**指定该列不允许为空
* **PRIMARY KEY:**指定该列为主键
* **AUTOINCREMENT:**指定该列为自增主键
**代码块:**
```sql
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE
);
```
**逻辑分析:**
该代码创建了一个名为 `users` 的表,其中包含三个列:
* `id`:自增主键,用于唯一标识每行
* `name`:非空文本字段,用于存储用户姓名
* `email`:非空文本字段,并指定了 UNIQUE 约束,确保每个电子邮件地址只出现一次
#### 2.1.2 ALTER TABLE
**语法:**
```sql
ALTER TABLE table_name
ADD COLUMN column_name data_type [NOT NULL] [DEFAULT default_value];
```
**参数说明:**
* **table_name:**表名
* **column_name:**新列名
* **data_type:**新列的数据类型
* **NOT NULL:**指定该列不允许为空
* **DEFAULT default_value:**指定新列的默认值
**代码块:**
```sql
ALTER TABLE users ADD COLUMN age INTEGER DEFAULT 18;
```
**逻辑分析:**
该代码向 `users` 表中添加了一个名为 `age` 的新列,数据类型为 INTEGER,并指定了默认值为 18。这意味着如果在插入新行时未指定 `age` 值,则该列将自动设置为 18。
### 2.2 数据操作语言(DML)
#### 2.2.1 INSERT
**语法:**
```sql
INSERT INTO table_name (column_name1, column_name2, ...)
VALUES (value1, value2, ...);
```
**参数说明:**
* **table_name:**表名
* **column_name1, column_name2, ...:**要插入数据的列名
* **value1, value2, ...:**要插入的数据值
**代码块:**
```sql
INSERT INTO users (name, email, age)
VALUES ('John Doe', 'john.doe@
```
0
0