带你走进MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核8GB 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 带你走进MySQL

前言


**如果你想从事数据分析师或者数据库管理员或者自己学习开发的时候,数据库是不可避免要接触的。

像我们在网站上看到一些图文或者数据,都来自服务器发送的内容,而这些内容就来自数据库里


当你在淘宝或者京东商城购物时,那些菜单、商品的数据基本来自与数据库里


听歌APP里的歌曲,也是从数据库里读取出来的


又或者你在注册自己的账号或者登录的时候,也是将这个信息存放到数据库和验证取出的


可见数据库无论在web端还是开发或者其他中,地位都是很重要的


数据库


数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。


每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。


其实也可以将数据存储在文件中,但在每次都进行读写文件里的数据还是比较缓慢的。


所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。


这里可以看到MySQL在众多数据库中的地位还是比较高的。

79f39caa8a534c299168ac251f478710.jpg


一、什么是MySQL数据库?


首先,SQL即为一种结构化查询语言,用一句话概括,SQL是一种特殊目的的编程语言,一种专门用来与数据库通信的语言。而MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。


MySQL的最初的核心思想,主要是开源、简便易用。


二、MySQL 与其他关系型数据库的区别是什么?


简单明了:MySQL属于用户友好型。SQL及其语句的基本知识将允许与MySQL Server进行高效交互,可以查询和更新数据以及管理数据库。

开源的:根据GPL(GNU公共许可证),MySQL是免费使用和修改的。该许可证确定免费用户的权利。

可扩展且快速:MySQL体系结构允许该系统支持最强大的应用程序。它提供适当的速度,并具有非常低的内存泄漏问题。而且,它可以管理表中几乎任何数量的数据(50+百万行)。

兼容多个平台 :MySQL Server与Microsoft Windows,Apple Macintosh OS X,Ubuntu和多个Unix选项兼容,例如AIX,BSDI,FreeBSD,HP-UX,OpenBSD,Net BSD,SGI Iris和Sun Solaris。

高度安全:MySql有一个非常灵活而且安全的权限和口令系统;其数据安全性选项可确保对任何入侵者进行适当的数据保护。


三、如何创建和数据库及表?


数据库


  • .创建数据库
CREATE DATABASE 数据库名; 


  • 查询数据库

查看显示所有数据库

show databases;


查看当前使用的数据库

select database()


  • 修改数据库
ALTER DATABASE 数据库名


  • 删除数据库 慎用!!!
DROP DATABASE IF EXISTS 数据库名;



  • 创建数据表
CREATE TABLE TABLE (column_name column_type);


  • 查询数据
SELECT (COLUMN_NAME) FORM 表名


  • 修改数据
UPDATE (COLUMN_NAME) FORM 表名 .....


  • 增加数据
INSERT INTO 表名(COLUMN_NAME1,COLUMN_NAME2....) VALUES (数据1,数据2,数据3.....)


四、MySQL中的数据类型有哪些?


1、整型: BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT

2、浮点型 (float和double):FLOAT、DOUBLE、DECIMAL

3、字符串 (char,varchar,_text):CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MEDIUM BLOB、LONG BLOB

4.日期时间类型:Date、DateTime、TimeStamp、Time、Year

5.其他:BINARY、VARBINARY、ENUM、SET、Geometry、Point、MultiPoint、LineString、MultiLineString、Polygon、GeometryCollection等


五、MySQL中的事务是什么?如何使用它们?


MySQL 事务主要用于处理操作量大,复杂度高的数据。

例如:在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样这些数据库操作语句就构成一个事务!

又或者,当你误删除了一些信息时,需要进行一个还原,那么就会需要到事务。

一般来说,事务是必须满足4个条件(ACID):原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。

原子性(Atomicity,或称不可分割性):最小操作逻辑,不可再进行分割;就像游戏的一个关卡一样,关卡内不管闯到什么地方,只要失败了就会回到闯关卡前。


一致性(Consistency):在事务开始之前和事务结束以后,数据库的完整性没有被破坏。


隔离性:数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。


持久性(Durability):事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。例如关卡闯关完成,游戏进度永久保存在了服务器中。


开启事务


方法一:

START TRANSACTION 或 BEGIN 开始新的事务;

COMMIT 提交当前事务;

ROLLBACK 回滚当前事务


方法二:

SET autocommit = 0;


默认情况下 autocommit = 1,是自动提交事务的。autommit 是 session 级别的,就是当前连接更改了 autocommit,对其他连接没有影响。设置 autocommit 之后,本次连接的所有 sql 都是事务的形式;

对于commit来说,当autocommit = 1时,为自动提交,设置为0之后就需要手动提交,所以后续的update修改操作,其他的session并不会查到。


六、如何备份和恢复MySQL数据库?


网上进行参考:


1、从物理与逻辑的角度,备份可分为


一. 物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份


① 冷备份(脱机备份):是在关闭数据库的时候进行的


② 热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件


③ 温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作


二. 逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份


① 完全备份:每次对数据库进行完整的备份


② 差异备份:备份自从上次完全备份之后被修改过的文件


③ 增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份


2、常见的备份方法


① 专用备份工具mydump或mysqlhotcopy

② 启用二进制日志进行增量备份

③ 第三方工具备份: 免费的MySQL热备份软件Percona XtraBackup


3、MySQL完全备份


① 是对整个数据库、数据库结构和文件结构的备份

② 保存的是备份完成时刻的数据库

③ 是差异备份与增量备份的基础


七 、MySQL的安全性有哪些要考虑的因素?


1、外围网络:使得mysql处在一个有保护的局域网之中

2.、主机:“主机层防线“ 主要拦截网络(包括局域网)或者直连的未授权用户试图入侵主机的行为。

3. 数据库本身: mysql数据库系统自身的访问控制授权管理相关模块;

组成:

①用户管理模块:主要是负责用户登陆连接相关的基本权限控制

②访问控制模块:是随时随地检查已经进门的访问者,校验他们是否有访问所发出请求需要访问的数据的权限

image.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
1天前
|
云安全 数据采集 人工智能
古茗联名引爆全网,阿里云三层防护助力对抗黑产
阿里云三层校验+风险识别,为古茗每一杯奶茶保驾护航!
古茗联名引爆全网,阿里云三层防护助力对抗黑产
|
6天前
|
人工智能 中间件 API
AutoGen for .NET - 架构学习指南
《AutoGen for .NET 架构学习指南》系统解析微软多智能体框架,涵盖新旧双架构、核心设计、技术栈与实战路径,助你从入门到精通,构建分布式AI协同系统。
300 142
|
5天前
|
Kubernetes 算法 Go
Kubeflow-Katib-架构学习指南
本指南带你深入 Kubeflow 核心组件 Katib,一个 Kubernetes 原生的自动化机器学习系统。从架构解析、代码结构到技能清单与学习路径,助你由浅入深掌握超参数调优与神经架构搜索,实现从使用到贡献的进阶之旅。
281 139
|
2天前
|
存储 机器学习/深度学习 人工智能
大模型微调技术:LoRA原理与实践
本文深入解析大语言模型微调中的关键技术——低秩自适应(LoRA)。通过分析全参数微调的计算瓶颈,详细阐述LoRA的数学原理、实现机制和优势特点。文章包含完整的PyTorch实现代码、性能对比实验以及实际应用场景,为开发者提供高效微调大模型的实践指南。
342 0
|
3天前
|
传感器 人工智能 算法
数字孪生智慧水务系统,三维立体平台,沃思智能
智慧水务系统融合物联网、数字孪生与AI技术,实现供水全流程智能监测、预测性维护与动态优化。通过实时数据采集与三维建模,提升漏损控制、节能降耗与应急响应能力,推动水务管理从经验驱动迈向数据驱动,助力城市水资源精细化、可持续化管理。
263 142
|
1天前
|
存储 人工智能 Java
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
本文介绍RAG(检索增强生成)技术,结合Spring AI与本地及云知识库实现学术分析AI应用,利用阿里云Qwen-Plus模型提升回答准确性与可信度。
186 90
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
|
17天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
2天前
|
机器学习/深度学习 人工智能 运维
智能照明稳压节能控制器,路灯节能稳压系统,沃思智能
智能照明调控柜集电力分配、远程控制与能耗管理于一体,支持自动调光、场景切换与云平台运维,广泛应用于市政、商业及工业领域,显著节能降耗,助力智慧城市建设。
179 137
kde
|
2天前
|
人工智能 关系型数据库 PostgreSQL
n8n Docker 部署手册
n8n是一款开源工作流自动化平台,支持低代码与可编程模式,集成400+服务节点,原生支持AI与API连接,可自托管部署,助力团队构建安全高效的自动化流程。
kde
236 3