MYSQL学习笔记-打卡1

Task 1(3天)

1.1 - MySQL 软件安装及数据库基础

学习内容:
1.软件安装及服务器设置。http://www.runoob.com/mysql/mysql-install.html
2.使用图形界面软件 Navicat for SQL
3数据库基础知识
a.数据库定义
b.关系型数据库
c二维表
d.行
e.列
f.主键
g.外键
4.MySQL 数据库管理系统
a.数据库
b.数据表
c.视图
d.存储过程
参考资料
1.[SQL 必知必会] https://u18036366.pipipan.com/fs/18036366-300877816
2.[MySQL 教程] http://www.runoob.com/smysql/mysql-tutorial.html
额外的参考资料:
1.虚拟机安装Linux https://blog.csdn.net/yang5726685/article/details/78635388
2.Windows 10下 MySQL https://cloud.tencent.com/developer/article/1010608
3.Windows 安装 MySQL 常见问题 https://blog.csdn.net/qq_40942329/article/details/79125366

1.2 - MySQL 基础 (一)查询语句

1.导入示例数据库,教程 https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html
2.SQL 是什么?MySQL 是什么?
查询语句 SELECT FROM
a.语句解释
b.去重语句
c.前 N 个语句
3.筛选语句 WHERE
a.语句解释
b.运算符
4.分组语句 GROUP BY
a.语句解释
b.HAVING 子句
5.排序语句 ORDER BY
a.语句解释
b.正序、逆序
6.SQL 注释
7.SQL 代码规范
a.[SQL 编程格式的优化建议] https://zhuanlan.zhihu.com/p/27466166
b.[SQL Style Guide] https://www.sqlstyle.guide/

  • 以下操作均在Navicat for Mysql 中运行
  • 安装和运行过程中无明显问题,在mysql中新建了一个数据库test用于任务打卡

项目一:查找重复的电子邮箱(难度:简单)

创建 email 表,并插入如下三行数据
±—±--------+
| Id | Email |
±—±--------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
±—±--------+

编写一个 SQL 查询,查找 email 表中所有重复的电子邮箱。
根据以上输入你的查询应返回以下结果:

±--------+
| Email |
±--------+
| [email protected] |
±--------+
说明:所有电子邮箱都是小写字母。

–创建表

CREATE TABLE email
(ID INT NOT NULL PRIMARY KEY,
 Email VARCHAR(255) NOT NULL);

–插入数据

INSERT INTO email VALUES('1','[email protected]');
INSERT INTO email VALUES('2','[email protected]');
INSERT INTO email VALUES('3','[email protected]');

–代码(编写一个 SQL 查询,查找 email 表中所有重复的电子邮箱)

SELECT Email FROM email
GROUP BY Email 
HAVING COUNT(Email) > 1;

–结果
在这里插入图片描述

项目二:查找大国(难度:简单)

创建如下 World 表

±-----------±---------±--------±-------------±--------------+
| name | continent| area | population | gdp |
±-----------±---------±--------±-------------±--------------+
| Afghanistan| Asia | 652230 | 25500100 | 20343000 |
| Albania | Europe | 28748 | 2831741 | 12960000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000 |
| Andorra | Europe | 468 | 78115 | 3712000 |
| Angola | Africa | 1246700 | 20609294 | 100990000 |
±-----------±---------±--------±-------------±--------------+

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

例如,根据上表,我们应该输出:

±-------------±------------±-------------+
| name | population | area |
±-------------±------------±-------------+
| Afghanistan | 25500100 | 652230 |
| Algeria | 37100000 | 2381741 |
±-------------±------------±-------------+

–创建表

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);

–代码(编写一个 SQL 查询,输出表中所有大国家的名称、人口和面积。)

SELECT name, population, area 
FROM world
WHERE area > 3000000 
OR (population > 25000000 AND gdp > 20000000)

–结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Baby1601tree/article/details/88958426