【头歌】——数据分析与实践-SQLite3-关系操作-SQLite3-修改数据-SQLite3-数据库的基本操作-SQLite3-表的基本操作-SQLite3-单表查询语法(一)-SQLite3-单表

【头歌】——数据分析与实践-SQLite3-关系操作-SQLite3-修改数据-SQLite3-数据库的基本操作-SQLite3-表的基本操作-SQLite3-单表查询语法(一)-SQLite3-单表查询语法(二)-SQLite3-多表查询语法(一)-SQLite3-多表查询语法(二)

    • SQLite3-关系操作
      • 第1关 简单关系操作
      • 第2关 进阶关系操作
      • 第3关 高级关系操作
    • SQLite3-修改数据
      • 第1关 插入记录
      • 第2关 更新和删除
    • SQLite3-数据库的基本操作
      • 第1关 创建数据库
      • 第2关 附加数据库
      • 第3关 分离数据库
    • SQLite3-表的基本操作
      • 第1关 创建表
      • 第2关 删除和修改表
      • 第3关 导入导出表
    • SQLite3-单表查询语法(一)
      • 第1关 select语句与操作管道
      • 第2关 where语法-常用操作符
      • 第3关 where语法-LIKE操作符
    • SQLite3-单表查询语法(二)
      • 第1关 函数和聚合
      • 第2关 分组和过滤
      • 第3关 排序和限定
    • SQLite3-多表查询语法(一)
      • 第1关 交叉连接
      • 第2关 内连接
      • 第3关 外连接
    • SQLite3-多表查询语法(二)
      • 第1关 使用别名
      • 第2关 子查询
      • 第3关 复合查询

SQLite3-关系操作

第1关 简单关系操作

# 请根据下方提示,在正确位置填写答案。
#********* S-R *********#
#********* Begin *********#
201205	小马
201206	小河
201299	小强
#********* End *********#

#********* R∪S *********#
#********* Begin *********#
201201	小明
201219	小红
201266	小花
201205	小马
201206	小河
201299	小强
#********* End *********#

#********* R∩S *********#
#********* Begin *********#
201266	小花
#********* End *********#

第2关 进阶关系操作

# 请根据下方提示,在正确位置填写答案。

#********* S1 *********#
#********* Begin *********#
小花 20 女 数学
小红 25 女 物理

#********* End *********#

#********* S2 *********#
#********* Begin *********#
小花 20
小红 25

#********* End *********#

#********* T1 *********#
#********* Begin *********#
小花 20 陈老师	30 女 数学
小花 20 李老师	35 女 物理
小花 20 张老师	32 男 语文
小花 20 刘老师	33 男 体育
小红 25 陈老师	30 女 数学
小红 25 李老师	35 女 物理
小红 25 张老师	32 男 语文
小红 25 刘老师	33 男 体育
#********* End *********#



第3关 高级关系操作

# 请根据下方提示,在正确位置填写答案。

#********* S1 *********#
#********* Begin *********#
小花	20	女	数学 陈老师	30	女	数学
小红	25	女	物理 李老师	35	女	物理
小明	22	男	语文 张老师	32	男	语文
#********* End *********#

#********* S2 *********#
#********* Begin *********#
小花	20	女	数学 陈老师	30	女	数学
小红	25	女	物理 李老师	35	女	物理
小明	22	男	语文 张老师	32	男	语文
小强	26	男	物理 李老师	35	女	物理
#********* End *********#

#********* S3 *********#
#********* Begin *********#
小花	20	女	数学 陈老师	30	女
小红	25	女	物理 李老师	35	女
小明	22	男	语文 张老师	32	男
小强	26	男	物理 李老师	35#********* End *********#



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关 创建数据库

#!/bin/bash
# 请根据下方提示,在正确位置填写代码或脚本。

#*********begin*********#

sqlite3 database.db 'create table test(id integer primary key,value text);'


#********* end *********#

第2关 附加数据库

#!/bin/bash
# 请根据下方提示,在正确位置填写代码或脚本。

sqlite3 db1.db << EOF
/*********begin*********/
attach database 'Database2.db' as db2;
/********* end *********/
.databases
EOF

第3关 分离数据库

#!/bin/bash
# 请根据下方提示,在正确位置填写代码或脚本。

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关 导入导出表

#!/bin/bash

# 请根据下方提示,在正确位置填写代码或脚本。

# 在database1.db中创建了teachers表。
sqlite3 database1.db 'create table teachers(id integer primary key, age integer);'

#********** Begin *********#
# 请你把database1.db中的teachers表导出到teachers.sql文件中。
sqlite3 database1.db '.dump teachers '>teachers.sql;
sqlite3 database2.db <teachers.sql;




# 请你把导出的sql文件导入到database2.db中。



#********** End *********#

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 *********/

你可能感兴趣的:(【头歌】——数据分析与实践答案,数据库,数据分析,sqlite)