MySQL系列教程小白数据库基础
导读
这里介绍的MySQL相关知识,并不是针对那些想学习DBA的同学,而是针对那些想转行、从事数据分析行业的同学。
下面这些知识点,是我学习MySQL数据库时,觉得有必要掌握的一些知识点。
1、基础概念与基础命令
1)基础概念
① 数据库
按照一定数据结构,存储和管理数据的仓库。
② 数据库的分类
数据库的常见分类,是将数据库分为关系型数据库和非关系型数据库。
③ 什么是关系型数据库?
将复杂的关系,以简单的二元形式进行表示,即用行和列的形式进行表示(表格形式),其中每一行叫做记录,列叫做字段。其中MySQL就是一种很常用的关系型数据库。
二元形式:类似于excel表格数据,就是一种二元形式。
④ 数据库管理系统:DBMS
数据库管理系统是用于管理和操作数据库的软件。其中,关系型数据库管理系统(RDBMS)有Oracle、MySQL、SQL Server、DB2、IBM等。非关系型数据库管理系统(Nosql)有redis、Hbase、mongodb、neo4j等
⑤ MySQL的介绍
MySQL是一个关系型的数据库管理系统。最初是由mysql ab公司设计出来的产品,后来被Oracle数据库收购了。MySQL数据库内部采用“分库分表”的形式管理数据。一个MySQL数据库管理系统可以管理多个数据库;一个数据库中又可以存放多张表。同时MySQL开源免费,支持千万级别的数据查询,支持GPL(开源许可证)。
⑥ 什么是SQL语言?
SQL语言,全称是“structured query language”,叫结构化查询语言,是操作数据库的标准化语言,能够实现对数据库的访问何操作。
⑦ 注意MySQL和SQL的区别!
这里有一种错误的说法:你会不会MySQL?其实这个说法是有问题的,MySQL指的其是数据库管理系统,问你会不会MySQL,其实是问你会不是对数据库进行增、删、改、查,因此这个MySQL说的就是前面提到的“SQL语言”,只不过大家习惯性的用MySQL这种说法代替SQL。
⑧ SQL语言的分类
⑨ 什么是“表”?
表是某种特定类型数据的结构化清单。
这里所说的“某种特定类型”指的是存储在表中的数据,是一种类型的数据。你不能将顾客信息的清单和订单的清单都柔和在一起,存储在同一张数据库表中。这对于以后数据的检索和访问变得困难,我们应该一个清单一张表。
每张数据库都应该有一个表名,用来唯一标识自己。同一个数据库中不能有表名相同的两张表,但是不同的数据库中却可以使用相同的表名。
⑩ 什么是“列”?
表由列组成,每一列存储着表中某部分的信息。每一列是是表中的一个字段。一张表是由一个或 多个列组成的。
需要特别注意的是:表中的每一列应该是存储着一条特定的信息。例如,省份、城市、邮政编码应该都是单独的列。我们不能将这3个不同的信息,都组合在一个列中,否则会给查询增加很大的麻烦。
⑪ 什么是“数据类型”?
表中的每一列都应该具有相应的数据类型,数据类型标志着该列可以存储哪些数据。
常用的数据类型有字符串类型、数值类型、日期类型。数据类型的详细介绍,将会在后面的系列文章中给出。
数据类型有很重要的作用,它能够帮助正确的排序数据,并且在优化磁盘使用方面骑着很重要的作用。
⑫ 什么是“行”?
表中的数据是按行存储的,每一行代表一个记录。如果将表想象成一个网格,那么网格中垂直的列为表列,水平行为表行。
2)基础命令
① 连接数据库
MySQL数据库是“客户机-服务器”类型的数据库管理系统。形象地说,一个MySQL数据库管理系统至少存在着两部分,一是服务器端,这个我们看不到,却每次使用数据库的时候,总是从里面获取到数据。二是客户端,我经常使用的客户端有CMD窗口、Navicat,这些客户端能够让我们输入SQL语句,来进行数据的访问和获取。因此我们在执行命令之前,需要先登录到这个数据库管理系统。
"登录MySQL数据库,需要以下几个信息" 主机名 端口 用户名 用户口令(密码) mysql -h localhost -u root -P 3306 -p 123 -h 主机名:localhost表示服务器在本地 -u 用户名:用户名root -P 端口:默认端口3306 -p 口令:口令123
在CMD黑窗口中,如果你登陆了MySQL数据库,是如下这个界面:
② 选择数据库
当你刚刚连接上数据库的时候,是没有任何一个数据库打开供你使用的。在你对任意数据库执行操作之前,你需要先选择一个数据库。
"基本语法":use 数据库名; use huangwei; """ 注意:在CMD黑窗口中,每一句代码后面必须带上一个“;”分号。但是在好多软件中 使用SQL语句,却不需要带上“;”分号,有时候带上“;”分号还会出错。 """
③ 了解数据库和表
show databases
:返回可用数据库的列表;
show tables
:返回数据库表的列表;
show columns from 表名
:返回某个表的具体信息,等同于“desc+表名”;
2、SQL语句的书写顺序和执行顺序
你如果想要学好SQL语句,必须首先了解SQL语句的书写顺序和执行顺序。SQL语句的书写顺序和执行顺序不一致,是导致SQL写错、写不出来的重要原因。鉴于此,在学习SQL语句的过程中,你要好好理解”书写顺序“和”执行顺序“两个概念。
1)一个完整SQL查询语句的书写顺序
-- "mysql语句编写顺序" 1 select distinct * 2 from 表(或结果集) 3 where … 4 group by …having… 5 order by … 6 limit start,length -- 注:1、2属于最基本语句,必须含有。 -- 注:1、2可以与3、4、5、6中任一搭配,也可以与3、4、5、6中多个同时搭配。
2)一个完整的SQL语句执行顺序
对上图的解释如下:
3)关于select和having执行顺序谁前谁后的说明
注意:谁要是有说服我的说法,麻烦留言告知我一下,谢谢。