sudo apt-get install sqlite3
解决
sudo apt-get install libsqlite3-dev
进⼊⼯具:
在命令⾏输⼊: sqlite3
退出⼯具:
.quit
查看帮助:
.help
打开数据库:
.open 数据库⽂件路径
查看当前操作的数据库⽂件:
.database
查看当前数据库⽂件中的表:
.table
查看表结构:
.schema
sqlite3 数据库名字.db
删除数据库
drop database 数据库名字
语法:create table 表名 (列名1 数据类型1,列名2 数据类型2,....)
--例子, 学生表:学号-int 姓名-char 班级-int 性别-char 年龄-int
---create table student (num integer,name varchar,class integer,sex char ,age integer ) ;
切记 ; 号
drop table 数据库名字
insert into:向表中插入新的一行
--语法: insert into 表名 (列名1,列名2,.....) values (数值1,数值2,....)
--例子:insert into 学生表 (姓名,年龄,贯籍,成绩) values (小王,23,'湖北',56)
select:从表中选取内容/查看表的内容
语法:select 列名 from 表名字
例子:从表中选取列名为年龄+性别的列
select 年龄,性别 from 学生表
例子:选取表的所有内容
select * from 学生表
使用DISTINCT 修饰某个列名字,达到去重复的效果
例子:select distinct 姓名,年龄 from 学生表
语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
例子:从学生表中查询姓名和年龄选项,筛选出年龄大于23的记录
select 姓名,年龄 from 学生表 where 年龄 > 23
语法:select 列名 from 表名 order by 列名 [desc/asc]
例子:SELECT 年龄,姓名 FROM 学生表 ORDER BY 年龄 DESC , 姓名 ASC
update:更新/修改某些记录的内容:
语法:update 表名 set 列名=新值 where 列名=数值
例子:修改小明的年龄为23
update 学生表 set 年龄=23 where 姓名='小王'
如果有多个小王,都会被修改
delete:删除某行/记录
语法:delete from 学生表 where 姓名=小王
如果有两个小王,都会被删掉
删除所有行:
delete from 表名
表的联合操作:
这两张表必须有联系,每张表关联的列的意义相同.
主关键字: 唯一的标示一个记录 --次关键字:标示一组记录
语法规则: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;
表a join 表b on 条件/规则.
select student.name,student.class ,teacher.name,teacher.class from student join teacher on teacher.class=student.class;
是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。
是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。
增加一列:
语法:alter table 表名 add 列名字 数据类型
删除一列:有些数据库不支持,比如sqlite
语法:alter table 表名 drop COLUMN 列名