IE盒子

搜索
查看: 101|回复: 3

SQL速成教程丨MySQL

[复制链接]

5

主题

10

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2022-12-9 20:31:14 | 显示全部楼层 |阅读模式
一 介绍和数据库管理软件安装
掌握SQL是数据分析师分析数据的必要条件,因为大部分公司的基础数据基本上都存储在数据库中,而对于数据的分析首先得从数据库中查询出想要的结果,对于数据分析师需要的硬件技能请阅读刘顺祥老师的文章:数据分析师需掌握的硬件技能。
在具体学习SQL之前,我们首先了解下MySQL:
MySQL是一个关系型数据库软件,由瑞典MySQL AB公司开发,目前属于Oracle公司。为什么使用MySQL:

  • MySQL是开源的,(这点与R一样),所以我们不需要支付额外的费用就能使用;
  • MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库;
  • MySQL使用标准的SQL数据语言形式;
  • MySQL可以允许于多个系统上,并且支持多种语言。这些编程语言包括R、Python、Java、PHP、Ruby等。
至于对MySQL数据库管理系统的软件的安装,请直接在官网下载并且安装:点我下载;关于该软件的安装比较简单,这里不再过多介绍。
安装完成的界面如图显示:


******************************************************************************************
二 基本概念
1.主键(primary key)
表中每一行都应该有一列(或几列)可以唯一标识自己。顾客表可以使用顾客编号,而订单表可以使用订单ID。雇员表可以使用雇员ID或雇员社会安全号。
唯一标识表中每行的这个列(或这几列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行极为困难,因为你不能保证操作只涉及相关的行。
表中的任何列都可以作为主键,只要它满足以下条件:

  • 任意两行都不具有相同的主键值;
  • 每一行都必须具有一个主键值(主键列不允许NULL值);
  • 主键列中的值不允许修改或更新;
  • 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)
2.什么是SQL
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。本部分中使用的数据库管理软件是MySQL。
SQL语句有如下的优点:

  • SQL不是某个特定数据库供应商专用的语言。几乎所有重要的DBMS(数据库管理系统)都支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
  • SQL简单易学。它的语句全都是由很强描述性的英语单词组成,而且这些单词的数目不多。
  • SQL虽然看上去很简单,但实际上不是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。
******************************************************************************************
三 SQL语句学习
SQL语句的学习主要学习的知识库是:w3school和书本《SQL必知必会》。
本部分中的例子都为MySQL中的现有数据为例:
① 基础教程

  • SQL SELECT 语句
SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。
语法:
SELECT 列名称 FROM 表名称
SELECT * FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
-----------------------------------------------------------------------------------------------
举例:从数据库world中把表country和countrylanguage选择出。
SELECT * FROM world.country;
SELECT * FROM world.countrylanguage;

注释:星号(*)是选取所有列的快捷方式。
******************************************************************************************

  • SQL SELECT DISTINCT 语句
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词 DISTINCT 用于返回唯一不同的值。
语法:
SELECT DISTINCT 列名称 FROM 表名称-----------------------------------------------------------------------------------------------
举例:如果我们从表countrylanguage中选取language列,则使用
SELECT Language FROM world.countrylanguage;

我们从截图可以看到选择出的该列中是有重复值,如果我们仅仅需要的是没有重复值的列,则只需在language前添加DISTINCT:
SELECT DISTINCT Language FROM world.countrylanguage;

******************************************************************************************

  • SQL WHERE 语句
WHERE 语句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法:
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值下面的运算符可在WHERE语句中使用:


注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
-----------------------------------------------------------------------------------------------
举例:从country表中选取Region列为Caribbean和
SELECT * FROM world.country WHERE Region='Caribbean';
SELECT * FROM world.country WHERE IndepYear=1966



注释:从如上两个例子可以看出,当条件值为文本时需要用单引号;如果条件值为数值时则不需要用引号。
*****************************************************************************************

  • SQL AND & OR 运算符
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
AND和OR预算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录
-----------------------------------------------------------------------------------------------
举例:
1.从country表中选取Name为Aruba且Region为Caribban的数据:
SELECT * FROM world.country WHERE Name='Aruba' And Region='Caribbean';

2.从country表中选取Name为Aruba或Region为Caribban的数据:


******************************************************************************************

  • SQL ORDER BY 语句
ORDER BY 语句用于对结果集进行排序
ORDER BY语句用于根据指定的列对结果集进行排序。
ORDER BY语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,您可以使用DESC关键字。
-----------------------------------------------------------------------------------------------举例:
SELECT Name, Population FROM world.country order by Population;
SELECT Name, Population FROM world.country order by Name,Population;



******************************************************************************************

  • SQL INSERT INTO
INSERT INTO 语句用于向表格插入新的行
语法
INSERT INTO 表名称 VALUES (值1, 值2,....)我们也可以指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)由于countrylanguage表中的字段比较少,我们就以该表为例:
刚开始直接添加时报如下的错误:


   经过核查原因是需要先在country表中添加主键,添加主键后再能在countrylanguage表中添加字段:
INSERT INTO world.country (Code) value('ABC');
INSERT INTO world.countrylanguage values('ABC','Dutch','T',44.4);

******************************************************************************************

  • SQL UPDATE 语句
UPDATE 语句
Update语句用于修改表中的数据
语法:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值-----------------------------------------------------------------------------------------------
举例:更新某一行中的一个列
UPDATE world.country SET Name ='xiaoweige' WHERE Code='ABC';

******************************************************************************************

  • SQL DELETE语句
DELETE 语句用于删除表中的行
语法
DELETE FROM 表名称 WHERE 列名称 = 值-----------------------------------------------------------------------------------------------
举例:删除某行
DELETE FROM world.countrylanguage where CountryCode='ABC'

如上显示该表中的该行则全部删除。
② 高级教程

四 SQL语句测验
1.在SQL语句中的测试比较简单
测验路径:测验路径之w3school


2.在SQLZoo中测试
测验路径:点击测验
数据库如下












五 总结

  • SQL语句的语法基本上都是很简单,但是要熟练的掌握还需勤动手;
  • 语句都是基础的,要学会组合使用语句是以后使用SQL语句的关键,这个就跟我们在学习Excel函数时的方法一样;
  • 本章还有一些高级的课程还未完善,后续继续完善!
************************************************************************************************************************************************************************************
2017年即将结束,今天是2017年12月31日 在杭州华为陪妹子加班!2018年继续加油!
回复

使用道具 举报

2

主题

8

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-12-9 20:31:56 | 显示全部楼层
SQLsever删不干净怎么办啊?
回复

使用道具 举报

1

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-12-9 20:32:41 | 显示全部楼层
推荐使用geek软件删除
回复

使用道具 举报

1

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2025-3-26 14:28:33 | 显示全部楼层
前排,哇咔咔
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表