这是一些基本的查询语句练习,所用编辑器为Vscode,配置的是postgreSQL,这些习题是看B站视频的时候写的,比较简单的没有注释语句,加了注释的是一些在入门时感觉稍微麻烦的语句。
首先建立一个test数据库,然后选定test数据库建立4个数据表:student、course、score、teacher。
\l --查看数据库(MySQL:show databases;)
create database test; --创建数据库
\c test --选定数据库(MySQL:use test)
postgreSQL中查看数据库、选定数据库等少量命令与MySQL会有所不同。
-------------------------查询练习
----学生表 Student : 学号 姓名 性别 出生年月日 所在班级
----课程表 Course : 课程号 课程名称 教师编号
----成绩表 Score : 学号 课程号 成绩
----教师表 Teacher : 教师编号 教师名字 教师性别 出生年月日 职称 所在部门
create table student(
sno varchar(20) primary key,
sname varchar(20) not null,
ssex varchar(10) not null,
sbirthday date,
class varchar(20)
);
create table teacher(
tno varchar(20) primary key,
tname varchar(20) not null,
tsex varchar(10) not null,
tbirthday date,
prof varchar(20) not null,
depart varchar(20) not null
);
create table course(
cno varchar(20) primary key,
cname varchar(20) not null,
tno varchar(20) not null,
foreign key(tno) references teacher(tno)
);
create table score(
sno varchar(20) not null,
cno varchar(20) not null,
degree decimal,
foreign key(sno) references student(sno),
foreign key(cno) references course(cno)
);
\dt ---查看数据库中的数据表
\d student; ---查看数据表结构
\d course;
\d teacher;
\d score;
由于course表和score表需要连接student 表和teacher表中的外键,所以不能先建course表和score表,必须先创建student 表和teacher表。
创建好数据表后,往各个数据表中增添具体数据:
insert into student values('101','曾华','男','1977-09-01','95033');
insert into student values('102','匡明','男','1975-10-02