MySQL 学习笔记(基础)

首先解释数据库DataBase(DB):即存储数据的仓库,数据经过有组织的存储

数据库管理系统DataBase Management System(DBMS):管理数据库的软件

SQL(Structured Query Language):结构化查询语言 / 操作关系型数据库的编程语言 / 定义操作所以关系型数据库的统一标准

关系型数据库

下图是截取了2020年左右关系型数据库管理系统的前十排名图:

  • Oracle:收费大型数据库
  • MySQL:开源免费的中小型数据库
  • SQL Server:MicroSoft 公司收费的中型数据库(C# 和 .net 等语言常用)
  • PostgreSQL:开源免费的中小型数据库
  • DB2:IBM 公司的收费大型数据库
  • SQLite:嵌入式微型数据库(可作为 Android 内置数据库)
  • MariaDB:开源免费的中小型数据库

顾名思义即建立在关系模型上的数据库,也可以说是由多张可以相互连接的 二维表 组成的数据库。

CRUD(create、read、update、delete)是精髓!

SQL 结构化查询语言

SQL 通用语法

SQL 分类(加星是管理员,无是用户)

DDL* 操作数据库 DataBase

DDL* 操作表 Table

CRUD(Create、Retrieve/Read、Update、Delete)操作*

DESC 数据库名称;

查询数据库结构

数据类型

MySQL 中可分为三类:数值、日期、字符串

分类 数据类型 大小 描述
数值类型 TINYINT 1 byte 小整数值
数值类型 SMALLINT 2 bytes 大整数值
数值类型 MEDIUMINT 3 bytes 大整数值
数值类型 INT或INTEGER 4 bytes 大整数值
数值类型 BIGINT 8 bytes 极大整数值
数值类型 FLOAT 4 bytes 单精度浮点数值
数值类型 DOUBLE 8 bytes 双精度浮点数值
数值类型 DECIMAL 小数值
日期和时间类型 DATE 3 日期值
日期和时间类型 TIME 3 时间值或持续时间
日期和时间类型 YEAR 1 年份值
日期和时间类型 DATETIME 8 混合日期和时间值
日期和时间类型 TIMESTAMP 4 混合日期和时间值,时间戳
宇符串类型 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 极大文本数据

MySQL 图形化界面工具

  • Navicat
  • SQLyog

DML

指除 Query 操作外的 Create、Update、Delete。

DQL (非常重要!)

数据库设计

a.约束

主要有:非空、唯一、主键、默认、检查、外键约束

1.非空约束

2.唯一约束

3.主键约束

4.默认约束

5.外键约束(连接约束)

(一个论坛网站的数据库设计图)

b.表关系

1.一对多

2.多对多

3.一对一

4.小结

c.总结

扩展:多表查询(多表连接)

介绍:

1.内连接

2.外连接

3.子查询(嵌套查询)

事务

事务四大特征

  • 原子性(Atomicity):事务是不可分割的最小操作单位,要么同时成功,要么同时失败
  • 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态
  • 隔离性(Isolation):多个事务之间,操作的可见性
  • 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

事务其它有关的就以后再议吧!

相关推荐
云半S一1 小时前
pytest的学习过程
经验分享·笔记·学习·pytest
AI视觉网奇1 小时前
ue5.7 配置 audio2face
笔记·ue5
微露清风1 小时前
系统性学习C++-第二十讲-哈希表实现
c++·学习·散列表
星火开发设计2 小时前
C++ queue 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识·队列
高溪流2 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_992 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
如果你想拥有什么先让自己配得上拥有3 小时前
近似数的思考学习
学习
黄宝康3 小时前
sqlyog密钥亲测有效
mysql
YIN_尹3 小时前
【MySQL】数据类型(上)
android·mysql·adb
崎岖Qiu3 小时前
【OS笔记35】:文件系统的使用、实现与管理
笔记·操作系统·存储管理·文件系统·os