1- MySQL 软件安装及数据库基础
1.1数据库安装及环境配置
Windows系统。链接:link.http://www.runoob.com/mysql/mysql-install.html 。官网有很多版本,有的是收费的,这里建议安装社区版的,也就是MySQL Community Server。现在版本更新到8.0,个人安装时出现了一系列的问题安装不成功,换成5.6版本,没有出现问题。安装时会有两种安装包,msi和zip。前者安装成功就已经配置好了环境变量,后者是需要手动配置环境变量和启动服务器的。安装时不用选择32位操作系统还是64位,ALL选项中已经包含所有。
1.2使用可视化图形软件 Navicat for SQL
MySQL是一款体积小,速度快的软件,但是没有可视化的功能,对于一些学生或者工作者用起来很不方便,所以 Navicat图形化工具就很有必要了。百度直接搜索 Navicat for SQL,点击相关链接就可以下载了,下载后打开需要连接数据库,连接到本地,设置密码,连接完成后即可以使用了。
2- MySQL 基础 (一)查询语句
导入示例数据库,教程link. https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html
SQL 是什么?MySQL 是什么?
查询语句 SELECT FROM
语句解释
去重语句
前 N 个语句
筛选语句 WHERE
语句解释
运算符
分组语句 GROUP BY
语句解释
HAVING 子句
)排序语句 ORDER BY
语句解释
正序、逆序
SQL 注释
SQL 代码规范
[SQL 编程格式的优化建议] link.https://zhuanlan.zhihu.com/p/27466166
[SQL Style Guide]link.https://www.sqlstyle.guide/
项目一:查找重复的电子邮箱(难度:简单)
创建 email 表,并插入如下三行数据
±—±--------+
| Id | Email |
±—±--------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
±—±--------+
编写一个 SQL 查询,查找 email 表中所有重复的电子邮箱。
根据以上输入你的查询应返回以下结果:
±--------+
| Email |
±--------+
| a@b.com |
±--------+
说明:所有电子邮箱都是小写字母。
创建表
创建表有两种方法,一:右击表,新建,然后输入各列,编辑输入数据就行。二:通过新建查询输入代码来创建。下面是两种方法。
(一)
(二)
CREATE TABLE email (
ID INT NOT NULL PRIMARY KEY,
Email VARCHAR(255) NOT NULL
);
INSERT INTO email VALUES(‘1’,‘a@b.com’);
INSERT INTO email VALUES(‘1’,‘a@b.com’);
INSERT INTO email VALUES(‘3’,‘a@b.com’);
查询
运行结果
项目二:查找大国(难度:简单)
创建如下 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);
查询
运行结果