学习目录
-
数据库介绍
-
MySQL数据库安装和使用
-
SQL语句
-
DDL之数据库操作
-
DDL之表操作
-
DML数据库操作语言
-
SQL约束
-
DQL操作
-
多表操作
学习目标
-
掌握DDL操作
-
了解mysql的约束
-
掌握DML操作
-
掌握DQL操作
-
掌握多表联查
一、数据库概述
1、数据库介绍
数据库就是存储数据的仓库,其本质是一个文件系统,按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。随着互联网的高速发展,大量的数据在不断的产生,伴随而来的是如何高效安全的存储数据和处理数据,而这一问题成为了信息时代的一个非常大的问题,而使用数据库可以高效的有条理的储存数据。
-
可以结构化存储大量的数据;
-
可以有效的保持数据的一致性、完整性;
-
读写效率极高。
2、数据库分类
数据库又分为关系型数据库和非关系型数据库
☆ 关系型数据库
关系型数据库:指采用了关系模型来组织数据的数据库。
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。初学阶段,我们可以先简单的讲关系型数据库理解为一个Excel表格:
☆ 非关系型数据库NoSQL
非关系型数据库:又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL,对NoSQL 最普遍的定义是“非关联型的”,强调 Key-Value 的方式存储数据。
Key-Value结构存储:Key-value数据库是一种以键值对存储数据的一种数据库,类似Java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。
关系型和非关系型数据库区别?关系型数据库(RDBMS):
1. 数据以表格的形式进行存储,每个表格包含多个行和列,每行代表一个记录,每列代表一个属性。
2. 数据之间通过主键和外键建立关联关系,可以通过SQL语言进行查询和操作。
3. 数据结构严格,需要事先定义表的结构和关系,具有较高的数据一致性和完整性。
4. 适用于需要复杂查询和事务处理的应用,如金融系统和企业管理系统。
非关系型数据库(NoSQL):
1. 数据以键值对、文档、列族等非表格形式进行存储,没有固定的结构,可以动态添加字段。
2. 数据之间没有严格的关系,查询方式通常是通过键或索引进行快速查找。
3. 数据结构灵活,可以存储半结构化和非结构化数据,适用于大规模数据的存储和处理。
4. 适用于需要高可扩展性和高性能的应用,如大数据分析和实时数据处理。
3、常见数据库介绍
☆ 关系型数据库
数据库 | 介绍 |
---|---|
MySQL | 开源免费的数据库,中型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。 |
Oracle | 收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。 |
DB2 | IBM公司的数据库产品,收费的。常应用在银行系统中. |
SQLserver | MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。 |
SQLite | 嵌入式的小型数据库,应用在手机端。 |
☆ 非关系型数据库
数据库 | 介绍 |
---|---|
Redis | 是一个小而美的数据库,主要用在key-value 的内存缓存,读写性能极佳 |
HBase | HBase是列式数据库,目标是高效存储大量数据 |
MongoDB | MongoDB是文档型数据库,非常接近关系型数据库的。 |
4、小结
① 数据库就是存储数据的仓库,用户可以对数据库中的数据进行增删改查操作
② 数据库分为关系型数据库和非关系型数据库。
③ 常用的关系型数据库有:MySQL,Oracle,DB2,SQLserver,sqlite
④ 常用的非关系型数据库有:Redis,Hbase,MongoDB
二、MySQL数据库
1、MySQL介绍
MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件,它是由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统中的一个。
2、MySQL的特点
MySQL是开源的,所以你不需要支付额外的费用。
MySQL支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
MySQL可以安装在不同的操作系统,并且提供多种编程语言的操作接口。这些编程语言包括C、C++、Python、Java、Ruby等等。
3、MySQL版本
MySQL Community Server:社区版本,开源免费,但不提供官方技术支持。
MySQL Enterprise Edition:企业版本,需付费,可以试用30天。
MySQL Cluster:集群版,开源免费。可将几个MySQL Server封装成一个Server。
MySQL Cluster CGE:高级集群版,需付费。
MySQL Workbench(GUITOOL):一款专为MySQL设计的ER/数据库建模工具。它是著名的数据库设计工具DBDesigner4的继任者。MySQL Workbench又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。
本次课程,我们使用MySQL8.0版本, MySQL Community Server进行学习。
4、MySQL数据库下载与安装
☆ 下载
MySQL是开源免费的,可以直接去官网下载最新版MySQL,下载地址如下:
下载地址:https://dev.mysql.com/downloads/mysql/,拉到下面,选择 Windows 系统。
建议选择安装版进行安装,点击Go to Download Page进行安装。
点击 Download 后会跳转到如下页面,点击左下角的 No thanks, just start my download. 开始下载。
☆ 安装
下载完成后打开安装包,稍等片刻后,选择开发者默认的安装方式,点击下一步即可。
此后按照流程安装即可,遇到Next(下一步),和Execute(执行)直接点击即可,点击Execute后需要等待几分钟。
直至出现Account and Roles输入数据库密码,此处输入密码务必记住,用于之后登陆数据库。
继续点击Next,出现finish后点击,完成安装。
注意:MySQL软件有一个默认管理员叫做root
5、添加环境变量(Windows)
cmd(DOS窗口)=> 输入命令如mysql => 当前Windows的环境变量中去寻找
添加环境变量的目的:输入终端命令时,可以搜索对应的可执行文件。
首先找到mysql的安装目录,并且定位到mysql文件,将地址栏内容进行复制。
默认的安装路径:C:\Program Files\MySQL\MySQL Server 8.0\bin
找到此电脑右键点击选择属性,弹出如下界面,选择高级系统设置,不同版本系统位置可能不太一样,耐心寻找一下。
进入高级系统设置之后,点击环境变量按钮,即可进入环境变量配置界面。
找到系统变量中的path变量,点击编辑,进入编辑界面。
选择新建,将刚才的赋值的mysql文件的地址粘贴到文本框中,点击确定,完成环境变量配置。
6、检测环境变量是否配置成功
在底部搜索栏输入cmd,按Enter键唤出终端窗口。
输入mysql -V(V要大写),输出如下内容则配置成功。
三、Linux系统下的MySQL安装与使用
1、MySQL安装与使用
课程提供的Linux系统中已经安装好了Mysql,可以无需安装,直接使用即可
安装文档请查看:MySQL8.0安装.docx
2、登陆MySQL数据库
MySQL是一个需要账户名密码登录的数据库,登陆后使用,它提供了一个默认的root账号,使用安装时设置的密码即可登录,目前有两种登录场景:
☆ 本地(针对本地MySQL)
# mysql -uroot –p 回车
password:输入密码1
案例演示:
说明:-u 后面是登录的用户名 -p 后面是登录密码, 如果不填写, 回车之后会提示输入密码
☆ 远程(针对远程MySQL,MySQL服务器不再本地)
# mysql -h 远程服务器IP地址 -P 端口号 -u用户名 -p 回车
password:输入密码
案例:
# mysql -h 192.168.88.100 -P 3306 -uroot -p
Enter password:123456
☆ 退出
① mysql> exit
② mysql> quit
③ 快捷键Ctrl + d
3、小结
① MySQL的特点:免费,支持大型数据库,标准的SQL语言形式,跨平台。
② 课程使用的版本时MySQL8.0版本。
③ MySQL登录的两种方式:
方法一:本地 mysql -uroot -p123456
方法二:远程mysql -h 192.168.88.100 -P 3306 -uroot -p123456
④ 从MySQL软件中退出有3种方式
方法一:exit
方法二:quit
方法三:Ctrl + d
四、MySQL图形化开发工具DataGrip
1、DataGrip介绍
DataGrip是JetBrains公司推出的管理数据库的产品,功能非常强大,可以兼容各种数据库,另外,JetBrains公司还有一款知名的IDE开发工具IDEA,用户体验非常不错。
下载地址:https://www.jetbrains.com/datagrip/download/#section=windows
2、DataGrip安装
下载完成后打开安装程序,选择安装路径,一直点击Next即可安装。直到Finish点击完成安装,并打开应用。选择Evaluate for free 免费试用30天。
3、创建工程
点击File->New->Project新建DataGrip工程 输入项目名称,点击确定。选择新项目打开方式:This Windows(在本窗口中打开),New Windows(在新窗口中打开), Attach(附加模式)
4、连接数据库
选择Database下的➕,点击DataSource菜单下的MySQL。填写对应的参数,连接数据库:连接名,IP,用户名,密码等,点击OK完成连接。注意:如果第一次使用,需要下载mysql驱动文件。
设置数据库时区:
-
点击Advanced按钮;
-
在VM options后面写入-Duser.timezone=Asia/Shanghai,就可以啦;
设置完成后,单击Apply(应用),单击OK,数据库就连接成功了!
5、选择要使用的数据库
点击连接名称之后的按钮可以选择所要使用的数据库:
6、DataGrip软件设置
☆ 设置字体大小
设置文字大小:File--->settings--->Editor---->Font
☆ 设置关键字大写
设置关键字大写:File--->settings--->Editor---->Code Style--->SQL--->MySql(需要设置的数据库)--->Case
☆ 自动排版
自动排版布局:File--->settings--->Editor---->Code Style--->SQL--->MySql(需要设置的数据库)--->Queries
自动排版快捷键:Ctrl+ Alt + L
五、SQL语句
1、连接数据库
结构化查询语言(Structured Query Language)简称SQL,是关系型数据库管理系统都需要遵循的规范,是数据库认识的语句。不同的数据库生产厂商都支持SQL语句,但都有特有内容。
举例:
普通话:各数据库厂商都遵循的ISO标准。
方言:数据库特有的关键字。
2、SQL语句分类
☆ DDL
数据定义语言:简称DDL(Data Definition Language) 用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等
☆ DML
数据操作语言:简称DML(Data Manipulation Language) 用来对数据库中表的记录进行更新。关键字:insert,delete,update等
☆ DQL
数据查询语言:简称DQL(Data Query Language) 用来查询数据库中表的记录。关键字:select,from,where等
☆ DCL
数据控制语言:简称DCL(Data Control Language) 用来定义数据库的访问权限和安全级别,及创建用户。
3、SQL基本语法
① SQL语句可以单行或多行书写,以分号结尾。
select * from students;
② 可使用空格和缩进来增强语句的可读性
select
*
from students;
③ MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
SELECT * FROM user;
等价于
select * from user;
④ 可以使用单行与多行注释
# 单行注释
-- 单行注释,注意:--后面有一个空格
/*
...
多行注释
...
*/
4、小结
结构化查询语言(SQL),是关系型数据库管理系统都需要遵循的规范。不同的数据库生产厂商都支持SQL语句,但都有特有内容。
SQL语句分为:数据定义语言(DDL),数据操作语言(DML),数据查询语言(DQL),数据控制语言(DCL)。
SQL通用语法:结构灵活,使用分号结尾;不区分大小写;可以使用/**/,#,--来进行注释。