数据分析必备——SQL入门基础知识

2023-05-16

数据说·梦想季

一直很喜欢一句话:山鸟与鱼不同路,从此山水不相逢。意思就是如果你现在不够优秀,即使遇见了,也不配拥有…...努力是唯一的方向!

//

导读:科学技术的快速发展正在改变我们的社会,也在不经意间改变着未来人们的职业规划。据媒体预测,数据分析将是未来最重要的工作技能之一。或许不久的将来,一家企业中80%的岗位,都需要数据分析的能力。可见,数据分析在各行各业中都展有着异常重要的地位,小到日常消费,大到行业决策。所以,目前数据分析岗位也在大幅度激增。对于想走数据分析职业道路的小伙伴,不仅仅需要了解统计学的基本知识(参考《数据分析必备——统计学入门基础知识》),Excel的基础知识(参考《数据分析必备——Excel基础知识》),也要学习一些数据库和SQL的内容哦!

SQL的全称是Structured Query Language(结构化查询语言),是一种古老而简洁的程序设计语言。结构化查询语言,顾名思义,它的基础在于结构化的数据库表,最主要的应用场景在于数据查询,虽然SQL也可以像其它语言一样有一些高级的写法,但它的主战场并不在此,仍要回归到对数据库表的操作和处理中。

因此,本文将围绕数据库及SQL的基础知识展开简单的介绍以及梳理,(本文只是对SQL简单的梳理,深入的知识的原理,对基础有一定的认识,可以自主去探索、深入研究,这样的效益更大,真心希望能帮助到大家~,但感兴趣的同学请参考《SQL基础教程》、《SQL必知必会》、《深入浅出 SQL(中文版)》等专业书籍 ,也可以添加木兮,领取SQL学习资料!)

全文框架预览:     

  

01

数据库

数据库的英文名称DataBase,简称:DB,是用于存储和管理数据的仓库。数据库分为2类,关系型数据库(Relational DataBase)和非关系型数据库(NOSQL DataBase)

▍关系型数据库:根据实体与实体(可理解为数据)之间的关系,用数据表的形式进行存储。由于使用的表结构,表的维护相对简单,SQL语言在此类数据库中基本通用,且其支持复杂查询。不好的地方在于,其扩展性较差,高并发读写较差,因此此类数据库不适用于大数据的高并发场景。

▍非关系型数据库:以键值对(key/value)的方式存储,获取数据的方式直接查询键(key)获取。键值对的存储方式使得存储更灵活,例如图片、文档等都可以进行存储,而且此类数据库查询数据极快,且扩展性很高,目前很多公司都在采取非关系型数据库的。但其缺点是,不提供SQL支持,学习和使用成本高,复杂查询方面稍欠缺。

对初学者而言,先学习关系型数据库,更容易理解和消化。因此,本文以关系型数据库为重点进行详细的讲解。关于数据库的下载、安装等前置方面的知识和要点,本文不再进行赘述,各位参考网络教程即可。

02

Navicat

安装好数据库后,需要用代码进行操作,给学习造成了很多不便,所以Navicat Premium得到了很多人的认可,它是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设的产品,可多重连接的数据库管理工具,它可让你以单一程序同时连接到MySQL、Oracle、PostgreSQL、SQLite 及 SQL Server数据库,众多的关系型数据库一个就搞定了。

安装好Navicat Premium之后,连接到数据库服务器(怎么连接参考网络教程)后,就可以在这上面进行操作了,主页面如下: 

03

创建一个数据库

方式1、右键>新建数据库;

方式2、SQL语法创建

语法:CREATE DATABASE [IF NOT EXISTS]#可选内容(可选内容为字符串和校对规则,不设置就是默认的)。

例子:创建一个使用utf8字符集,并带校对规则的TestDB数据库;

SQL:  create database TestDB character set utf8 collate utf8_bin;

       

04

创建一个数据表

方式1:主界面选中数据库>选中Tables>右键>new table;

          

方式2、SQL语法创建;

语法:CREATE TABLE 表名称  [IF NOT EXISTS]#可选内容(可选内容为字符串和校对规则,不设置就是默认的);

例子:创建TestDB中的数据表EMP;

SQL: create table EMP  (
id int,
name varchar(20),
gender char(1),
birthday date,
salary double,
resume text
);

varchar(20)为name这个字段的字段类型,也就是可视化中的type这个需要填入的内容,这部分内容需要大家去探索学习哒!

05

给数据表插入数据

方式1、页面插入

选中需要插入的数据表>查看数据表>点击底部的操作栏+>填写数据>点击底部操作栏√

        

方式2、SQL插入

法:INSERT INTO 表名称  VALUES (列1的值, 列2的值);

例子:INSERT INTO EMP  VALUES (10, '崔雨萌', '2', '2000-11-15', '6900', '女');

06

查询数据

方式1、tables>右键>open table;2、SQL语法查询;

查看表结构:desc tab_name;
查询当前数据库中的所有表:show tables;
查看表的建表语法:show create table;

查询表数据:select * from 表名#其他条件,其他条件后续说明

例子:SELECT * FROM EMP WHERE salary >= '8000' AND resume = '女';SELECT salary, resume FROM EMP WHERE salary >= '8000' AND resume = '女';

 

 

07

修改数据

方式:1、tables>右键>design table;2、SQL语法修改;

修改列的名称(name修改为username):alter table 表名称  change name username varchar(20);

修改表的名称:rename table 表名 to 新表名;

增加列:alter table 表名称  add image blob;

修改某行:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;

例子:UPDATE 表名称  SET name= 'Fand' WHERE 列名称 = '沈柏金'

修改某一列:UPDATE EMP  SET gender = '1' WHERE Name = '沈柏金'

 

08

删除数据

语法:alter,删除表及列; DELETE FROM ,删除指定行;

删除列:alter table 表名称  drop 列名称;

例子:alter table  EMP drop name ;

删除行:DELETE FROM 表名称 WHERE 列名称 = 值;

例子:DELETE FROM EMP WHERE name = '沈柏金';

09

WHERE语法

Where是条件语法,后跟具体的条件。

语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

            

例子:查询薪资大于8000的女生;

SELECT * FROM emp WHERE salary >= '8000' AND resume = '女';

10

ORDER BY 语法

语法:SELECT 查找列 FROM 表名称ORDER BY 排序列;

例子:把EMP这张表按照salary正序排序展示;

SQL:SELECT * FROM EMP ORDER BY salary;-- 默认就是正序排序

       

例子:把EMP这张表的gender正序,salary逆序

SQL: SELECT * FROM EMP ORDER BY gender ASC , salary DESC ;

-- ASC 正序,DESC 逆序,同时存在第一列有相同值时第二列按要求进行排序。

       

End

循序渐进

以上介绍的基础语法也需要同学们进行实操联系,主旨是清晰的把握重点,配合适当练习。千里之行,始于足下,当我们迈出第一步的时候,后续的步伐才能更加强健有力。学习一种语言并不是目的,目的是学会使用达到我们的目的,后续我们再会!

注:SQL不强调大小写,每个语句后的分号为英文的分号,本文的语法基于MySQL数据库。

图片来源于网络

要是有新的想法和观点,欢迎在下方留言区讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据分析必备——SQL入门基础知识 的相关文章

随机推荐

  • ThreadPoolExecutor线程复用与超时销毁的原理

    前言 线程池基本上是每个业务都接触的 xff0c 然而线程池是怎么复用线程 xff0c 线程是怎么自动超时回收 xff0c core核心线程为什么不回收 xff0c 一直没有过多关注 xff0c 最近有疑问这些事怎么实现的 xff0c 偶有
  • Python参数校验工具:validate.py

    一直都在找一个比较好用的参数校验工具包 xff08 Python xff09 xff0c 这次终于找到了就做个记录 包名 xff1a validate py 安装方式 xff1a xff08 pip已收入 当前最新版本是1 3 0 xff0
  • 启动AndroidStudio报错Missing essential plugin:org.jetbrains.android Please reinstall Android Studio...

    问题 今天升级Android Studio 后 xff0c 打算重新启动 xff0c 却发现启动报错如下 xff1a Missing essential plugin span class token punctuation span or
  • 如何在Oracle官网下载JAVA SE 8版本(JDK 1.8.0)

    目录 一 判断你的情况是否符合本文二 JDK的安装三 配置环境变量环境变量设置测试阶段 一 判断你的情况是否符合本文 当你搜索http www oracle com technetwork java javase downloads ind
  • kendoGrid合并单元格

    kendoGrid默认API中并没有合并单元格的方法 xff0c 故自己借鉴网友的代码并做了改造 xff0c 下述代码及完成了kendoGrid中的行的合并 xff08 在 dataBound事件中完成 xff09 span class t
  • Git合并指定文件到其他分支

    1 合并某个分支上的指定commit span class token comment 在dev分支合并bugfix分支上的 ac0ca63 commit span git branch span class token operator
  • shell命令—find

    find命令 span class token comment 删除 home fengshuiyue目录下一周前的目录 span fengshuiyue 64 ralc span class token operator gt span
  • shell命令—date

    date命令 span class token comment 获取当前时间 日期格式是 YYYY mm dd HH MM SS span span class token function date span span class tok
  • 大华硬盘录像机、网络摄像机、 网络硬盘录像机外网远程设置DDNS方法

    1 为了便于解释在下文介绍中 xff0c 硬盘录像机 网络摄像机 网络硬盘录像机统一称为 大华设备 2 外网最好是电信 如果不是 xff0c 那必须要确认客户的外网 IP 是唯一的 xff0c 不是与其他用户共用的 3 首先确保 大华设备
  • LibCurl HTTP部分详细介绍

    目录索引 xff1a 一 LibCurl基本编程框架 二 一些基本的函数 三 curl easy setopt函数部分选项介绍 四 curl easy perform 函数说明 xff08 error 状态码 xff09 五 libcurl
  • navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK

    今天使用Navicat连接Oracle数据库 xff0c 报了下面的这个错误 xff1a ORA 12737 Instant Client Light unsupported server character set ZHS16GBK 从这
  • RabbitMQ 与 Kafka深度解析(二)

    介绍 作为一名处理大量基于微服务的系统的软件架构师 xff0c 我经常会遇到一个反复出现的问题 xff1a 我应该使用RabbitMQ还是Kafka xff1f 出于某种原因 xff0c 许多开发人员认为这些技术是可以互换的 虽然在某些情况
  • VMWare报错"指定的文件不是虚拟磁盘"或“The file specified is not a virtual disk”

    今天打开原来创建的虚拟机 xff0c 突然报错 指定的文件不是虚拟磁盘 xff0c 如下图 xff1a 由于之前这个虚拟机创建了快照 xff0c 因此下面的解决方法是基于快照的 1 打开虚拟机的 vmx文件 xff0c 我的虚拟机名字为 U
  • Javascript模块加载框架——seajs

    最近看了一些开源web的项目 xff0c 发现其前台采用的框架seajs在编写JavaScript代码上很是方便 xff0c 现将学习的记录记于此 1 什么是JavaScript模块加载 为了解决不同javascript库里操作对象的命名冲
  • JS实现浏览器打印、打印预览

    目前正在做浏览器端采用JS方式实现打印这么一个功能 xff0c JS打印实现的方法很多 xff0c 但是兼容各个浏览器实现打印预览的功能有些棘手 xff0c 现将实现的内容及遇到的问题记录下来 xff0c 希望有大牛看到所提的问题后可以给予
  • 日期与天干地支算法

    天干地支五行对照表 天干 地支与五行的对应表 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 阳 阴 阳 阴 阳 阴 阳 阴 阳 阴 木 木 火 火 土 土 金 金 水 水 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥 鼠 牛 虎 兔 龙 蛇 马
  • TR技术评审节点

    产品开发中 xff0c TR是技术评审节点 下面是某产品的技术评审点 xff0c 供参考 xff1a TR1 概念阶段技术评审点 xff1a 产品需求和概念技术评审 xff08 业务需求评审 xff09 是ISO IEC TR 19768
  • linux虚拟机重新启动后不能联网的问题

    这里解决的是linux中 xff0c 曾经能连上网的情况下 xff0c 重启后或一段时间没上后 xff0c 不能联网的问题 xff08 安装后就没连上网 xff0c 就乖乖安装各种教程来一下啊 xff0c 这里可能不一定适合你 当然 xff
  • Spring MVC执行流程

    Spring MVC 框架是高度可配置的 xff0c 包含多种视图技术 xff0c 例如 JSP FreeMarker Tiles iText 和 POI Spring MVC 框架并不关心使用的视图技术 xff0c 也不会强迫开发者只使用
  • 数据分析必备——SQL入门基础知识

    数据说 梦想季 一直很喜欢一句话 xff1a 山鸟与鱼不同路 xff0c 从此山水不相逢 意思就是如果你现在不够优秀 xff0c 即使遇见了 xff0c 也不配拥有 努力是唯一的方向 xff01 导读 xff1a 科学技术的快速发展正在改变