//////////
导读:科学技术的快速发展正在改变我们的社会,也在不经意间改变着未来人们的职业规划。据媒体预测,数据分析将是未来最重要的工作技能之一。或许不久的将来,一家企业中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
ORDERBY语法
语法: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数据库。