sqlite3的使用

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表改名为 dateRENAME 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 '%小%'
通配符
OperatorDescription
%它用于替换零个或多个字符。
_它用来代替一个字符。
_它用于替换一个字符范围。
(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: 用于过滤数据的字段名

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值