sqlite数据库

1. 安装

1.1 安装SQLite3

sudo apt-get install sqlite3

sqlite数据库_第1张图片

解决

sqlite数据库_第2张图片

sqlite数据库_第3张图片

1.2 安装Sqlite3编译需要的工具包

sudo apt-get install libsqlite3-dev

sqlite数据库_第4张图片

2. 基本命令

进⼊⼯具:

在命令⾏输⼊: sqlite3

退出⼯具:

.quit

查看帮助:

.help

打开数据库:

.open  数据库⽂件路径

查看当前操作的数据库⽂件:

.database

查看当前数据库⽂件中的表:

.table

查看表结构:

.schema

3. 命令行操作数据库的数据

3.1 如何创建/打开一个数据库:

sqlite3  数据库名字.db

删除数据库

drop database 数据库名字

3.2 创建表

语法:create table 表名 (列名1 数据类型1,列名2 数据类型2,....)

--例子, 学生表:学号-int  姓名-char  班级-int  性别-char 年龄-int

---create table student (num integer,name varchar,class integer,sex char ,age integer )  ;

切记   号

sqlite数据库_第5张图片

3.3 删除表

drop table 数据库名字

3.4 插入数据

insert into:向表中插入新的一行

--语法: insert into 表名  (列名1,列名2,.....)   values   (数值1,数值2,....)

--例子:insert into 学生表  (姓名,年龄,贯籍,成绩) values (小王,23,'湖北',56)

sqlite数据库_第6张图片

3.5 查询数据

3.5.1 简单查询

select:从表中选取内容/查看表的内容

语法:select 列名 from 表名字

例子:从表中选取列名为年龄+性别的列

select   年龄,性别   from  学生表

例子:选取表的所有内容

select * from 学生表

使用DISTINCT 修饰某个列名字,达到去重复的效果

例子:select distinct 姓名,年龄 from 学生表

sqlite数据库_第7张图片

3.5.2 select where筛选结果:

语法:SELECT 列名称 FROM 表名称    WHERE 列 运算符 值

例子:从学生表中查询姓名和年龄选项,筛选出年龄大于23的记录

select  姓名,年龄   from   学生表  where 年龄 > 23

sqlite数据库_第8张图片

3.5.3 order by进行排序[默认升序]:

语法:select   列名   from   表名    order by   列名   [desc/asc]

例子:SELECT  年龄,姓名   FROM   学生表    ORDER BY   年龄   DESC  姓名 ASC

sqlite数据库_第9张图片

3.5.4 其他复杂命令

sqlite数据库_第10张图片

3.6 修改数据

update:更新/修改某些记录的内容:

语法:update 表名 set 列名=新值 where 列名=数值

例子:修改小明的年龄为23

update 学生表 set 年龄=23 where 姓名='小王'

如果有多个小王,都会被修改

3.7 删除数据

delete:删除某行/记录

语法:delete from 学生表 where 姓名=小王

如果有两个小王,都会删掉

删除所有行:

delete from 表名

3.8 联合查询

表的联合操作:

这两张表必须有联系,每张表关联的列的意义相同.

主关键字: 唯一的标示一个记录 --次关键字:标示一组记录

3.8.1 用法1:

语法规则:select  表1.列名1,表1.列名2 ,...,表2.列名1,表2.列名2    from   表1,表2   where 表1.匹配关键字 = 表2.匹配关键字;

例子:select    student.name,student.class,teacher.name    from   teacher,student   where student.class=teacher.class;

3.8.2用法2  连接查询 

join on  (查交集)

表a join 表b on 条件/规则.

select   student.name,student.class ,teacher.name,teacher.class   from    student join teacher   on   teacher.class=student.class;

sqlite数据库_第11张图片

左连接 left join

是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。

sqlite数据库_第12张图片

右连接 right join

是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。

sqlite数据库_第13张图片

3.9 alter table:对表的列进行操作

增加一列:

语法:alter table 表名 add 列名字 数据类型

sqlite数据库_第14张图片

删除一列:有些数据库不支持,比如sqlite

语法:alter table 表名 drop COLUMN 列名

你可能感兴趣的:(Sqlite,数据库,sqlite,linux,c语言)