关卡1:
1、关系型数据库核心元素有哪些?
行(记录)、列(字段)、表、数据库
2、使用命令行连接数据库服务器的命令是什么?
mysql -u用户名 -p密码
或者mysql -u用户名 -p
回车后输入密码
3、列出数据库的命令
* 查看所有数据库
show databases;
* 查看数据库
use database;
* 查看当前使用的数据库
select database();
* 创建数据库
create database text charset=utf8;
* 删除数据库
drop database text;
4、创建数据库python
create database python charset=utf8;
5、列出表的命令
* 查看当前数据库的所有表
show tables;
* 查看指定表的结构
desc teacher;
6、设计班级表结构为id、name、isdelete,编写创建表的语句;
create table class(
id int unsigned auto increment primary key not null,
name varchar(10),
isdelete bit default 0
);
7、列出数据操作语句的语法
* 增加
insert into class values('01','张三’);
insert into class(id) values('04');
* 修改
update class set id=05 where name='zhangsan'
* 删除
delect from class;
* 基本查询
select * from student;
8、向班级表中插入数据python1、python2、python3
insert into class(name) values('python1' ),('python2' ),('python3' );
关卡2:
1、学生表结构设计为:姓名、生日、性别、家乡,并且学生表与班级表为多对一的关系,写出创建学生表的语句
注意定义班级字段、注意定义is_delete字段 一般为bit类型,默认值为0;
create table students(
id int unsigned auto_increment primary key not null,
name varchar(10) not null,
birthday date,
gender bit default 1,
gender enum('男','女') default '保密',
hometown varchar(100),
clsid int unsigned,
isdelete bit default 0
);
2、向学生表中插入数据:
* python1班有郭靖、黄蓉,要求:使用全列插入,一次一值
insert into students values(0,'郭靖','2002-10-6',1,'蒙古',1,0) ;
insert into students values('default','黄蓉','2002-10-5','女','桃花岛',1,0);
* python2班有杨过、小龙女,要求:使用指定列插入,一次一值
insert into students(name,gender,clsid) values('杨过',1,2) ;
insert into students(name,clsid) values('小龙女',2);
* 未分班的学生有黄药师、洪七公、洪七婆,要求:使用指定列插入,一次多值
insert into students(name) values('黄药师') ,('洪七公'),('洪七婆');
3、查询学生的姓名、生日,如果没有生日则显示无
没有生日显示无怎么定义
select name,ifnull(birthday,'无') from students;--这句还不会
select name,birthday from student ;
4、查询学生的姓名、年龄;--如何计算年龄?
select name as '姓名',year(now())-year(birthday) as '年龄' from students;--正确的
5、逻辑删除洪七婆
alter table students add is_delete bit default 0;---最好定义时添加这句,无没定义则用alter
update students set is_delete=1 where name='洪七婆';
修改洪七公的性别为男
update students set gender='男' where name='洪七公';
关卡3:
1、设计科目表subjects,包括科目名称
create table subjects(
cid int unsigned auto_increment primary key not null,
name varchar(10) not null,
sid int unsigned,
isdelete bit default 0
);
2、向表中插入数据,科目名有:python、数据库、前端
insert into subjects(name) values('python'),('数据库'),('前端');
3、设计成绩表,字段包括:学生id、科目id、成绩--注意英语习惯
create table scores(
id int unsigned auto_increment not null,
score decimal(4,2),
stuid int unsigned,
subid int unsigned
);
4、向成绩表中添加一些示例数据
insert into scores(score,stuid,subid) values(98.25,1,3);
insert into scores(score) values(97.11),(78.35);