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):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

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

相关推荐
再不会python就不礼貌了8 分钟前
Ollama 0.4 发布!支持 Llama 3.2 Vision,实现多模态 RAG
人工智能·学习·机器学习·ai·开源·产品经理·llama
厌世小晨宇yu.33 分钟前
Git超详细笔记包含IDEA整合操作
笔记·git·intellij-idea
学生信的大叔1 小时前
Conpair: 配对样本一致性concordance与污染contamination分析
笔记
CQU_JIAKE1 小时前
【miniob】JOIN TABLE DEBUG
数据库·sql·mysql
dal118网工任子仪2 小时前
web安全漏洞之命令注入
笔记·学习·安全·web安全·网络安全
五味香2 小时前
Linux命令学习,git命令
linux·c语言·开发语言·c++·git·学习·算法
邂逅you2 小时前
深度优先搜索之全排列问题(C语言版)
c语言·数据结构·学习·算法·贪心算法·深度优先
小黑子不会打篮球2 小时前
记一次文件包含刷题(伪协议篇)
网络协议·学习·web安全
何作欢2 小时前
day04 vue学习
javascript·vue.js·学习
java亮小白19972 小时前
ArcGIS软件之“计算面积几何”地图制作
经验分享·笔记