带你走进MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
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 
目录
相关文章
|
2天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
12天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
6天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
491 201
|
4天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
631 157
|
10天前
|
人工智能 自然语言处理 安全
国内主流Agent工具功能全维度对比:从技术内核到场景落地,一篇读懂所有选择
2024年全球AI Agent市场规模达52.9亿美元,预计2030年将增长至471亿美元,亚太地区增速领先。国内Agent工具呈现“百花齐放”格局,涵盖政务、金融、电商等多场景。本文深入解析实在智能实在Agent等主流产品,在技术架构、任务规划、多模态交互、工具集成等方面进行全维度对比,结合市场反馈与行业趋势,为企业及个人用户提供科学选型指南,助力高效落地AI智能体应用。
|
5天前
|
数据采集 消息中间件 人工智能
跨系统数据搬运的全方位解析,包括定义、痛点、技术、方法及智能体解决方案
跨系统数据搬运打通企业数据孤岛,实现CRM、ERP等系统高效互通。伴随数字化转型,全球市场规模超150亿美元,中国年增速达30%。本文详解其定义、痛点、技术原理、主流方法及智能体新范式,结合实在Agent等案例,揭示从数据割裂到智能流通的实践路径,助力企业降本增效,释放数据价值。
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
638 46