MySql学习 day02

1. 导入数据库,教程 MySQL导入示例数据库 - MySQL教程™

将数据库文档导入navicat中,将文档后缀改为.sql,选择想要导入数据表的数据库,右键选择“运行sql文件”,选择对应的sql文档,进行导入。
在这里插入图片描述
如果导入成功,则显示如下:
在这里插入图片描述
有时候导入失败,会出现这种报错。
在这里插入图片描述
有时候会出现如上图这种导入错误,可能是隐藏字符的原因,这个时候大概需要手动复制粘贴分批导入。
选择数据库—新建表查询–将sql语句粘贴进编辑器—运行
在这里插入图片描述
运行后的数据会被执行并自动建表,也可以通过这种分批导入的方式查找文档中到底哪个地方有问题,导入直接导入失败。

2. SQL是什么?MySQL是什么?

SQL和MySQL的区别

3. 查询语句 SELECT FROM

语句解释:从对象表单中查找符合条件的字段,select 字段名 from 表单名
例:从表单city中查找city_id
在这里插入图片描述
如果查询多个列,列名用,分隔。
select 列名1,列名2 from 表名
例如:
在这里插入图片描述
如果在查询结果中出现重复项,需要做去重操作,有两种方法:
1,使用group by,以重复内容项进行分组。
在这里插入图片描述
2,使用distinct,对含有重复项的列进行去重处理
在这里插入图片描述
前N个语句
筛选查询结果中的前N项,使用limit+N
例如:查询表单payment中 amount列的前三条数据。
在这里插入图片描述
CASE…END判断语句
如果我想筛选payment表单中的列,按照amount的值来比较,大于2的备注为more,小于2的备注为less。
在这里插入图片描述
**

4. 筛选语句 WHERE

**
语句解释
在这里插入图片描述
运算符/通配符/操作符
这一部分功能比较强大的是通配符%和like进行模糊查询,要注意的一点就是各种运算符的优先级。
在这里插入图片描述

5. 分组语句 GROUP BY

在这里插入图片描述
聚集(合)函数
AVG(col)返回指定列的平均值
COUNT(col)返回指定列中非NULL值的个数
MIN(col)返回指定列的最小值
MAX(col)返回指定列的最大值
SUM(col)返回指定列的所有值之和
GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

HAVING子句

having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前而 having子句在聚合后对组记录进行筛选
MySQL中where和having的区别

6. 排序语句 ORDER BY

在这里插入图片描述

7. 函数

时间函数
数值函数
字符串函数
参考资料:MySQL常用函数汇总

8. SQL注释

MySql–三种注释写法

需要特别注意 – 这种注释后面要加一个空格

#DELETE FROM SeatInformation

/*DELETE FROM SeatInformation */
– DELETE FROM SeatInformation

9. SQL代码规范

[SQL编程格式的优化建议] 知乎链接
[SQL Style Guide]l SQL style guide by Simon Holywel


练习:

项目一:查找重复的电子邮箱(难度:简单)
创建 email表,并插入如下三行数据
±—±--------+
| Id | Email |
±—±--------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
±—±--------+

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

±--------+
| Email |
±--------+
| 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 |
±-------------±------------±-------------+

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值