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

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

相关推荐
掉头发的王富贵10 分钟前
ShardingSphere-JDBC入门教程(上篇)
spring boot·后端·mysql
杜子不疼.37 分钟前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
search739 分钟前
前端学习 10 :SOC设计中的验证
学习
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 1
c语言·开发语言·数据结构·学习
码出财富1 小时前
SQL语法大全指南
数据库·mysql·oracle
Magnetic_h2 小时前
【iOS】锁的原理
笔记·学习·macos·ios·objective-c·cocoa·xcode
Olrookie2 小时前
ruoyi-vue(十一)——代码生成
笔记·后端
yuxb733 小时前
Ansible 学习笔记:变量事实管理、任务控制与文件部署
linux·运维·笔记
鸢栀w3 小时前
前端css学习笔记7:各种居中布局&空白问题
前端·css·笔记·学习·尚硅谷网课
Hero_11273 小时前
学习Stm32 的第一天
stm32·嵌入式硬件·学习