sqlite3的使用
IPC 项目中使用到了sqlite3作为图像视频信息的存储库,对sqlite3的使用方法进行一个简单的学习
sql语言按照功能划分可以分为以下4个部分
数据定义语言、数据操作语言、数据控制语言和数据查询语言
主要语句
主要语句有以下40条


语句格式
关键字 字段名 表名 字段名 常量
SELECT Name,Address FROM TEACHER WHERE Wage > 2000
每条SQL语句均由一个谓词开始,该谓词描述这条语句要产生的动作,如SELECT关键字。谓词后紧接着一个或多个子句,子句中给出了被谓词作用的数据或提供谓词动作的详细信息。每一条子句由一个关键字开始,如WHERE。
创建数据库
CREATE DATABASE database_name [COLLATE collation_name ]
database_name 是要创建的数据库的名称
collation_name-是数据库的默认排序规则 可选字段,如果未提供,则将默认排序规则分配给数据库。
例 创建一个默认数据库 data
CREATE DATABASE data;
删除数据库
DROP DATABASE database_name;
database_name- 被删除数据库的名字
如果要删除数据库data,则该语句将是
DROP DATABASE data
创建表
CREATE TABLE table_name (column_name1 datatype, column_name2 datatype,... column_nameN datatype);
table_name—是表的名称
column_name1, column_name2 ….-是列的名称
datatype -是列的数据类型,比如char、date、number等
如要创建一个表 employee
CREATE TABLE employee ( id number(5), name char(20), dept char(10), age number(2), salary number(10), location char(10));
这里就创建了一个employee表 其中id number 为number型最大有效显示长度 name 为char型最大有效显示长度20 其他类似
如果我们创建一个学生表,表名为students,里面有两个字段,一个是student_id int型,另一个是student_name 字段是varchar(255)类型,这两个字段都不为空,且student_id 是递增的。
那么创建表为
CREATE TABLE students (
student_id int(11) NOT NULL AUTO_INCREMENT,
student_name varchar(255) NOT NULL
);
语句最后以;号作为结束符
修改表
1.添加字段,比如我在数据表中添加一个age字段,类型为int(11)
ALTER TABLE player ADD (age int(11));
2.修改字段名,将age字段改成player_age
ALTER TABLE player RENAME COLUMN age to player_age
3.修改字段的数据类型,将player_age的数据类型设置为float(3,1)
ALTER TABLE player MODIFY (player_age float(3,1));
4.删除字段, 删除刚才添加的player_age字段
ALTER TABLE player DROP COLUMN player_age;
修改表名
RENAME old_table_name To new_table_name;
例将data表改名为 date 表
RENAME data TO date;
删除表
DROP TABLE table_name
将学生表(students)删除
DROP TABLE students
SELECT 查询
SELECT可以帮助我们从一个表或多个表中进行数据查询。我们知道一个数据表是由列(字段名)和行(数据行)组成的,我们要返回满足条件的数据行,就需要在SELECT后面加上我们想要查询的列名,可以是一列,也可以是多个列。如果你不知道所有列名都有什么,也可以检索所有列。
基础语法
SELECT column1,column2 FROM table_name
column1 , column2 : 表字段的名称
table_name: 我们要从中获取记录的表 此查询将返回表中字段为column1、column2的所有行。
要获取整个表或表中的所有字段:
SELECT * FROM table_name;
查询以从表Student中获取字段ROLL_NO、NAME、AGE:
SELECT ROLL_NO, NAME, AGE FROM Student;
要从table Student中获取所有字段,请执行以下操作
SELECT * FROM Student;
WHERE条件查询
基础语法
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
可以使用WHERE子句对条件进行筛选
可以使用的运算符有
| 含义 | 运算符 |
|---|---|
| 等于 | = |
| 不等于 | <>或!= |
| 小于 | < |
| 小于等于(不大于) | <=或!> |
| 大于 | > |
| 大于等于(不小于) | >=或!< |
| 不小于 | !< |
| 在指定的两个数值之间 | BETWEEN |
| 为空值 | IS NULL |
WHERE子句的基本格式是:SELECT ……(列名) FROM ……(表名) WHERE ……(子句条件)
比如我们要查询年龄大于13的学生数据
SELECT name, age FROM students WHERE age > 13
查询年龄在13到18之间的学生数据
SELECT name, age FROM students WHERE age BETWEEN 13 AND 18
如果我们存在多个WHERE条件子句,可以使用逻辑运算符
| 含义 | 逻辑运算符 |
|---|---|
| 并且 | AND |
| 或者 | OR |
| 在指定条件范围内 | IN |
| 非(否定) | NOT |
WHERE 子句使用通配符进行过滤
通配符就是我们用来匹配值的一部分的特殊字符。这里我们需要使用到LIKE操作符
如查找名字中带有小字的学生有哪些
SELECT name FROM students WHERE name LIKE '%小%'
通配符
| Operator | Description |
|---|---|
| % | 它用于替换零个或多个字符。 |
| _ | 它用来代替一个字符。 |
| _ | 它用于替换一个字符范围。 |
| (range_of_characters) | 它用于获取括号内指定的匹配字符集或范围。 |
| [^ range_of_characters]或[!range_of_characters) | 它用于获取括号内指定的不匹配的字符集或范围。 |
基础语法:
SELECT column1,column2 FROM table_name WHERE column LIKE wildcard_operator;
column1 , column2: 表中的字段
table_name: 表的名称
column: 用于过滤数据的字段名
578

被折叠的 条评论
为什么被折叠?



