MySQL 学习2

1、导入示例数据库

参考教程:https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html
导入成功验证在这里插入图片描述

2、SQL是什么?MySQL是什么?

  • SQL,指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。
  • MySQL是在90年代中期开发的,是市场上第一个可用的开源数据库之一。今天有很多MySQL的替代变种。但是,变体之间的差异并不重要,因为它们使用相同的语法,并且基本功能也保持不变。
  • MySQL是一种RDBMS,它允许保持数据库中存在的数据。MySQL的发音为“我的SQL”,但它也被称为“我的续集”。它以联合创始人Michael Widenius的女儿的名字命名。MySQL提供对数据库的多用户访问。在Linux发行版之上,此RDBMS系统与PHP和Apache Web Server的组合一起使用。MySQL使用SQL语言来查询数据库。

3、select语句

SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。
常用语法 SELECT column_name,column_name FROM table_name;
去重语句 SELECT DISTINCT column_name FROM table_name;
前N个语句 SELECT column_name(s) FROM table_name LIMIT number;
前5行
case when then end

该语句的执行过程是:将case后面表达式的值与各when子句中的值进行比较,如果两者相等,则返回then后的表达式的值,然后跳出case语 句,否则返回else子句中的表达式的值。else子句是可选项。当case语句中不包饭else子句时,如果所有比较失败时,case语句将返回 NULL。

4、where语句

WHERE 子句用于提取那些满足指定标准的记录。

运算符

= 等于、<> 不等于、> 大于、< 小于、>= 大于等于、<= 小于等于、BETWEEN 在某个范围内、LIKE 搜索某种模式、IN 指定针对某个列的多个可能值等。

通配符

  • %:表示任意个或多个字符。可匹配任意类型和长度的字符。
  • _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。

5、group by

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

常用聚集函数
AVG 求平均值

COUNT 统计行的数量

MAX 求最大值

MIN 求最小值

SUM 求累加和

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。

6、order by

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

语法

SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;

7、函数

时间函数
adddate、current_time、date、datediff、dayofyear、mouth、now等

数值函数
abs、count、floor、max、min、round、rand、sort等

字符串函数
concat、field、format、insert、locate、repeat、lower等
更多详情参考:http://www.runoob.com/mysql/mysql-functions.html

8 、SQL注释

单行注释使用

多行注释采用 //

9、SQL代码规范

对关键字大写,对列名和表名小写,使代码更易读。

[SQL编程格式的优化建议] https://zhuanlan.zhihu.com/p/27466166

项目一:查找重复的电子邮箱

创建 email表,并插入如下三行数据

-- 创建表
CREATE TABLE email (
ID INT NOT NULL PRIMARY KEY,
Email VARCHAR(255)
);
-- 插入数据
INSERT INTO email VALUES('1','a@b.com');
INSERT INTO email VALUES('2','c@d.com');
INSERT INTO email VALUES('3','a@b.com');

查找 Email 表中所有重复的电子邮箱。
在这里插入图片描述

项目二:查找大国

– 创建表

CREATE TABLE World (
name VARCHAR(50) NOT NULL,
continent VARCHAR(50) NOT NULL,
area INT NOT NULL,
population INT NOT NULL,
gdp INT NOT NULL
);

– 插入数据

INSERT INTO World
  VALUES('Afghanistan','Asia',652230,25500100,20343000);
INSERT INTO World 
  VALUES('Albania','Europe',28748,2831741,12960000);
INSERT INTO World 
  VALUES('Algeria','Africa',2381741,37100000,188681000);
INSERT INTO World
  VALUES('Andorra','Europe',468,78115,3712000);
INSERT INTO World
  VALUES('Angola','Africa',1246700,20609294,100990000);

题目:如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这个国家就是大国家。
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。

在这里插入图片描述

加油,多多学习!!!

本系统旨在构建一套面向高等院校的综合性教务管理平台,涵盖学生、教师及教务处三个核心角色的业务需求。系统设计着重于实现教学流程的规范化与数据处理的自动化,以提升日常教学管理工作的效率与准确性。 在面向学生的功能模块中,系统提供了课程选修服务,学生可依据培养方案选择相应课程,并生成个人专属的课表。成绩查询功能支持学生查阅个人各科目成绩,同时系统可自动计算并展示该课程的全班最高分、平均分、最低分以及学生在班级内的成绩排名。 教师端功能主要围绕课程与成绩管理展开。教师可发起课程设置申请,提交包括课程编码、课程名称、学分学时、课程概述在内的新课程信息,亦可对已开设课程的信息进行更新或撤销。在课程管理方面,教师具备录入所授课程期末考试成绩的权限,并可导出选修该课程的学生名单。 教务处作为管理中枢,拥有课程审批与教学统筹两大核心职能。课程设置审批模块负责处理教师提交的课程申请,管理员可根据教学计划与资源情况进行审核批复。教学安排模块则负责全局管控,包括管理所有学生的选课最终结果、生成包含学号、姓名、课程及成绩的正式成绩单,并能基于选课与成绩数据,统计各门课程的实际选课人数、最高分、最低分、平均分以及成绩合格的学生数量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值