Node服务器高级开发_MySQL数据库.pdf
MySQL数据库–核心知识
王红元coderwhy
目录
1MySQL介绍和安装
content
2MySQL连接和GUI
3SQL语句和数据类型
4SQL语句-DDL语句
5SQL语句-DML语句
6SQL语句-DQL语句
coderwhy为什么需要数据库?
◼任何的软件系统都需要存放大量的数据,这些数据通常是非常复杂和庞大的:
比如用户信息包括姓名、年龄、性别、地址、身份证号、出生日期等等;
比如商品信息包括商品的名称、描述、价格(原价)、分类标签、商品图片等等;
比如歌曲信息包括歌曲的名称、歌手、专辑、歌曲时长、歌词信息、封面图片等等;
◼那么这些信息不能直接存储到文件中吗?可以,但是文件系统有很多的缺点:
很难以合适的方式组织数据(多张表之前的关系合理组织);
并且对数据进行增删改查中的复杂操作(虽然一些简单确实可以),并且保证单操作的原子性;
很难进行数据共享,比如一个数据库需要为多个程序服务,如何进行很好的数据共享;
需要考虑如何进行数据的高效备份、迁移、恢复;
等等...
◼数据库通俗来讲就是一个存储数据的仓库,数据库本质上就是一个软件、一个程序。
coderwhy常见的数据库有哪些?
◼通常我们将数据划分成两类:关系型数据库和非关系型数据库;
◼关系型数据库:MySQL、Oracle、DB2、SQLServer、PostgreSQL等;
关系型数据库通常我们会创建很多个二维数据表;
数据表之间相互关联起来,形成一对一、一对多、多对多等关系;
之后可以利用SQL语句在多张表中查询我们所需的数据;
◼非关系型数据库:MongoDB、Redis、Memcached、HBse等;
非关系型数据库的英文其实是NotonlySQL,也简称为NoSQL;
相当而言非关系型数据库比较简单一些,存储数据也会更加自由(甚至我们可以直接将一个复杂的json对象直接塞入到数据
库中);
NoSQL是基于Key-Value的对应关系,并且查询的过程中不需要经过SQL解析;
◼如何在开发中选择他们呢?具体的选择会根据不同的项目进行综合的分析,我这里给一点点建议:
目前在公司进行后端开发(Node、Java、Go等),还是以关系型数据库为主;
比较常用的用到非关系型数据库的,在爬取大量的数据进行存储时,会比较常见;
coderwhy认识MySQL
◼我们的课程是开发自己的后端项目,所以我们以关系型数据库MySQL作为主要内容。
◼MySQL的介绍:
MySQL原本是一个开源的数据库,原开发者为瑞典的MySQLAB公司;
在2008年被Sun公司收购;在2009年,Sun被Oracle收购;
所以目前MySQL归属于Oracle;
◼MySQL是一个关系型数据库,其实本质上就是一款软件、一个程序:
这个程序中管理着多个数据库;
每个数据库中可以有多张表;
每个表中可以有多条数据;
coderwhy数据组织方式
coderwhy下载MySQL软件
◼下载地址:/downloads/mysql/
◼根据自己的操作系统下载即可;
◼推荐大家直接下载安装版本,在安装过程中会配置一些环境变量;
Windows推荐下载MSI的版本;
Mac推荐下载DMG的版本;
◼这里我安装的是MySQL最新的版本:8.0.31(不再使用旧的MySQL5.x的版本)
coderwhyWin