第3次作业-SQL语句的基本使用2(修改表-基本查询)
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/uzz |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/uzz/cs3/homework/13057 |
这个作业的目标 | 第3次作业-SQL语句的基本使用2(修改表-基本查询) |
1.使用SQL语句ALTER TABLE修改curriculum表的“课程名称”列,使之为空。
mysql> use studentsdb;
mysql> alter table curriculum
-> drop 课程名称;
mysql> desc curriculum;
2.使用SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为decimal(5,2)。
mysql> alter table grade
-> modify 分数 decimal(5,2);
mysql> desc grade;
3.使用SQL语句ALTER TABLE为student_info表添加一个名为“备注”的数据列,其数据类型为varchar(50)。
mysql> alter table student_info
-> add 备注 varchar(50);
mysql> desc student_info
-> ;
4.使用SQL语句ALTER TABLE为student_info表添加一个名为“备注”的数据列,其数据类型为varchar(50)。
mysql> create database studb;
mysql> use studb;
mysql> create table stu(
-> 学号 char(4) PRIMARY KEY,
姓名 char(8) NOT NULL,
性别 char(2) NOT NULL,
出生日期 date NOT NULL,
家族住址 varchar(50)
);
mysql> insert into stu
-> (学号,姓名,性别,出生日期,家族住址)
-> values
-> ('0001','张青平','男','2000-10-01','衡阳市东风路77号'),
('0002','刘东阳','男','1998-12-09','东阳市八一北路33号'),
('0003','马晓夏','女','1995-05-12','长岭市五一路763号'),
('0004','钱忠理','男','1994-09-23','滨海市洞庭大道279号'),
('0005','孙海洋','男','1995-04-03','长岛市解放路27号'),
('0006','郭小斌','男','1997-11-10','南山市红旗路113号'),
('0007','肖月玲','女','1996-12-07','东方市南京路11号'),
('0008','张玲珑','女','1997-12-24','滨江市新建路97号');
mysql> desc stu;
mysql> select * from stu;
5.使用SQL语句删除表stu中学号为0004的记录。
mysql> delete from stu
-> where 学号 = '0004';
mysql> select * from stu;
6.使用SQL语句更新表stud中学号为0002的家庭住址为“滨江市新建路96号”。
mysql> update stu
-> set 家族住址='滨江市新建路96号'
-> where 学号='0002';
mysql> select * from stu;
7.删除表stud的“备注”列。
mysql> alter table stu
-> add 备注 varchar(50);
mysql> desc stu;
mysql> alter table stu
-> drop 备注;
8.在studentsdb数据库中使用SELECT语句进行基本查询。
1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。
mysql> select 学号,姓名,家族住址 from student_info;
2)查询student_info表学号为 0002的学生的姓名和家庭住址。
mysql> select 姓名,家族住址 from student_info
-> where 学号='0002';
3)查询student_info表所有出生日期在95年以后的女同学的姓名和出生日期。
mysql> select 姓名,出生日期 from student_info
-> where 出生日期 >= '1995-01-01' and(性别='女');
9.使用select语句进行条件查询。
1)在grade表中查询分数在70-80范围内的学生的学号、课程编号和成绩。
mysql> select 学号,课程编号,分数 from grade
-> where 分数 between 70 and 80;
2)在grade表中查询课程编号为0002的学生的平均成绩。
mysql> select round(avg(分数),1) 平均分数 from grade
-> where 课程编号='0002';
3)在grade表中查询选修课程编号为0003的人数和该课程有成绩的人数。
mysql> select count(*) 选课人数,count(分数) 有分数人数 from grade
-> where 课程编号 = '0003';
4)查询student_info的姓名和出生日期,查询结果按出生日期从大到小排序。
mysql> select 姓名,出生日期 from student_info order by 出生日期 desc;
5)查询所有姓名“张”的学生的学号和姓名。
mysql> select 学号,姓名 from student_info where 姓名 like '张%';