00. MySQL Knowledge Overview
00. MySQL 知识概览
1. 学习分层
1.1. 基础篇
初级工程师
MySQL 基本概念
SQL
函数
约束
多表查询
事务
1.2. 进阶篇
中级工程师
存储引擎
索引
SQL 优化
视图/存储过程/触发器
锁
InnoDB 核心
MySQL 管理
1.3. 运维篇
高级工程师
日志
主从复制
分库分表
读写分离
2. 数据库相关概念
数据库(DataBase)
数据库管理系统(DataBase Management System)
用来管理数据库的系统
例:ORACLE,MySQL,SQL Server,PostgreSQL...
上面的关系型数据库的操作语言其实都是通用的(SQL)
SQL(Structured Query Language)
用来控制数据库管理系统的标准编程语言
3. MySQL 数据库
3.1. 启动与停止
启动:
net start mysql80
停止
net stop mysql80
默认 mysql 是开机自启的
3.2. 客户端连接
客户端命令行输入密码:123456
命令行输入
mysql [-h 127.0.0.1] [-P 3306] -u root -p
C:\Windows\System32>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.41 MySQL Community Server - GPL
Copyright (c) 2000, 2025, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql -u root -p
在此之前要开启 mysql
3.3. 数据模型
客户端 -> DBMS -> 数据库 -> 多张表 -> 行数据
3.4. 数据库类型
关系型数据库 RDBMS
建立在关系模型基础上,多张相互连接的二维表。(通过表结构来存储数据)
非关系型数据库
反之
4. MySQL 数据类型
4.1. 数值类型
有符号:后面写上 UNSIGNED
无符号:默认
4.1.1. 整数
TINYINT(1 byte(-128, 127))、SMALLINT、MEDIUMINT、INT / INTEGER(4 bytes)、BIGINT
4.1.2. 浮点数
FLOAT(4 bytes)、DOUBLE(8 bytes)、DEIMAL(取决于 M (精度,整个数字的长度 ),D(标度,小数位数))
4.2. 字符串类型
带 BLOB 的是存二进制数据的(但一般不用),带 TEXT 的是存文本数据的
CHAR(定长)、VARCHAR(变长)、TINYBLOB(二进制数据)、TINYTEXT(文本数据)、BLOB、TEXT、MEDIUMBLOB、MEDIUMTEXT、LONGBLOB、LONGTEXT
char(10):占用十个空间。性能好。
varchar(10):占用只用的空间,<= 10。性能差。
4.3. 日期时间类型
DATE:YYYY-MM-DD 日期值
TIME:HH : MM : SS 时间值 或 持续时间
YEAR:YYYY 年份值
DATETIME:YYYY-MM-DD HH : MM : SS 混合日期和时间
TIMESTAMP:YYYY-MM-DD HH : MM : SS 混合日期和时间值,时间戳
Last updated