【头歌】——数据分析与实践-SQLite3-关系操作-SQLite3-修改数据-SQLite3-数据库的基本操作-SQLite3-表的基本操作-SQLite3-单表查询语法(一)-SQLite3-单表查询语法(二)-SQLite3-多表查询语法(一)-SQLite3-多表查询语法(二)
-
- SQLite3-关系操作
-
- 第1关 简单关系操作
- 第2关 进阶关系操作
- 第3关 高级关系操作
- SQLite3-修改数据
-
- SQLite3-数据库的基本操作
-
- 第1关 创建数据库
- 第2关 附加数据库
- 第3关 分离数据库
- SQLite3-表的基本操作
-
- 第1关 创建表
- 第2关 删除和修改表
- 第3关 导入导出表
- SQLite3-单表查询语法(一)
-
- 第1关 select语句与操作管道
- 第2关 where语法-常用操作符
- 第3关 where语法-LIKE操作符
- SQLite3-单表查询语法(二)
-
- 第1关 函数和聚合
- 第2关 分组和过滤
- 第3关 排序和限定
- SQLite3-多表查询语法(一)
-
- SQLite3-多表查询语法(二)
-
- 第1关 使用别名
- 第2关 子查询
- 第3关 复合查询
SQLite3-关系操作
第1关 简单关系操作
201205 小马
201206 小河
201299 小强
201201 小明
201219 小红
201266 小花
201205 小马
201206 小河
201299 小强
201266 小花
第2关 进阶关系操作
小花 20 女 数学
小红 25 女 物理
小花 20
小红 25
小花 20 陈老师 30 女 数学
小花 20 李老师 35 女 物理
小花 20 张老师 32 男 语文
小花 20 刘老师 33 男 体育
小红 25 陈老师 30 女 数学
小红 25 李老师 35 女 物理
小红 25 张老师 32 男 语文
小红 25 刘老师 33 男 体育
第3关 高级关系操作
小花 20 女 数学 陈老师 30 女 数学
小红 25 女 物理 李老师 35 女 物理
小明 22 男 语文 张老师 32 男 语文
小花 20 女 数学 陈老师 30 女 数学
小红 25 女 物理 李老师 35 女 物理
小明 22 男 语文 张老师 32 男 语文
小强 26 男 物理 李老师 35 女 物理
小花 20 女 数学 陈老师 30 女
小红 25 女 物理 李老师 35 女
小明 22 男 语文 张老师 32 男
小强 26 男 物理 李老师 35 女
SQLite3-修改数据
第1关 插入记录
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
insert into students (id,name,sex,age) values ("20191111","马思","女",22);
insert into students (id,name,sex,age) values ("20191112","张纯","女",23);
insert into students (id,name,sex,age) values ("20191113","赵欣","男",22);
/********** End *********/
select * from students;
第2关 更新和删除
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
-- 修正马菲菲同学的学号
update students set id="20171113" where name="马菲菲";
-- 删除赵飞飞同学的信息
delete from students where name="赵飞飞";
/********** End *********/
select * from students;
SQLite3-数据库的基本操作
第1关 创建数据库
sqlite3 database.db 'create table test(id integer primary key,value text);'
第2关 附加数据库
sqlite3 db1.db << EOF
/*********begin*********/
attach database 'Database2.db' as db2;
/********* end *********/
.databases
EOF
第3关 分离数据库
sqlite3 db1.db << EOF
attach 'db2.db' as dbTest;
/*********begin*********/
detach database dbTest;
/********* end *********/
.databases
EOF
SQLite3-表的基本操作
第1关 创建表
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
create table students(stuno text not null, stuname text not null);
create table classes(classno text not null, classname text not null);
create table grades(stuno text not null,classno text not null, score integer not null);
/********** End *********/
第2关 删除和修改表
-- 请根据下方提示,在正确位置填写代码或脚本。
create table students(
nbr text primary key
);
/********** Begin *********/
alter table students rename to teachers;
alter table teachers add column age integer;
/********** End *********/
第3关 导入导出表
sqlite3 database1.db 'create table teachers(id integer primary key, age integer);'
sqlite3 database1.db '.dump teachers '>teachers.sql;
sqlite3 database2.db <teachers.sql;
SQLite3-单表查询语法(一)
第1关 select语句与操作管道
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select id from students where sex="女" and age ="25";
/********** End *********/
第2关 where语法-常用操作符
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select id from students where (sex="女" and age ="25") or height>170;
/********** End *********/
第3关 where语法-LIKE操作符
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select name from students where id like "%1111";
/********** End *********/
SQLite3-单表查询语法(二)
第1关 函数和聚合
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select avg(age) from students where name like"__";
/********** End *********/
第2关 分组和过滤
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select sex,avg(age) from students group by sex;
/********** End *********/
第3关 排序和限定
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select name from students order by age limit 1 offset 1;
/********** End *********/
SQLite3-多表查询语法(一)
第1关 交叉连接
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select * from students,courses,scores;
select * from students inner join courses cross inner join scores;
/********** End *********/
第2关 内连接
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select * from students,courses,scores where students.id = student_id and courses.id = course_id;
/********** End *********/
第3关 外连接
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select name,course_name,score from students left outer join(scores) on students.id=student_id;
/********** End *********/
SQLite3-多表查询语法(二)
第1关 使用别名
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select list1.employeeName employeeName,list2.employeeName managerName
from workers list1,workers list2
where list2.employeeID = list1.managerID
order by list1.employeeID;
/********** End *********/
第2关 子查询
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
select * from students where age in (select age from students where name="刘同" or name like"冯高") order by id asc;
/********** End *********/
第3关 复合查询
-- 请根据下方提示,在正确位置填写代码或脚本。
/********** Begin *********/
-- in型子查询
select id from students where id not in (select student_id from scores) order by id;
-- except复合查询
select id from students except select student_id from scores order by id;
/********** End *********/