带你走进MySQL

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 RDS MySQL Serverless,0.5-2RCU 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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
存储 关系型数据库 MySQL
MySQL 的核心技术有哪些?
MySQL 是一种广泛使用的关系型数据库管理系统,以下是一些 MySQL 的核心技术: 1. **存储引擎**:MySQL 支持多种存储引擎,如 InnoDB、MyISAM 等。存储引擎负责数据库的存储和检索,不同的存储引擎具有不同的特点和适用场景。 2. **索引技术**:索引是提高数据库查询性能的重要手段。MySQL 支持多种类型的索引,如 B-Tree 索引、哈希索引等,通过合理地创建和使用索引,可以大大提高查询的速度。 3. **事务处理**:MySQL 提供了事务处理的功能,保证了数据库操作的原子性、一致性、隔离性和持久性。事务可以确保一组相关操作要么全部成功,要么全部失败,从而保证
|
SQL 关系型数据库 MySQL
【大数据系列之MySQL】(三十):MySQL中的DDL语言
【大数据系列之MySQL】(三十):MySQL中的DDL语言
97 0
|
关系型数据库 MySQL 开发者
MySQL 8.0.24来了。但,略失望。。。
MySQL 8.0.24来了。但,略失望。。。
|
存储 SQL 关系型数据库
mysql-黑马-day01
mysql-黑马-day01
mysql-黑马-day01
|
SQL 搜索推荐 关系型数据库
推荐一个MySQL宝藏网站
在学习 MySQL 的过程中,也许你希望有个中文网站可以参考,或许你曾经在搜索引擎中寻找过此类网站。如果你有此类需求的话,那么下面介绍的这个网站你一定要收藏。
180 0
推荐一个MySQL宝藏网站
|
存储 SQL 缓存
你知道学校里的MySQL与社会中的MySQL有啥区别吗?(详解二)
本文经验都是我看书学习的总结的一些经验,面试常问的知识点,所以请关注后再继续观看学习!下面已经给出了书的目录!今后将按目录的顺序继续更新学习心得!接上文继续分享
|
存储 SQL 缓存
你知道学校里的MySQL与社会中的MySQL有啥区别吗?(详解一)
本文经验都是我看书学习的总结的一些经验,面试常问的知识点,所以请观看学习!下面已经给出了书的目录!今后将按目录的顺序继续更新学习心得!
你知道学校里的MySQL与社会中的MySQL有啥区别吗?(详解一)
|
存储 SQL Oracle
横空出世的 MariaDB,为啥能吊打 MySQL?
MySQL的发展史 MySQL的历史可以追溯到1979年,它的创始人叫作Michael Widenius,他在开发一个报表工具的时候,设计了一套API,后来他的客户要求他的API支持sql语句,他直接借助于mSQL(当时比较牛)的代码,将它集成到自己的存储引擎中。但是他总是感觉不满意,萌生了要自己做一套数据库的想法。
192 0
横空出世的 MariaDB,为啥能吊打 MySQL?
|
SQL 存储 关系型数据库
|
关系型数据库 MySQL
mysql管理之道
mysql5.7 mariadb10.1,percona5.7 性能调优,高可用,监控 mysql安装 image.png 添加jemalloc管理内存 [mysqld_safe] malloc-ib=/usr/lib64/libjemalloc.
1372 0