数据库涉及到创建、增、删、改、查
关键字 | 含义 |
---|---|
CREATE TABLE | 创建表 |
INSERT INTO | 插入一条数据 |
UPDATE | 修改一条数据 |
DELETE FROM | 删除一条数据 |
SELECT | 获取一条数据 |
创建数据表
关键字:CREATE TABLE
CREATE TABLE [数据库名.]表名(
字段名称1 字段类型 字段约束,
字段名称2 字段类型 字段约束,
字段名称3 字段类型 字段约束,
字段名称4 字段类型 字段约束,
… …
分组约束1,
分组约束2,
… …
);
CREATE TABLE 是告诉数据库系统创建一个新表的关键字。CREATE TABLE 语句后跟着表的唯一的名称或标识
字段约束:
约束是在表的数据列上强制执行的规则。这些是用来限制可以插入到表中的数据类型。这确保了数据库中数据的准确性和可靠性。
约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。
以下是在 SQLite 中常用的约束。
关键字 | 含义 |
---|---|
NOT NULL 约束 | 确保某列不能有 NULL 值 |
DEFAULT 约束 | 当某列没有指定值时,为该列提供默认值 |
UNIQUE 约束 | 确保某列中的所有值是不同的 |
PRIMARY Key 约束 | 唯一标识数据库表中的各行/记录 |
**CHECK **约束 | CHECK 约束确保某列中的所有值满足一定条件 |
重点说明:
SQLite 的 NULL 是用来表示一个缺失值的项。表中的一个 NULL 值是在字段中显示为空白的一个值。
带有 NULL 值的字段是一个不带有值的字段。NULL 值与零值或包含空格的字段是不同的,理解这点是非常重要的
--创建一张表-
//CHECK 约束,如果条件为false,则违反了约束
CREATE TABLE IF NOT EXISTS "T_Person" (
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"name" text,
"age" integer CHECK(age > 0),
"height" real
)
执行结果:
插入数据
关键字:INSERT INTO
SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行。
INSERT INTO基本的语法
INSERT INTO 表名 (列1、列2、列3、......列N) VALUES (值1、值2、值3、......值N)
代码如下:
//1 创建插入语句
let sql = "INSERT INTO T_Person (name, age, height) VALUES ('\\(name!)', \\(age), \\(height))"
执行结果:
更新或者修改数据
关键字: UPDATE
SQLite 的 UPDATE 查询用于修改表中已有的记录。可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新。
基本语法:
UPDATE 表名
SET 列1 = 值1, 列2 = 值2...., 列N = 值N
WHERE [条件];
代码如下:
let sql =
"UPDATE T_Person
SET name = '\\(name!)', age = \\(age), height = \\(height)
WHERE id = \\(id)"
执行结果:
删除数据
关键字: DELETE FROM
SQLite 的 DELETE 查询用于删除表中已有的记录。可以使用带有 WHERE 子句的 DELETE 查询来删除选定行,否则所有的记录都会被删除
基本语法:
DELETE FROM 表名
WHERE [条件];
代码如下:
let sql = "DELETE FROM T_Person WHERE id = \\(id)"
执行结果:
查询数据
关键字: SELECT
SQLite 的 SELECT 语句用于从 SQLite 数据库表中获取数据,以结果表的形式返回数据。这些结果表也被称为结果集。
基本语法:
SELECT 列1、列2、列3、......列N FROM 表名;
这里 列1、列2、列3、......列N是你想获取的字段,如果你想获取所有的字段那么使用下面的语法
SELECT * FROM 表名;
代码如下:
let sql = "SELECT id, name, age, height FROM T_Person"
执行结果:
[["height": 10.9, "age": 18, "id": 2, "name": 张三],
["height": 10.9, "age": 18, "id": 3, "name": 张三],
["height": 10.9, "age": 18, "id": 4, "name": 李四],
["height": 10.9, "age": 199, "id": 5, "name": 李四],
["height": 10.9, "age": 199, "id": 6, "name": 李四]]