目录
一、数据库的基本概念
1.什么是数据库
数据库(database)是用来组织、存储和管理数据的仓库。
当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。
为了方便管理互联网世界中的数据,就有了数据库管理系统的概念(简称:数据库)。用户可以对数据库中的数据进行新增、查询、更新、删除等操作。
2.常见的数据库及分类
市面上的数据库有很多种,最常见的数据库有如下几个:
- MySQL 数据库(目前使用最广泛、流行度最高的开源免费数据库;Community + Enterprise)
- Oracle 数据库(收费)
- SQL Server 数据库(收费)
- Mongodb 数据库(Community + Enterprise)
其中,MySQL、Oracle、SQL Server 属于传统型数据库(又叫做:关系型数据库或 SQL 数据库),这三者的设计理念相同,用法比较类似。
而 Mongodb 属于新型数据库(又叫做:非关系型数据库或 NoSQL 数据库),它在一定程度上弥补了传统型数据库的缺陷。
3. 传统型数据库的数据组织结构
数据的组织结构:指的就是数据以什么样的结构进行存储。
传统型数据库的数据组织结构,与 Excel 中数据的组织结构比较类似。
因此,我们可以对比着 Excel 来了解和学习传统型数据库的数据组织结构。
(1).Excel的数据组织结构
每个Excel中,数据的组织结构分别为工作簿、工作表、数据行、列这四大部分组成。
①整个 Excel 叫做工作簿
②users 和 books 是工作表
③users 工作表中有 3 行数据
④每行数据由 6 列信息组成
⑤每列信息都有对应的数据类型
(2).传统型数据库的数据组织结构
在传统型数据库中,数据的组织结构分为数据库(database)、数据表(table)、数据行(row)、字段(field)这 4 大部分组成。
①数据库类似于 Excel 的工作簿
②数据表类似于 Excel 的工作表
③数据行类似于 Excel 的每一行数据
④字段类似于 Excel 的列
⑤每个字段都有对应的数据类型
(3).实际开发中库、表、行、字段的关系
①在实际项目开发中,一般情况下,每个项目都对应独立的数据库。
②不同的数据,要存储到数据库的不同表中,例如;用户数据存储到 users 表中,图书数据存储到 books 表中。
③每个表中具体存储哪些信息,由字段来决定,例如:我们可以为 users 表设计 id、userame,password 这3个字段。
④表中的行,代表每一条具体的数据。
二、安装并配置MySQL
1. 了解需要安装哪些MySQL相关的软件
对于开发人员来说,只需要安装 MySQL Server 和 MySQL Workbench 这两个软件,就能满足开发的需要了。
MySQL Server:专门用来提供数据存储和服务的软件。
MySQL Workbench:可视化的 MySQL 管理工具,通过它,可以方便的操作存储在 MySQL Server 中的数据。
2.MySQL 在 Windows 环境下的安装
在 Windows 环境下安装 MySQL,只需要运行 mysql-installer-community-8.0.19.0.msi 这个安装包,就能一次性将 MySQL Server 和 MySQL Workbench 安装到自己的电脑上。
三、MySQL的基本使用
1.创建数据表
2.使用 SQL 管理数据库
1. 什么是 SQL
- SQL 是一门数据库编程语言
- 使用 SQL 语言编写出来的代码,叫做 SQL 语句
- SQL 语言只能在关系型数据库中使用(例如 MySQL、Oracle、SQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言
(2). SQL 能做什么
- 从数据库中查询数据
- 向数据库中插入新的数据
- 更新数据库中的数据
- 从数据库删除数据
- 可以创建新数据库
- 可在数据库中创建新表
- 可在数据库中创建存储过程、视图
- etc…
(3). SQL 的学习目标
3. SQL 的 SELECT 语句
(1). 语法
--从 FROM 指定的表中,查询出所有的数据。 * 表示所有列
SELECT * FROM 表名称
--从 FROM 指定的表中,查询出指定列名称(字段)的数据
SELECT 列名称 FROM 表名称
注意:SQL 语句中的
关键字
对
大小写不敏感
。SELECT 等效于 select,FROM 等效于 from
4. SQL 的 INSERT INTO 语句
(1). 语法
-- 向指定的表中,插入如下几列数据,列的值通过values一一指定
-- 注意:列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO table_name (列1,列2,...) VALUES (值1,值2,...)
(2). INSERT INTO 示例
5. SQL 的 UPDATE 语句
(1). 语法
-- 语法解读:
-- 1.用UPDATE指定要更新哪个表中的数据
-- 2.用SET指定对应列的新值
-- 3.用WHERE指定更新的条件
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
(2). UPDATE 示例 - 更新某一行中的一个列
(3). UPDATE 示例 - 更新某一行中的若干列
6. SQL 的 DELETE 语句
(1). 语法
-- 语法解读:
-- 从指定的表中,根据 WHERE 条件,删除对应的数据行
DELETE FROM 表名称 WHERE 列名称 = 值
(2). DELETE 示例
7. SQL 的 WHERE 子句
(1). 语法
-- 查询语句中的WHERE条件
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
-- 更新语句中的WHERE条件
UPDATE 表名称 SET 列=新值 WHERE 列 运算符 值
-- 删除语句中的WHERE条件
DELETE FROM 表名称 WHERE 列 运算符 值
(2). 可在 WHERE 子句中使用的运算符
注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=
(3). WHERE 子句示例
-- 查询status为1的所有用户
select * from users where status=1
-- 查询password不为'admin123'的所有用户
select * from users where password!='