MySQL学习记录
日期: 10.31
📖今日知识点 ——数据库相关概念
数据库:
-
存储数据的仓库,数据是有组织的进行存储
-
英文全称:DataBase (简称:DB)
数据库管理系统:
-
操纵和管理数据库的大型软件
-
英文全称:DataBase Management System (简称:DBMS)
SQL:
-
操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
-
英文全称:Structured Query Language (简称:SQL)
操作逻辑:
- 用户通过编写 SQL 语句 -> 操作 数据库管理系统 (DBMS) -> 最终管理 数据库 中的数据。
📖今日知识点 ——MYSQL启动
以管理员身份打开命令提示符:
- net start mysql80—->启动
- net stop mysql80—->关闭

📖今日知识点 ——数据模型
一、数据模型
-
操作流程: 客户端 -> 访问 -> DBMS -> 操作 -> 数据库服务器(包含多个数据库)。
-
表现形式: 数据库中的数据最终以表格(二维表)的形式呈现。
-
表格结构: 每张表包含列(字段,如 id, name, price 等)和行(具体的数据记录)。

二、关系型数据库(RDBMS)
- 使用表存储数据,格式统一,便于维护
- 使用SQL语言操作,标准统一,使用方便
三、什么是二维表
二维表(Two-dimensional Table)是关系型数据库中存储数据的基本形式,可以理解为由行和列交叉构成的表格,类似 Excel 中的工作表。
- 列(Column / 字段):描述数据的属性,例如 id、name、price,每一列都有固定的数据类型(如 INT、VARCHAR、DECIMAL)。
- 行(Row / 记录):表示一条完整的数据,例如某个商品的全部信息。
- 单元格:行与列的交叉点,存放具体的一个值。
例如一张 product 表:
| 1 | 键盘 | 199.00 |
| 2 | 鼠标 | 89.00 |
| 3 | 显示器 | 1299.00 |
这张表有 3 列、3 行,每一行是一条记录,每一列是一个字段,整体就是一个二维表。
为什么叫"二维":因为数据只沿行、列两个方向展开,行与列交叉即可唯一定位一个数据项,不涉及第三维(如嵌套结构)。关系型数据库正是用这种二维表来组织数据,多张二维表之间通过主键、外键建立关联,从而构成关系模型。
)
📖今日知识点 ——SQL—-通用语法
单行注释:–注释内容 或 # 注释内容(MySQL特有)
多行注释:/* 注释内容
📖今日知识点 ——SQL—-SQL分类
SQL 语句按功能可分为四类,具体如下:
| DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库、表、字段) |
| DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
| DQL | Data Query Language | 数据查询语言,用来查询数据库中表的记录 |
| DCL | Data Control Language | 数据控制语言,用来创建数据库用户、控制数据库的访问权限 |
📖今日知识点 ——DDL—数据库操作
(以管理员身份打开命令提示符 —-> 输入mysql -u root -p —-> 输入你的密码)

查询
查询所有数据库:
SHOW DATABASE;

查询当前数据库:
SELECT DATABASE();

创建
CREATE DATABASE[IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

删除
DROP DATABASE[IF EXISTS] 数据库名;

使用
USE 数据库名;

📖今日知识点 ——DDL — 表操作 — 查询
查询当前数据库所有表
SHOW TABLES;

创建表的语法:


查询表结构
DESC 表名;

查询指定表的建表语句
SHOW CREATE TABLE 表名;

📖今日知识点 ——数据类型及案例
数值类型:
MySQL 常用数值类型如下表所示:
| 数值类型 | TINYINT | 1 byte | (-128, 127) | (0, 255) | 小整数值 |
| 数值类型 | SMALLINT | 2 bytes | (-32768, 32767) | (0, 65535) | 大整数值 |
| 数值类型 | MEDIUMINT | 3 bytes | (-8388608, 8388607) | (0, 16777215) | 大整数值 |
| 数值类型 | INT 或 INTEGER | 4 bytes | (-2147483648, 2147483647) | (0, 4294967295) | 大整数值 |
| 数值类型 | BIGINT | 8 bytes | (-2^63, 2^63-1) | (0, 2^64-1) | 极大整数值 |
| 数值类型 | FLOAT | 4 bytes | (-3.402823466 E+38, 3.402823466351 E+38) | 0 和 (1.175494351 E-38, 3.402823466 E+38) | 单精度浮点数值 |
| 数值类型 | DOUBLE | 8 bytes | (-1.7976931348623157 E+308, 1.7976931348623157 E+308) | 0 和 (2.2250738585072014 E-308, 1.7976931348623157 E+308) | 双精度浮点数值 |
| 数值类型 | DECIMAL | — | 依赖于 M(精度) 和 D(标度) 的值 | 依赖于 M(精度) 和 D(标度) 的值 | 小数值(精确定点数) |
例如:
age TINYINT UNSIGNED
score double(4, 1)
字符串类型:
MySQL 常用字符串类型如下表所示:
| 字符串类型 | CHAR | 0-255 bytes | 定长字符串 |
| 字符串类型 | VARCHAR | 0-65535 bytes | 变长字符串 |
| 字符串类型 | TINYBLOB | 0-255 bytes | 不超过 255 个字符的二进制数据 |
| 字符串类型 | TINYTEXT | 0-255 bytes | 短文本字符串 |
| 字符串类型 | BLOB | 0-65 535 bytes | 二进制形式的长文本数据 |
| 字符串类型 | TEXT | 0-65 535 bytes | 长文本数据 |
| 字符串类型 | MEDIUMBLOB | 0-16 777 215 bytes | 二进制形式的中等长度文本数据 |
| 字符串类型 | MEDIUMTEXT | 0-16 777 215 bytes | 中等长度文本数据 |
| 字符串类型 | LONGBLOB | 0-4 294 967 295 bytes | 二进制形式的极大文本数据 |
| 字符串类型 | LONGTEXT | 0-4 294 967 295 bytes | 极大文本数据 |
例如:
char(10) ———–> 性能好
示例:用户名 username varchar(50)
varchar(10) ———–> 性能较差
示例:性别 gender char(1)
日期时间类型:
MySQL 常用日期时间类型如下表所示:
| 日期类型 | DATE | 3 | 1000-01-01 至 9999-12-31 | YYYY-MM-DD | 日期值 |
| 日期类型 | TIME | 3 | -838:59:59 至 838:59:59 | HH:MM:SS | 时间值或持续时间 |
| 日期类型 | YEAR | 1 | 1901 至 2155 | YYYY | 年份值 |
| 日期类型 | DATETIME | 8 | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
| 日期类型 | TIMESTAMP | 4 | 1970-01-01 00:00:01 至 2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
例如:
birthday DATE
create_time DATETIME
update_time TIMESTAMP
案例例题
案例:根据需求创建表(设计合理
设计一张员工信息表,要求如下:

📖今日知识点 ——DDL — 表操作 — 修改&删除
添加字段
ALTR TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
案例:
为emp表增加一个新的字段”昵称”为nickname,类型为varchar(20)

修改数据类型
ALTER TABLE 表名 MODIF 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT 注释] [约束];
案例:
将emp表的nickname字段修改为username,类型为varchar(30)

删除字段
ALTER TABLE 表名 DROP 字段名;
案例:
将emp表的字段username删除

修改表名
ALTER TABLE 表名 RENAME TO 新表名;
案例:
将emp表的表名修改为employee

删除表
DROP TABLE [IF EXISTS] 表名;

- 注意:在删除表时,表中的全部数据也会被删除
删除指定表,并重新创建该表(原来表里的数据已经清空,完全保留字段名、字段类型以及表的结构)
TRUNCATE TABLE 表名;

📖今日知识点 ——小结:DDL
— 查询所有数据库
SHOW DATABASES;
— 创建数据库
CREATE DATABASE 数据库名;
— 使用/切换数据库
USE 数据库名;
— 查询当前所处的数据库
SELECT DATABASE();
— 删除数据库
DROP DATABASE 数据库名;
— 查询当前数据库所有表
SHOW TABLES;
— 创建表
CREATE TABLE 表名(字段 字段类型, 字段 字段类型);
— 查询表结构
DESC 表名;
— 查询指定表的建表语句
SHOW CREATE TABLE 表名;
— 修改表(添加/修改/修改字段名/删除字段/重命名表)
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...;
— 删除表
DROP TABLE 表名;



