MySQL数据库(简单查询)答案-武洪萍主编

MySQL数据库(简单查询)答案-武洪萍主编

代码如下:

一,
--  1,创建数据库 t10
1,删除数据库
	DROP DATABASE IF EXISTS t10;
2,创建数据库
	CREATE DATABASE t10;
3,修改数据库编码方式和字符集排列顺序
	ALTER DATABASE t10 CHARACTER SET utf8 COLLATE utf8_bin;
4,使用数据库
	USE t10;
--  2, 表的结构数据从脚本a1导入 
--  3,查询a1中所有的表记录,并用别名显示
-- 查看各表数据
SELECT*FROM course;  -- [课程表]主键cno(课程编号)课程名称cname
SELECT*FROM sc; -- [成绩表]双主键(sno,cno)外键sno参考学生表student,外键cno参考课程course,degree 分数,
SELECT*FROM student; -- [学生表]主键sno(学号),姓名snmae,性别ssex,电话sphone,地址saddress,生日sbirthday,所属院系sdept,照片sphoto,专业speciality,
SELECT*FROM suser;  -- [用户表]用户名username,密码password,用户权限 userlevel
SELECT*FROM teacher; -- [教师表]主键tno(教师编号)教师性别ssex,教师生日sbirthday,所属院系sdept,
SELECT*FROM teaching;  -- [授课表]课程编号cno(参考课程表),教师编号(教师表tno),开课学期cterm,
-- 查看各表结构
DESCRIBE course;
DESCRIBE sc;
DESCRIBE student;
DESCRIBE suser;
DESCRIBE teacher;
DESCRIBE teaching;

-- 一,简单查询
-- 1,查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用3条SQL语句)
SELECT*FROM course;
SELECT*FROM sc;
SELECT*FROM student;

-- 2,查询所有学生的学号、姓名、性别和出生日期
SELECT sno AS '学号',sname AS '姓名',ssex AS '性别',sbirthday AS '出生日期' FROM student;
-- 3,查询所有课程的课程名称
SELECT cname FROM course;
-- 4,查询前10门课程的课程号及课程名称
SELECT cno AS '课程号',cname AS '课程名称' FROM coure LIMIT 10;
-- 5,查询所有学生的姓名及年龄
SELECT sname AS '姓名',TIMESTAMPDIFF(YEAR,sbirthday,CURDATE()) AS '年龄' FROM student;
-- 6,查询所有年龄大于18岁的女生的学号和姓名
SELECT sno AS '学号',sname AS '姓名' FROM student WHERE ssex = '女' AND TIMESTAMPDIFF(YEAR,sbirthday,CURDATE())>18;
-- 7,查询所有男生的信息
SELECT sno AS '学号',sname AS '姓名',ssex AS '性别',sbirthday AS '出生日期',saddress AS '地址',sdept AS '系别',speciality AS '专业' FROM student WHERE ssex='男';
-- 8,查询所有任课老师的姓名和所在系别。
SELECT tname AS '姓名',tdept AS '系别' FROM teacher;
-- 9,查询“电子商务”专业的学生姓名、性别和出生日期。
SELECT sname AS '姓名',ssex AS '性别',sbirthday AS '出生日期' FROM student WHERE speciality='电子商务';
-- 10,查询student表中的所有系名。
SELECT sdept AS '系名' FROM student;
-- 11,查询“C01”课程的开课学期。
SELECT cterm AS '开课学期' FROM teaching WHERE cno ='c01';
-- 12,查询成绩在80~90分的学生学号及课程号。
SELECT sno AS '学号',cno AS '课程号' FROM sc WHERE degree BETWEEN 80 AND 90;
-- 13,查询在1970年1月1日之前出生的男教师信息。
SELECT tno AS '教师号',tname AS '姓名',ssex AS '性别',sbirthday AS '出生日期', tdept FROM teacher WHERE tbirthday <DATE('1970-1-1') AND tsex='男'
-- 14,输出有成绩的学生学号。
SELECT DISTINCT sno AS '学号' FROM sc WHERE sno !=0;
-- 15,查询所有姓“刘”的学生信息
SELECT * FROM student WHERE sname LIKE '刘%';
-- 16,查询生源地不是山东省的学生信息。
SELECT * FROM student WHERE saddress NOT LIKE '山东省';
-- 17,查询成绩为79分、89分和99分的记录。
SELECT * FROM sc WHERE degree IN (79,89,99);
-- 18,查询名字中第2个字是“小”字的男生的姓名和地址。
SELECT sname AS '姓名',saddress AS '地址'
FROM student WHERE sname LIKE '_小%';
-- 19,查询名称以“计算机”开头的课程名称。
SELECT cname AS '课程名称' FROM course WHERE cname LIKE '计算机%';
-- 20,查询计算机工程系和软件工程系的学生信息。
SELECT * FROM student WHERE sdept IN ('计算机工程系','软件工程系');

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员老李头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值