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

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

相关推荐
摇滚侠1 小时前
三天学通 Groovy—Groovy 程序设计,Groovy 中的数据类型,笔记 1-13
笔记·groovy
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [driver]base
linux·笔记·学习
benyuanone2 小时前
MySQL环境项目迁移成国产化达梦环境
数据库·mysql
am心2 小时前
学习笔记-套餐接口
笔记·学习
尽兴-2 小时前
MySQL索引优化:从理论到实战
数据库·mysql·优化·b+树·索引·最左前缀
科技林总2 小时前
【系统分析师】3.6 操作系统
学习
天码-行空4 小时前
Linux 系统 MySQL 8.0 详细安装教程
linux·运维·mysql
廋到被风吹走4 小时前
【数据库】【MySQL】锁机制深度解析:从原理到死锁分析实战
数据库·mysql
悠哉悠哉愿意4 小时前
【嵌入式学习笔记】OLED 显示驱动 (SSD1306)
笔记·单片机·嵌入式硬件·学习
萧技电创EIIA4 小时前
如何使用嘉立创EDA绘制元件
嵌入式硬件·学习·硬件工程·pcb工艺