青少年编程与数学 02-012 SQLite 数据库简介 03课题、数据库语言

青少年编程与数学 02-012 SQLite 数据库简介 03课题、数据库语言

课题摘要:SQLite 使用 SQL(Structured Query Language,结构化查询语言)作为其数据库语言。


SQLite 使用 SQL(Structured Query Language,结构化查询语言)作为其数据库语言。SQL 是一种广泛应用于关系型数据库的标准编程语言,用于管理、查询和操作数据库中的数据。SQLite 支持大部分标准的 SQL 语句,以下是一些常见的 SQLite SQL 语句类型及其用途:

一、数据定义语言(DDL)

CREATE

  • 用于创建数据库对象,如表、索引、视图等。

  • 创建表:

    sql 复制代码
    CREATE TABLE students (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER,
        grade TEXT
    );

    这个语句创建了一个名为"students"的表,包含四个字段:id(整型,主键)、name(文本型,非空)、age(整型)和 grade(文本型)。

  • 创建索引:

    sql 复制代码
    CREATE INDEX idx_student_name ON students (name);

    在"students"表的"name"列上创建了一个名为"idx_student_name"的索引,可以加快按姓名查询学生信息的速度。

  • 创建视图:

    sql 复制代码
    CREATE VIEW student_info AS
    SELECT id, name, age
    FROM students
    WHERE age > 18;

    创建了一个名为"student_info"的视图,它是一个虚拟的表,包含 id、name 和 age 字段,且只包含年龄大于 18 的学生信息。

ALTER

  • 用于修改已存在的数据库对象的结构。SQLite 的 ALTER TABLE 语句相对简单,主要支持添加新列。

  • 例如,为"students"表添加一个新列"email":

    sql 复制代码
    ALTER TABLE students ADD COLUMN email TEXT;

    这会在"students"表中添加一个名为"email"的文本型列。

DROP

  • 用于删除数据库对象。

  • 删除表:

    sql 复制代码
    DROP TABLE students;

    这会删除"students"表及其所有数据和结构。

  • 删除索引:

    sql 复制代码
    DROP INDEX idx_student_name;

    删除名为"idx_student_name"的索引。

  • 删除视图:

    sql 复制代码
    DROP VIEW student_info;

    删除名为"student_info"的视图。

二、数据操纵语言(DML)

INSERT

  • 用于向表中插入新的数据行。

  • 插入单行数据:

    sql 复制代码
    INSERT INTO students (id, name, age, grade) VALUES (1, 'John', 20, 'A');

    向"students"表中插入一行数据,id 为 1,姓名为"John",年龄为 20,成绩为"A"。

  • 插入多行数据:

    sql 复制代码
    INSERT INTO students (id, name, age, grade) VALUES
    (2, 'Alice', 19, 'B'),
    (3, 'Bob', 22, 'A');

    一次性向表中插入多行数据。

UPDATE

  • 用于更新表中已存在的数据行。

  • 更新单个字段:

    sql 复制代码
    UPDATE students SET grade = 'B' WHERE id = 1;

    将"students"表中 id 为 1 的学生的成绩更新为"B"。

  • 更新多个字段:

    sql 复制代码
    UPDATE students SET age = 21, grade = 'A' WHERE name = 'Alice';

    将姓名为"Alice"的学生的年龄更新为 21,成绩更新为"A"。

DELETE

  • 用于删除表中的数据行。

  • 删除单行数据:

    sql 复制代码
    DELETE FROM students WHERE id = 2;

    删除"students"表中 id 为 2 的学生记录。

  • 删除多行数据:

    sql 复制代码
    DELETE FROM students WHERE age < 18;

    删除"students"表中年龄小于 18 的所有学生记录。

SELECT

  • 用于从一个或多个表中检索数据。

  • 查询所有列:

    sql 复制代码
    SELECT * FROM students;

    查询"students"表中的所有数据。

  • 查询特定列:

    sql 复制代码
    SELECT name, age FROM students;

    只查询"students"表中的姓名和年龄两列数据。

  • 带条件查询:

    sql 复制代码
    SELECT * FROM students WHERE age > 20 AND grade = 'A';

    查询"students"表中年龄大于 20 且成绩为"A"的学生记录。

  • 排序查询:

    sql 复制代码
    SELECT * FROM students ORDER BY age ASC, grade DESC;

    查询"students"表中的所有学生记录,并按年龄升序、成绩降序排序。

三、数据控制语言(DCL)

SQLite 的数据控制语言相对简单,主要用于事务控制。

BEGIN TRANSACTION

  • 开始一个事务。

    sql 复制代码
    BEGIN TRANSACTION;

    这个语句表示开始一个新的事务,在事务中可以执行多个 DML 语句,如 INSERT、UPDATE、DELETE 等。

COMMIT

  • 提交事务,使事务中所有的操作永久生效。

    sql 复制代码
    COMMIT;

    提交事务后,事务中对数据库所做的更改将被保存。

ROLLBACK

  • 回滚事务,撤销事务中所有的操作。

    sql 复制代码
    ROLLBACK;

    如果在事务执行过程中出现错误,可以通过回滚事务来撤销所有已经执行的操作,恢复数据库到事务开始前的状态。

SQLite 还支持一些其他 SQL 语句和功能,如联合查询(使用 UNION 和 UNION ALL)、子查询、事务的隔离级别设置(虽然 SQLite 的事务隔离级别相对简单,主要是串行化)等。不过,SQLite 的 SQL 实现也有一些限制,例如它不支持存储过程、游标等一些在大型数据库系统中常见的功能。尽管如此,SQLite 的 SQL 语言已经足够强大,能够满足大多数轻量级应用程序的数据库操作需求。

相关推荐
弈风千秋万古愁1 小时前
python 语法篇(一)
数据库·python·mysql
道法自然,人法天1 小时前
时序数据库:InfluxDB命令行操作
数据库·时序数据库
課代表2 小时前
VBA 中正则表达式使用指南
数据库·mysql·正则表达式·excel
网硕互联的小客服2 小时前
如何从 MySQL 错误日志中排查数据库故障
数据库
QX_hao2 小时前
sock文件介绍--以mysql.sock为例
数据库·mysql
开发小能手-roy2 小时前
Ubuntu 系统中安装 Nginx
数据库·nginx·ubuntu
橙子20253 小时前
OLLAMA 未授权访问-漏洞挖掘
数据库·sql
未来之窗软件服务3 小时前
系统安全——文件监控-FileMonitor
运维·服务器·数据库·系统安全
一人の梅雨3 小时前
西域平台关键字搜索接口开发指南
java·开发语言·数据库
雾岛LYC听风4 小时前
3. 轴指令(omron 机器自动化控制器)——>MC_GearInPos
前端·数据库·自动化