MySQL 学习笔记(基础)

2023-09-16 09:59:48

首先解释数据库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 中可分为三类:数值、日期、字符串

分类数据类型大小描述
数值类型TINYINT1 byte小整数值
SMALLINT2 bytes大整数值
MEDIUMINT3 bytes大整数值
INT或INTEGER4 bytes大整数值
BIGINT8 bytes极大整数值
FLOAT4 bytes单精度浮点数值
DOUBLE8 bytes双精度浮点数值
DECIMAL小数值
日期和时间类型DATE3日期值
TIME3时间值或持续时间
YEAR1年份值
DATETIME8混合日期和时间值
TIMESTAMP4混合日期和时间值,时间戳
宇符串类型CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长宇符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-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):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

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

更多推荐

ubuntu 18.04 搭建isaacgym学习环境,并运行legged_gym

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、安装anaconda二、使用conda创建python版本为3.8的虚拟环境三、安装pytorch四、isaac-gym下载安装五、安装legged_gym总结前言系统:ubuntu18.04或20.04python版本3.8一、安装ana

C/C++内存管理相关知识点

1.内存分布C/C++将内存大体上分为四个区域:栈区、堆区、静态区(数据段)、常量区(代码段)。栈区:用来存储函数调用时的临时信息的结构,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。堆区:程序员自己使用malloc或new自己申请出来存的地方。(动态内存分配)静态区:static修饰的数据,全局数据

“新KG”视点 | 漆桂林——知识图谱和大语言模型的共存之道

OpenKG大模型专辑导读知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力,知识图谱则丰富了表示知识的方式,两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下,OpenKG组织新KG视点系列文章——“大模型专辑”,不定期邀请业内专家对知识图谱与大模型的融合之道

企业电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理

功能描述1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所有的立项信息。主要功能包含:招标立项申请、非招标立项申请、采购立项管理。3、采购项目管理:可对项目采购过程全流程管

软件项目开发的流程及关键点

软件项目开发的流程及关键点graphLRA[需求分析]-->B[系统设计]B-->C[编码开发]C-->D[测试验证]D-->E[部署上线]E-->F[运维支持]在项目开发的流程中,首先是进行需求分析,明确项目的目标和功能要求。接下来是系统设计,制定项目的整体架构和具体实现方案。然后进行编码开发,根据设计方案进行编码实

K-means 聚类算法学习笔记

K-means聚类算法是一种无监督学习算法,用来将nnn个样本点分成kkk类,使得整个数据集的误差平方和SSESSESSE最小。在本例中,样本点是指平面直角坐标系上的点,聚类中心也是平面直角坐标系上的点,而每个点的损失函数则是它到聚类中心的距离。即:找出2个点,使得所有点到这2个点的距离的更小者之和最小。K-means

Vue的详细教程--用Vue-cli搭建SPA项目

🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳接下来看看由辉辉所写的关于Vue的相关操作吧目录🥳🥳WelcomeHuihui'sCodeWorld!!🥳🥳一.Vue-cli是什么二.安装vue-cli①npminstall-gvue-cli②npminstallwebpack-g三.什么是

Ruoyi-vue项目讲解

@[TOC]若依前后端调用接口解读若依github官方下载地址若依gitee官方下载地址1.验证码时候的前端调用接口调用前端登录界面的时候,调用的是login.vue这个文件中的created函数这里我们查看getCode函数方法可以看到,这里先调用了一个getCodeImg函数,然后接收到后端返回的值之后,再进行相应

Python阴阳历日期转换

阳历转阴(殷)历,阴历转阳历,了解一下阴阳历的转换逻辑、闰月的转换。农历,古时称为夏历,是中国现行的传统历法,属于阴历和阳历的合历,根据月相的变化周期一个月,参考太阳回归年为一年的长度,加入二十四节气与设置闫月平均历年与回归年相适应。--百度百科1.阴阳历偏差计算表参考以下所使用python库中定义的1900~2100

Linux:冯诺依曼系统和操作系统的概念

文章目录冯诺依曼体系结构冯诺依曼体系的理解操作系统操作系统的基本定位操作系统的理解1操作系统的理解2总结本篇主要总结的是操作系统的基本认知和一些概念冯诺依曼体系结构那么上图表示的就是冯诺依曼体系结构,那这个体系结构是什么?为什么要先介绍它?截止目前来说,常见的计算机都是遵循着冯诺依曼体系组成的,可以说有了冯诺依曼体系才

Vue中的表单自动完成与下拉选择器

Vue中的表单自动完成与下拉选择器在现代Web应用程序中,表单是不可或缺的一部分,而表单元素的自动完成和下拉选择器是提高用户体验和数据输入效率的重要工具。Vue.js作为一种流行的前端框架,提供了丰富的工具和组件来实现这些功能。在本文中,我们将探讨如何在Vue中实现表单自动完成和下拉选择器,并提供相应的代码示例。表单自

热文推荐