Student建表语句
CREATE TABLE `student`(`studentno` INT(4) NOT NULL COMMENT '学号',`loginpwd` VARCHAR(20) DEFAULT NULL,`studentname` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',`sex` TINYINT(1) DEFAULT NULL COMMENT '性别,0或1',`gradeid` INT(11) DEFAULT NULL COMMENT '年级编号',`phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空',`address` VARCHAR(255) NOT NULL COMMENT '地址,允许为空',`borndate` DATETIME DEFAULT NULL COMMENT '出生时间',`email` VARCHAR (50) NOT NULL COMMENT '邮箱账号允许为空',`identitycard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',PRIMARY KEY (`studentno`),UNIQUE KEY `identitycard`(`identitycard`),KEY `email` (`email`)
)ENGINE=MYISAM DEFAULT CHARSET=utf8;
数据插入:
INSERT INTO `student` (`studentno`,`loginpwd`,`studentname`,`sex`,`gradeid`,`phone`,`address`,`borndate`,`email`,`identitycard`)
VALUES
(1000,'15656','张龙',0,2,'13800001234','北京朝阳','1980-1-1','text236@qq.com','235656198001011234'),
(1001,'123456','赵虎',0,2,'13800004562','北京房山','1982-2-1','text458@qq.com','452456198001011234'),
(1002,'122456','王朝',0,2,'13800001458','湖南湘潭','1452-3-1','text452@qq.com','123586198001011234'),
(1003,'123456','马汉',0,2,'13800003551','江西九江','1982-8-1','text147@qq.com','123126198001011234'),
(1004,'178456','狄仁杰',0,2,'13800005425','湖南长沙','1580-3-1','text125@qq.com','121456198001011234'),
(1005,'121356','李元芳',0,2,'13800005123','四川绵阳','1680-5-1','text168@qq.com','189456198001011234'),
(1007,'163454','德玛西',0,2,'13800004452','北京西单','1780-4-1','text895@qq.com','223456198001011234'),
(1008,'123586','桥本菜',0,2,'13800007851','日本东京','1680-9-1','text256@qq.com','125556198001521234'),
(1009,'123126','王撕葱',0,2,'13800001241','贵州贵阳','1988-1-5','text126@qq.com','123454198045661234'),
(1010,'123474','林更新',0,2,'13800008795','贵州毕节','1981-1-4','text145@qq.com','123456198001247234'),
(1011,'123698','王羲之',0,2,'13800001241','云南大理','1945-1-7','text165@qq.com','123456198001451234'),
(1012,'123321','李清照',0,2,'13800002541','甘肃兰州','1969-1-4','text112@qq.com','123456198001041234'),
(1013,'123785','鲁讯迅',0,2,'13800008965','四川成都','1978-1-6','text185@qq.com','123456198001011234'),
(1014,'123146','赵强',1,3,'13800001235','广东深圳','1990-1-7','text141@qq.com','123456199001011233');
grade表建表语句
CREATE TABLE `grade`(`gradeid` INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号',`gradename` VARCHAR(50) NOT NULL COMMENT '年级名称',PRIMARY KEY (`gradeid`)
) ENGINE=INNODB AUTO_INCREMENT = 6 DEFAULT CHARSET = utf8;
grade表数据插入语句
INSERT INTO `grade` (`gradeid`,`gradename`) VALUES(0,'大一'),(2,'大二'),(3,'大三'),(4,'大四'),(5,'预科班');
Subject建表语句
CREATE TABLE `subject`(`subjectno`INT(11) NOT NULL AUTO_INCREMENT COMMENT '课程编号',`subjectname` VARCHAR(50) DEFAULT NULL COMMENT '课程名称',`classhour` INT(4) DEFAULT NULL COMMENT '学时',`gradeid` INT(4) DEFAULT NULL COMMENT '年级编号',PRIMARY KEY (`subjectno`)
)ENGINE = INNODB AUTO_INCREMENT = 19 DEFAULT CHARSET = utf8;
Subject数据插入语句
INSERT INTO `subject`(`subjectno`,`subjectname`,`classhour`,`gradeid`)VALUES
(1,'高等数学-1',110,1),
(2,'高等数学-2',110,2),
(3,'高等数学-3',100,3),
(4,'高等数学-4',130,4),
(5,'C语言-1',110,1),
(6,'C语言-2',110,2),
(7,'C语言-3',100,3),
(8,'C语言-4',130,4),
(9,'Java程序设计-1',110,1),
(10,'Java程序设计-2',110,2),
(11,'Java程序设计-3',100,3),
(12,'Java程序设计-4',130,4),
(13,'数据库结构-1',110,1),
(14,'数据库结构-2',110,2),
(15,'数据库结构-3',100,3),
(16,'数据库结构-4',130,4),
(17,'C#基础',130,1);
result建表语句
CREATE TABLE `result`(`studentno` INT(4) NOT NULL COMMENT '学号',`subjectno` INT(4) NOT NULL COMMENT '课程编号',`examdate` DATETIME NOT NULL COMMENT '考试日期',`studentresult` INT (4) NOT NULL COMMENT '考试成绩',KEY `subjectno` (`subjectno`)
)ENGINE = INNODB DEFAULT CHARSET = utf8;
数据插入语句
INSERT INTO `result`(`studentno`,`subjectno`,`examdate`,`studentresult`)
VALUES
(1000,1,'2013-11-11 16:00:00',85),
(1000,2,'2013-11-12 16:00:00',70),
(1000,3,'2013-11-11 09:00:00',68),
(1000,4,'2013-11-13 16:00:00',98),
(1000,5,'2013-11-14 16:00:00',58);
一、查询指定字段
1、-- 查询全部学生 select 字段 from 表名
SELECT * FROM student;
2、-- 查询指定字段
SELECT `studentno`,`studentname` FROM student;
3、-- 别名,给结果起一个名字
SELECT `studentno` AS 学号,`studentname` AS 姓名 FROM student;
4、-- 别名,给结果起一个名字,也可以给表起别名
SELECT `studentno` AS 学号,`studentname` AS 姓名 FROM student AS s;
5、-- 函数 concat(a,b)
SELECT CONCAT('姓名:',studentName) AS 新名字 FROM student;二、去重
1、-- 查询一下那些同学参加了考试,成绩
SELECT DISTINCT `studentno` FROM result;
2、 -- 自增步长
SELECT @@auto_increment_increment
3、-- 查询mysql版本
SELECT  VERSION()
4、-- 学生考试成绩+1查看
SELECT `studentno`,`studentresult`+1 AS '加分后' FROM result;三、where字句
1、-- 查询考试成绩在95-100分之间
SELECT `studentno`,`studentresult`FROM result WHERE `studentresult`>=95 AND `studentresult`<=100;
2、-- 模糊查询(区间)
SELECT `studentno`,`studentresult` FROM result WHERE `studentresult` BETWEEN 95 AND 100;
3、-- 除了1000号学生之外的同学的成绩
SELECT `studentno`,`studentresult` FROM result WHERE `studentno`!=1000;
4、--!=  not
SELECT `studentno`,`studentresult` FROM result WHERE NOT `studentresult`=1000;四、模糊查询
1、-- 查询姓李的同学
SELECT `studentno`,`studentname` FROM student WHERE `studentname` LIKE '李%';
2、-- 查询1001,1002,1003号学生
SELECT `studentno`,`studentname` FROM student
WHERE `studentno` IN (1001,1002,1003);
3、-- 查询在北京朝阳的学生
SELECT `studentno`,`studentname` FROM student
WHERE `address` IN ('北京朝阳');五、连表查询  join
-- join(连接的表) on(判断条件) 连接查询
--where on 等值查询
1、-- 查询参加了考试的同学(学号,姓名,科目编号,分数)
SELECT s.`studentno`,`studentname`,`subjectno`,`studentresult`
FROM student AS s
INNER JOIN result AS r;
WHERE s.`studentno`=r.`studentno`;
2、-- right join
SELECT s.`studentno`,`studentname`,`subjectno`,`studentresult`
FROM student AS s
RIGHT JOIN result AS r
ON s.`studentno`=r.`studentno`;
3、--left join
SELECT s.`studentno`,`studentname`,`subjectno`,`studentresult`
FROM student AS s
LEFT JOIN result AS r
ON s.`studentno`=r.`studentno`;操作  描述
Inner join  如果表中至少有一个匹配,就返回没有匹配
Left join   会从左表中返回所有的值,即使右边没有匹配
Right join  会从右表中返回所有的值,即使左表中没有匹配4、-- 查询参加了考试的同学的信息,学号,学生姓名,科目名,分数
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student AS s
RIGHT JOIN result AS r
ON r.`studentno`=s.`studentno`
INNER JOIN `subject` AS sub
ON r.`subjectno`=sub.`subjectno`;category表创建语句
CREATE TABLE `category` (`categoryid` INT(10) NOT NULL COMMENT '主题ID',`pid` INT(10) NOT NULL COMMENT '父ID',`categoryName` VARCHAR(50) NOT NULL COMMENT '主题名字',PRIMARY KEY(categoryid)
) ENGINE=INNODB AUTO_INCREMENT=9 DEFAULT CHARSET = utf8;
数据插入语句
INSERT INTO `category` (`categoryid`, `pid`, `categoryName`) VALUES (2, 1, '信息技术');
INSERT INTO `CATEGOrY` (`categoryid`, `pid`, `categoryname`) VALUES (3, 1, '软件开发');
INSERT INTO `category` (`categoryid`, `PId`, `categoryname`) VALUES (5, 1, '美术设计');
INSERT INTO `category` (`categoryid`, `pid`, `categorynamE`) VALUES (4, 3, '数据库');
INSERT INTO `category` (`CATEgoryid`, `pid`, `categoryname`) VALUES (8, 2, '办公信息');
INSERT INTO `category` (`categoryid`, `pid`, `CAtegoryname`) VALUES (6, 3, 'web开发');
INSERT INTO `category` (`categoryid`, `pid`, `categoryname`) VALUES (7, 5, 'ps技术');六、自连接
自己的表和自己的表连接,即一张表拆为两张一样的表即可1、-- 查询父子信息(把两张表看成一模一样的表)
SELECT a.`categoryName` AS  '父栏目',b.`categoryName` AS '子栏目'
FROM `category` AS a,`category` AS b
WHERE a.`categoryid`=b.`pid`;2、-- 查询学员所属的年级(学号,学生的姓名,年级名称)
SELECT `studentno`,`studentname`,`gradename`
FROM student AS s
INNER JOIN `grade` AS g
WHERE s.`gradeid`=g.`gradeid`;3、-- 查询科目所属的年级
SELECT `subjectname`,`gradename`
FROM `subject` AS sub
INNER JOIN `grade` AS g
WHERE sub.`gradeid`=g.`gradeid`;
4、-- 查询参加了高等数学考试的学生信息:学号,学生姓名,科目名,分数
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
INNER JOIN `subject` AS sub
ON r.`subjectno`=sub.`subjectno`
WHERE `subjectname`='高等数学-1';--  ========分页limit 和排序 order by
1、-- 查询参加了高等数学考试的学生信息:学号,学生姓名,科目名,分数 并进行降序排序
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
INNER JOIN `subject` AS sub
ON r.`subjectno`=sub.`subjectno`
WHERE `subjectname`='高等数学-1'
ORDER BY `studentresult` ASC;2、-- 查询java第一学年 课程成绩排名前十的学生, 并且分数要大于80的学生信息(学号,姓名,课程名称,分数)
SELECT s.`studentno`,`studentname`,`subjectname`,`studentresult`
FROM student AS s
INNER JOIN result AS r
ON s.`studentno`=r.`studentno`
INNER JOIN `subject` AS sub
ON r.`subjectno`=sub.`subjectno`
ORDER BY `studentresult` DESC
LIMIT 0,10;七、子查询
-- 1、查询高等数学-1的所有考试结果(学号,科目编号,成绩),降序排列
SELECT `studentno`,r.`subjectno`,`studentresult`
FROM `result` AS r
INNER JOIN `subject` AS sub
ON r.`subjectno`=sub.`subjectno`
WHERE `subjectname` = '高等数学-1'
ORDER BY `studentresult` DESC;2、查询高等数学-1的所有考试结果(学号,科目编号,成绩),降序排列(方式二)
SELECT `studentno`,`subjectno`,`studentresult`
FROM result
WHERE `subjectno` =ANY(SELECT `subjectno` FROM `subject`WHERE `subjectname`='高等数学-1'
)3、-- 分数不小于80分的学生的学号和姓名
SELECT s.`studentno`,s.`studentname`
FROM `student` AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
WHERE r.`studentresult`>=80;4、-- 高等数学-2,分数不小于80分的学生的学号和姓名
SELECT s.`studentno`,s.`studentname`
FROM `student` AS s
INNER JOIN `result` AS r
ON s.`studentno`=r.`studentno`
INNER JOIN`subject` AS sub
ON r.`subjectno`=sub.`subjectno`
WHERE r.`studentresult`>=80
AND `subjectname`='高等数学-3';5、-- 查询课程为 高等数学-2
-- 且分数不小于80的同学的学号和姓名
SELECT `studentno`,`studentname` FROM student
WHERE `studentno` IN(SELECT `studentno` FROM `result` WHERE `studentresult` >80 AND `subjectno`=ANY(SELECT `subjectno` FROM `subject` WHERE `subjectname`='高等数学-2')
)八、常用函数
-- 数学运算
SELECT ABS(-8);  -- 绝对值
SELECT CEILING(6.5); -- 向上取整
SELECT FLOOR(6.5);   -- 向下取整
SELECT RAND(); -- 返回0-1的随机数
SELECT SIGN(-5); -- 判断一个数的符号,正数返回1,负数返回-1-- 字符串
SELECT CHAR_LENGTH('众里寻他千百度,那人却在灯火阑珊处'); -- 返回字符串长度
SELECT CONCAT('我','爱','你'); -- 字符串拼接
SELECT INSERT('我喜欢你',2,2,'讨厌'); -- 字符串替换,从那个位置开始,替换几个字符
SELECT LOWER('TANKE'); -- 大写转小写
SELECT UPPER('tanke'); -- 小写转大写
SELECT REPLACE('失败是成功之母','之母','他妈'); -- 字符串替换-- 时间日期函数
SELECT CURRENT_DATE(); -- 获取当前日期
SELECT CURDATE(); -- 获取当前日期
SELECT NOW(); -- 获取当前时间
SELECT LOCALTIME(); -- 本地时间
SELECT SYSDATE(); -- 系统时间1、-- 查询不同课程课程的平均分,最高分,最低分
SELECT `subjectname`, AVG(`studentresult`),MAX(`studentresult`),MIN(`studentresult`)
FROM `subject` AS s
INNER JOIN `result` AS r
ON s.`subjectno`=r.`subjectno`
GROUP BY s.`subjectname`;
2、-- 查询不同课程课程的平均分,最高分,最低分,平均分大于80
SELECT `subjectname`, AVG(`studentresult`) AS 平均分,MAX(`studentresult`) AS 最高分,MIN(`studentresult`) AS 最低分
FROM `subject` AS s
INNER JOIN `result` AS r
ON s.`subjectno`=r.`subjectno`
GROUP BY s.`subjectname`
HAVING 平均分>80;

保姆级别mysql 基础练习题相关推荐

  1. 燕十八--Mysql基础练习题

    mysql复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用 ...

  2. MySQL基础 -- 练习题

    一.已有表文件 STOCK (股票代码 C(6),买入价 N(10.2),现价 N(10.2),持有数量 N(10)),按照如下要求写出SQL语句: 1.查询 股票代码 为"000625&q ...

  3. MySQL基础 练习题2

    1. 查询 students 表中的所有记录的 sname.ssex 和 class 列. 2. 查询教师所有的单位即不重复的 depart 列. 3. 查询 students 表的所有记录. 4. ...

  4. MySQL基础练习题

    1) 查询出 goods 表中所有字段 2) 查询出 goods 表中生产日期在一年前的商品 3) 查询出 goods 表中商品名称中带"洗"字的商品 4) 查询出 goods 表 ...

  5. MySQL基础练习题及答案(表的简单查询)-02

    一.查询"李"姓老师的数量 思路:在老师(teacher)表中查找老师名字并筛选出以'李'开头的,再使用count()函数求出个数,最后重命名搜索出来的这个列名为姓"李& ...

  6. 六、MySQL 数据库练习题1(包含前5章练习题目及答案)

    文章目录 一.数据库概述练习题 二.MySQL 环境搭建练习题 三.查询练习 MySQL 数据库练习题(包含前5章所有知识点及答案) 前置知识: 一.数据库开发与实战专栏导学及数据库基础概念入门 二. ...

  7. MySQL数据库入门学习教程(mysql基础+高级)

    今天这篇文章将详细列出Mysql的学习流程,这是学习mysql数据库前你要了解的~~~ 大部分的小伙伴自己在网上找mysql资料.还有数据库的视频教程,但是都过于碎片化,没有体系,导致大家不知道如何系 ...

  8. Mysql基础进阶运维(确定不来看看?)

    提示:mysql基础,进阶,运维(持续更新,更新速度与本人学习进度一致,加入自己的认知和理解,以下操作主要针对8.0后的) 文章目录 一.Mysql基础 1 Mysql概述 1.1 数据库相关概念 1 ...

  9. MySQL基础-学习笔记

    MySQL基础 一.DQL语言的学习 1.基础查询 /* 语法: select 查询列表 from 表名特点: 1-查询的结果集是一个虚拟表 2-select类似于System.out.printIn ...

  10. 尚硅谷MySQL课后练习题笔记

    尚硅谷MySQL课后练习题 视频地址:[宋红康]MySQL数据库(mysql安装/基础/高级/优化)_哔哩哔哩_bilibili 数据库资源地址:链接:https://pan.baidu.com/s/ ...

最新文章

  1. 西电焦李成教授解读《高等学校人工智能创新行动计划》
  2. python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...
  3. 东北农业大计算机排名,黑龙江高校排名更新,东北林大排名第3,东油排名第8...
  4. matlab文件序号超出511,求教一段matlab的代码 - 数学 - 小木虫 - 学术 科研 互动社区...
  5. Excel--Solver安装和使用
  6. JavaScript重难点解析5(对象高级、浏览器内核与事件循环模型(js异步机制))
  7. 11条重要的数据库设计原则
  8. python 使用 plt.savefig() 保存图片去除旁边的空白区域
  9. 数组的数据查找c语言,【查找数组面试题】面试问题:c语言实现数据… - 看准网...
  10. Win 10、Win 11 安装 MuJoCo 及 mujoco-py 教程
  11. 水晶报表html,水晶报表教程:手把手教你制作基本报表
  12. c语言pic延时1ms程序,几个延时子程序
  13. 服务器2008r2启动修复,Windows Server 2008 R2原生启动试用
  14. 传热学相关的无量纲数的物理意义
  15. 李慧芹数据结构代码(顺序表)
  16. 字节跳动实习校招社招内推
  17. 看服务器被入侵如何排查?如何防止服务器被入侵?
  18. Catalan number (卡兰特数)
  19. 河南省计算机专业三本排名2015,河南三本大学排名【最新排行榜】
  20. 16-K3S Helm

热门文章

  1. IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
  2. iOS开发中的HTML解析
  3. python 调用图灵机器人api实现简单的人机交互
  4. paip.java 调用c++ dll so总结
  5. CLR Via CSharp读书笔记(11):事件
  6. 存储过程与业务类实现业务的差异比较
  7. 6.Shell 编程从入门到精通 --- 文件和文件系统
  8. 50. 避免重定向(11)
  9. jquery中css()与animate()
  10. rabbitmq - (消息队列) 的基本原理介绍