SQLite3基础用法

一.SQLite3是一种轻量级的关系型数据库,可以在本地磁盘上存储数据。下面是SQLite3的基础用法和语法:

  1. 打开数据库 使用命令行工具或SQLite客户端工具打开一个SQLite数据库文件,如:

    sqlite3 mydatabase.db

    如果文件不存在,则会自动创建一个新的数据库文件。

  2. 创建表格 使用CREATE TABLE命令创建一个新的表格,例如:

    CREATE TABLE users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER );

    上述语句创建了一个名为"users"的表格,其中包含三个列:id、name和age。

  3. 插入数据 使用INSERT INTO命令插入新的数据行,例如:

    INSERT INTO users (name, age) VALUES ('Alice', 25);

    上述语句将一行新的数据插入到"users"表格中,包含两个列:name和age,其中name为"Alice",age为25。

  4. 查询数据 使用SELECT语句查询表格中的数据行,例如:

    SELECT * FROM users;

    上述语句将返回"users"表格中的所有数据行。

  5. 更新数据 使用UPDATE语句更新表格中的数据行,例如:

    UPDATE users SET age = 26 WHERE name = 'Alice';

    上述语句将更新"users"表格中名为"Alice"的行的age列为26。

如果您想要修改SQLite数据库中某段数据的某个值,可以使用UPDATE语句。

UPDATE语句允许您更新一个或多个列的值,可以使用WHERE子句来指定要更新的特定行。下面是一个基本的UPDATE语句的语法:

UPDATE table_name SET column1 = new_value1, column2 = new_value2 WHERE some_column = some_value;

其中,table_name是要更新的表格的名称,column1和column2是要更新的列的名称,new_value1和new_value2是您要将这些列的值更新为的新值。WHERE子句用于指定要更新的特定行,some_column是用于指定行的列的名称,some_value是该列的值。

例如,如果您想要将users表格中id为1的用户的email更新为'[email protected]',可以使用以下语句:

UPDATE users SET email = '[email protected]' WHERE id = 1;

注意,如果没有WHERE子句,则将更新所有行。因此,请确保在更新数据之前指定WHERE子句,以便只更新您要更新的特定行。

6.删除数据 使用DELETE FROM语句删除表格中的数据行,例如

DELETE FROM users WHERE name = 'Alice';

上述语句将删除"users"表格中名为"Alice"的行。

        在 SQLite 中,删除数据的方式有以下几种:

  1. 使用 DELETE 语句删除单个或多个行。
  2. 使用 DROP TABLE 语句删除整个表。
  3. 使用 TRUNCATE TABLE 语句删除整个表的所有行。
  4. 使用 VACUUM 命令回收未使用的空间,从而删除已删除行占用的空间。

以下是每种方式的详细说明:

  1. 使用 DELETE 语句删除单个或多个行:

    DELETE FROM tableName WHERE condition;

    其中,tableName 是要删除数据的表名,condition 是 WHERE 子句中的条件,指定要删除的行。如果 WHERE 子句为空,则将删除表中的所有行。

  2. 使用 DROP TABLE 语句删除整个表:

    DROP TABLE tableName;

    其中,tableName 是要删除的表名。

    注意:使用 DROP TABLE 将完全删除表,包括表结构和数据,因此在使用此语句之前,请确认您是否真的要删除整个表。

  3. 使用 TRUNCATE TABLE 语句删除整个表的所有行:

    TRUNCATE TABLE tableName;

    其中,tableName 是要清空数据的表名。

    注意:TRUNCATE TABLE 与 DELETE 不同,它将删除表中的所有行,但不删除表本身,也不返回被删除的行数。此外,TRUNCATE TABLE 不触发表的 DELETE 或 UPDATE 触发器。

  4. 使用 VACUUM 命令回收未使用的空间,从而删除已删除行占用的空间:

    VACUUM;

    VACUUM 命令将重新组织表的物理存储,回收未使用的空间,并将被删除的行从表中完全删除。这可以使数据库文件更小,因为它将未使用的空间释放给操作系统。

7.关闭数据库 使用.exit命令或者关闭SQLite客户端工具来关闭数据库连接。

以上是SQLite3的基本用法和语法。实际使用时,可以通过SQLite的C/C++ API或者其他编程语言的SQLite封装库来与SQLite数据库进行交互。

二.SQLite 支持以下数据类型:

  1. NULL:空值。
  2. INTEGER:带符号整数,包括 1、2、3、4、6 或 8 个字节,取决于值的大小。
  3. REAL:浮点数,存储为 8 字节的 IEEE 浮点数。
  4. TEXT:字符串,采用编码方式存储。
  5. BLOB:二进制数据,存储为输入的内容。

VARCHAR 是一种在关系数据库中常见的列类型,也是 SQLite 中的列类型之一。它用于存储可变长度的字符串。与 CHAR 类型不同,VARCHAR 类型只使用存储所需的空间,不会预分配固定的空间。VARCHAR 的最大长度取决于数据库的限制,通常为 65535 个字符。

在 SQLite 中,VARCHAR 列类型可以用 TEXT 类型代替,因为它们是同义词,实际上没有任何区别。例如,以下两个定义是等价的:

CREATE TABLE myTable (id INTEGER PRIMARY KEY, name VARCHAR(50)); CREATE TABLE myTable (id INTEGER PRIMARY KEY, name TEXT(50));

此外,SQLite 还支持列类型的别名,如 INT 和 BOOLEAN,这些别名与其他列类型完全相同。还有其他列类型的别名,如 VARCHAR,TEXT 和 CHARACTER,它们都是 TEXT 列类型的别名,都可以用来存储字符串。

猜你喜欢

转载自blog.csdn.net/weixin_43756295/article/details/129156415