文章目录
前言
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。
SQLite 非常适合用于嵌入式系统、物联网设备、移动应用程序和客户端应用程序,它不需要服务器,简单易用。
SQL的概念
SQLite3是一个数据库,而SQL是一种编程语言。我们需要使用SQL来操作SQLite3数据库。
SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据查询语言(DQL),数据操作语言(DML),数据控制语言(DCL)。
SQL语言中完成核心功能的9个动词:
SQL功能 | 动词 |
---|---|
数据定义DD | Create、Drop(删除)、Alter(修改) |
数据查询DQ | Select |
数据操纵DM | Insert(插入)、Update(更新)、Delete(删除) |
数据控制DC | Grant(授权)、Revoke(撤销授权) |
SQLite3 是一个 轻量级的嵌入式数据库系统,它仅实现了 SQL 标准的一个子集。即SQLite3中只能使用部分SQL语句,而且不支持数据控制语句(DCL)。
- SQLITE3支持的 DML关键字有
- CREATE:创建一个新的表,一个表的视图,或者数据库中的其他对象
- ALTER:修改数据库中的某个已有的数据库对象,比如一个表
- DROP:删除整个表,或者表的视图,或者数据库中的其他对象
- SQLITE3支持的 DDL关键字有
- INSERT:创建一条记录
- UPDATE:修改记录
- DELETE:删除记录
- SQLITE3支持的 DQL关键字有
- SELECT:从一个或多个表中检索某些记录
与表格相关的操作
i.创建表格(增)
基本语法
CREATE TABLE IF NOT EXISTS table_name (
column1_name data_type [constraints],
column2_name data_type [constraints],
...
columnN_name data_type [constraints]
);
例子
-- 创建一个名为 "users" 的表格
CREATE TABLE IF NOT EXISTS users (
user_id INT PRIMARY KEY,
username TEXT NOT NULL,
email TEXT UNIQUE,
password TEXT NOT NULL
);
CREATE TABLE
: 创建表格的关键字。IF NOT EXISTS
: 可以避免出现添加已存在数据表的SQL错误信息table_name
: 要创建的表格的名称。column_name
: 列的名称。data_type
: 数据类型,例如 INT, TEXT, REAL, BLOB 等。constraints
: 约束,例如PRIMARY KEY
,UNIQUE
,NOT NULL
,FOREIGN KEY
等。
列(字段)相关的配置
每个列(字段)都有对应的配置,如列名称,列数据类型,类约束,列默认值等。列配置的具体内容如下:
-
列的数据类型:
INT
: 整数。TEXT
: 文本字符串。REAL
: 浮点数。BLOB
: 二进制数据。专门用于存放图像、视频动画和其他类型的文件等。DATE
: 日期。DATETIME
: 日期和时间。
-
列的默认值
DEFAULT
关键字用于为表格中的列设置默认值。当插入新记录时(注意:这不是创建表时存在的默认值),如果该列的值没有被明确指定,则会自动使用默认值。
CREATE TABLE table_name ( column_name data_type DEFAULT default_value, ... );
DEFAULT
: 设置默认值的关键字。
default_value
: 默认值,可以是常量、表达式、函数等 -
列(字段)的约束:
PRIMARY KEY
: 主键,用于唯一标识每条记录。
在数据表中能够唯一识别记录的字段,都会被人们设置为主键,如“学号”字段。
当某个字段被设置为主键后,该字段中就不能再有重复值,也不能有空值,数据库管理系统将强制执行这一规则,这就是主键约束。FOREIGN KEY
: 外键,用于建立两个表格之间的关系。
-
列的索引(略读)
-
索引 (INDEX):定义索引,用于提高查询效率。除表之外,索引是
-