MySQL

MySQL数据库

1. MySQL数据库安装

MySQL安装版本没要求(MySQL 8.0.26),安装基本是一路下一步。

MySQL Installer 8.0.27: https://dev.mysql.com/downloads/windows/installer/8.0.html

安装后:得到一个MySQL的服务,每次使用MySQL需要启动此服务(默认是自动开启的)。MySQL 5安装后只带一个命令行环境的客户端,如果使用图形界面,可以用第三方软件(Navicat)、IDEA数据库客户端或MySQL 8.0自带图形客户端(Workbench)。

1.1 MySQL存储引擎

MySQL常用的两个存储引擎是 MyISAMInnoDB

(1) MyISAM 表文件:

  • .MYD : 即 MY Data,表数据文件
  • .MYI : 即 MY Index,索引文件
  • .log : 日志文件

(2) InnoDB

采用表空间(tablespace)来管理数据,存储表数据和索引:

  • InnoDB数据库文件(即InnoDB文件集,ib-file set):
    • ibdata1ibdata2等:系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,所有表共用。
    • .ibd文件:单表表空间文件,每个表使用一个表空间文件(file per table),存放用户数据库表数据和索引。
    • 日志文件:ib_logfile1ib_logfile2

1.2 小结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-- 第1步:启动mysql数据库服务(默认已启动)
-- 第2步:启用客户端,以root账号登录到系统

-- 查看系统中安装|创建的数据
show databases;
-- sys :系统数据库(不要动)

-- 自己通过 navicat 创建数据库:scott,注意选择 utf8mb4 字符集,排序规则:utf8mb4_0900_ai_ci

-- 切换数据库
use scott;

-- 查看当前数据库中都有哪些表
show tables;
-- 查看表结构
desc table_name;

2. 数据库相关概念

  • **数据 (data)**:计算机中存储的信息(文字、数字、音频、视频、图片),以文件为单位来保存;
  • **数据库 (database)**:存储数据的仓库;
  • 数据库管理软件:管理数据库的工具(软件)| Navicat | Workbench | Sequel Pro(开源)| phpMyAdmin;
  • **数据库管理员 (DBA)**;
  • 数据库系统:硬件 + 操作系统 + 数据库管理系统 + 数据库 + 管理员。

3. 数据库管理系统发展史

  • 人工管理
  • 文件系统
  • 数据库管理系统 DBMS
  • 层次数据库 (IBM公司的IMS) —-> 网状数据库 —-> 关系型数据库(数据通过表方式来存储)

主流的关系型数据库:

  • Oracle 公司:MySQL、Oracle 8i/9i/10g/11g/12g
  • Microsoft:SQL Server(MS)
  • IBM:DB2、Informix

SQL已标准化,所有的关系型数据库都支持 SQL 标准。

4. 结构化查询语言(SQL)

SQL:Structured Query Language — 结构化查询语句(SQL语法是所有关系型数据库都遵守的),每个数据库会在SQL的基础上做一些扩展(只能在当前数据库中用)。

  • DQL:Data Query Language 数据查询语言,包括: SELECT
  • DML:Data Manipulation Language 数据操作语言,包括:INSERT, UPDATE, DELETE
  • DCL:Data Control Language 数据控制语言,包括: GRANT, REVOKE
  • TCL:Transaction Control Language 事务控制语言,包括:COMMIT, ROLLBACK
  • DDL:Data Definition Language 数据定义语言,包括:
    • CREATE TABLE | VIEW | INDEX | PROCEDURE
    • DROP TABLE | VIEW | INDEX | PROCEDURE
    • ALTER TABLE | USER