Datawhale-MySQL-第5期-Day 2-导入数据库到MySQL,SQL基础语法

任务二 MySQL 基础 (一)- 查询语句 任务时间 请于2月28日22:00前完成,在本文章评论打卡。逾期尚未打卡的会被清退。

学习内容 :

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

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

3. 查询语句 SELECT FROM 语句解释 去重语句 前N个语句 CASE...END判断语句

4. 筛选语句 WHERE 语句解释 运算符/通配符/操作符

5. 分组语句 GROUP BY 聚集函数 语句解释 HAVING子句

6. 排序语句 ORDER BY 语句解释 正序、逆序

7. 函数 时间函数 数值函数 字符串函数

8. SQL注释

9. SQL代码规范 [SQL编程格式的优化建议] SQL编程格式的优化建议 - 知乎 [SQL Style Guide] SQL style guide by Simon Holywell 

扫描二维码关注公众号,回复: 5360467 查看本文章

学习过程:

1. 跟着教程走即可。

 

================================================================================================

2.  

SQL 是用于访问和处理数据库的标准的计算机语言。


SQL 是什么?

  • SQL,指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库。
  • SQL 是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,所以你不需要支付额外的费用。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

================================================================================================

3. 

SELECT 语句用于从数据库中选取数据。

结果被存储在一个结果表中,称为结果集。

SQL SELECT 语法

SELECT column_name,column_name
FROM table_name;

SELECT * FROM table_name;

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

SQL SELECT DISTINCT 语法

SELECT DISTINCT column_name,column_name
FROM table_name;

SQL SELECT TOP 子句

SELECT TOP 子句用于规定要返回的记录的数目。

SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。

注意:并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。

MySQL 语法

SELECT column_name(s)
FROM table_name
LIMIT number;

在SQL Server中 case...end 语句,一般有如下两种用法:

  1、相当于C#中if...else,例:

1 select CName,头衔=case
2                 when CLevel='A1' then '初级程序员'
3                 when CLevel='A2' then '中级程序员'
4                 when CLevel='A3' then '高级程序员'
5                 else '骨灰级大师'
6             end
7 from Coder

复制代码

这种写法可以用来做区间或等值的判断。

  2、相当于C#中的switch...case,例:

1 select CName,头衔=case CLevel
2                 when 'A1' then '初级程序员'
3                 when 'A2' then '中级程序员'
4                 when 'A3' then '高级程序员'
5                 else '骨灰级大师'
6             end
7 from Coder

这种写法只能用来做等值的判断。

注意事项:在 case...end 语句中,then后面值的数据类型必须保持一致。

4. 

SQL WHERE 子句

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

SQL WHERE 语法

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

运算符 描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

===========================================================================================

5.

GROUP BY 语句

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

SQL GROUP BY 语法

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

HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。

HAVING 子句可以让我们筛选分组后的各组数据。

SQL HAVING 语法

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

================================================================================================

6. 

SQL ORDER BY 关键字

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

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

SQL ORDER BY 语法

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

================================================================================================

7. 

================================================================================================

8. 

单行注释 # 或者 --

多行注释 /* */

作业:

1.  

# Write your MySQL query statement below
select distinct P1.Email
from Person as P1, Person as P2
where P1.Id != P2.Id and P1.Email = P2.Email

2. 

# Write your MySQL query statement below
select name, population, area 
from World 
where area > 3000000 or (population > 25000000 and gdp > 20000000)

猜你喜欢

转载自blog.csdn.net/qq_32424059/article/details/87983002