MySql入门操作

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySql入门操作

                               一.前节回顾

1.web项目环境配置

2.通用增删改,通用查询方法

3.前台,后台代码显示效果

所有你都理解了吗?

                                   二.Mysql数据库介绍

1.什么是MySQL?

MySQL是一种开源的关系型数据库管理系统。它是目前最流行和广泛使用的数据库之一,被许多应用程序和网站用作后端数据库。

MySQL具有许多重要特性,包括:

1. 可扩展性:MySQL能够处理大规模的数据集和高并发请求,可以根据需求进行水平扩展和垂直扩展。

2. 可靠性:MySQL具有稳定性和可靠性,支持事务处理,保证数据的一致性和完整性。

3. 性安全:MySQL提供了许多安全特性,如用户认证、访问控制和数据加密等,以保护数据库中的数据安全。

4. 灵活性:MySQL支持多种存储引擎,如InnoDB、MyISAM等,使用户可以根据具体需求选择不同的引擎进行存储和查询。

5. 兼容性:MySQL与许多编程语言和平台兼容,如Java、Python、PHP等,使开发人员可以方便地集成和使用。

使用MySQL可以进行数据的存储、查询和管理,通过编写SQL语句可以实现对数据的增删改查操作。除了基本的数据库操作,MySQL还提供了许多高级功能和工具,如复制、分区、备份和恢复等,以满足各种复杂的需求。

需要注意的是,MySQL在使用过程中也有一些限制和注意事项,如并发性能、索引优化、数据备份和故障恢复等。因此,在使用MySQL时,建议了解和掌握相关的最佳实践和性能优化技巧,以提高系统的效率和可靠性。

2.为什么大多数企业使用MySQL数据库?

大多数企业选择使用MySQL数据库的原因有以下几点:

1. 开源和成本效益:MySQL是开源的,它可以在没有任何费用的情况下获取和使用。与商业数据库相比,它的成本更低,可以节省企业的开支。

2. 可靠性和稳定性:MySQL是一个经过广泛测试和使用的数据库,具有良好的稳定性和可靠性。它可以处理大规模的数据集和高并发请求,并且已被许多大型企业和互联网公司广泛采用。

3. 可扩展性:MySQL具有良好的可扩展性,可以满足企业在数据量和用户访问上的不断增长。它支持水平扩展和垂直扩展,可以根据需求进行容量的扩展。

4. 多平台兼容性:MySQL可以在多种操作系统上运行,如Windows、Linux、macOS等。这种跨平台的兼容性使企业能够在不同环境中轻松部署和运行MySQL。

5. 丰富的功能和工具支持:MySQL提供了许多丰富的功能和工具,如存储过程、触发器、视图、复制、备份和恢复等。这些功能使得MySQL可以满足各种复杂的业务要求。

6. 社区支持和生态系统:MySQL拥有庞大的全球开发者社区,可以分享经验和解决问题。此外,有许多第三方工具和框架与MySQL集成,形成了完整的MySQL生态系统。

需要注意的是,MySQL也有一些限制和一些特定场景下可能不适用的情况。对于一些特别大型或对事务支持要求非常高的企业,可能需要考虑使用其他商业数据库或分布式数据库。但对于大多中小型企业和一般业务场景,MySQL提供了足够的功能和性能来满足需求,并具有良好的成本效益。

3.myisam 和 innodb区别!(面试题)

3.1自我理解

自我理解:

默认innodb 支持事务 ,myisam 不支持事务
myisam  (表锁)无法对表格进行操作 ,但是查询效率高!  适用于表格长时间不操作

比如:系统参数表

3.2官方回答

MyISAM和InnoDB是MySQL中两种常用的存储引擎,它们在功能和性能方面有一些区别。

1. 事务支持:

  - MyISAM:MyISAM不支持事务处理,这意味着在使用MyISAM引擎时,无法进行事务的回滚和提交操作。如果在操作过程中出现异常或错误,数据可能会处于不一致的状态。

  - InnoDB:InnoDB支持事务处理,可以使用BEGIN、ROLLBACK和COMMIT等命令进行操作。这使得InnoDB引擎更适合处理要求数据一致性和事务处理的应用程序。

2. 锁定机制:

  - MyISAM:MyISAM使用表级锁定机制,即在进行数据修改时,会锁定整个数据表。这会导致并发性能较差,在高并发环境下容易出现锁冲突。

  - InnoDB:InnoDB使用行级锁定机制,即只锁定所操作的行。这样可以提高并发性能,减少锁冲突的可能性,允许多个事务并发地访问和修改数据。

3. 外键支持:

  - MyISAM:MyISAM不支持外键约束,这意味着无法通过外键关系来保持数据的完整性。

  - InnoDB:InnoDB支持外键约束,可以定义外键关系来确保数据的一致性和完整性。

4. 崩溃恢复:

  - MyISAM:MyISAM对于崩溃恢复的支持较弱,当数据库发生崩溃时,需要进行修复操作,可能会导致数据丢失或损坏。

  - InnoDB:InnoDB具有较好的崩溃恢复能力,支持事务的持久性和原子性,可以通过重做日志和回滚日志来确保数据的一致性和可恢复性。

根据应用场景的不同,选择适合的存储引擎是很重要的。一般来说,如果应用程序需要支持事务、并发性能较高以及数据完整性的要求,推荐使用InnoDB引擎。而如果对事务支持没有特殊需求,更倾向于对读操作较多的应用,可以考虑使用MyISAM引擎。另外,MySQL还提供了其他存储引擎,如MEMORY、CSV、ARCHIVE等,可以根据具体需求选择合适的引擎。

4.ACID事务介绍

4.1自我理解

原子性:就是在执行某些操作时一定要等待那个操作完成时才能进行操作

一致性:在进行操作时,要么完成,要么完成,没有二者一起存在的情况

隔离性:在进行一个操作时,在进行其他操作时并不会影响前一个操作

持久性:某些操作一旦执行,就会保留

4.2官方回答

ACID是指数据库事务在保证数据一致性和完整性方面应遵循的一组属性。ACID是数据库管理系统用来确保事务正确执行的核心原则:

1.原子性(Atomicity):事务是一个不可分割的工作单位,要么全部执行成功,要么全部失败回滚。如果一个事务中的某个操作失败,系统会撤销已经执行的所有操作,将数据库恢复到事务前的状态。

 

2. 一致性(Consistency):事务的执行不能破坏数据库的完整性约束,如主键约束、外键约束等。当事务完成时,数据库会从一个一致的状态转换到另一个一致的状态。

3. 隔离性(Isolation):对于并发的事务操作,每个事务的执行都应该与其他事务隔离开来,使每个事务都感觉不到其他事务的存在。这样可以避免并发操作引发的数据冲突和不一致性。

4. 持久性(Durability):一旦事务成功提交,其所做的更改将永久保存在数据库中,即使在系统崩溃或断电后也不会丢失。系统会将事务的更改持久地写入磁盘或其他非易失性存储介质。

ACID事务的实现需要数据库管理系统对事务进行严格的控制和管理。事务开始时,数据库会为事务分配资源,并在事务结束时进行提交或回滚。数据库管理系统通过锁机制、并发控制和日志记录等手段来确保事务的原子性、一致性、隔离性和持久性。

ACID事务在许多应用场景中都非常重要,特别是对于需要确保数据一致性和事务完整性的业务逻辑。因此,在设计和开发数据库应用程序时,需要合理地使用事务,并根据具体业务要求配置事务的隔离级别,以提供可靠和持久的数据处理。

5.四种隔离级别

在关系型数据库中,常见的四种隔离级别是:

1. 读未提交(Read Uncommitted):最低的隔离级别,事务可以读取其他事务尚未提交的数据。这种隔离级别可能导致脏读(Dirty Read),即读取到了未提交的数据,可能会引发数据不一致的问题。

2. 读已提交(Read Committed):事务只能读取其他已经提交的数据,保证了数据的一致性。在这个级别中,不会出现脏读的情况,但是可能会有不可重复读(Non-Repeatable Read)的问题,即同一个事务内多次查询同一数据可能得到不同结果。

3. 可重复读(Repeatable Read):在可重复读隔离级别下,事务启动时对数据进行一致性读取,并且在整个事务过程中都使用这个一致性视图。这意味着其他事务的提交对当前事务的查询结果不会产生影响。可重复读可以解决不可重复读的问题,但是可能会出现幻读(Phantom Read),即在同一个事务内多次查询时,得到的结果集合数量可能不同。

4. 串行化(Serializable):最高的隔离级别,事务会被序列化执行,保证了最高的数据一致性和隔离性。在这个级别下,事务之间完全隔离,不会出现脏读、不可重复读和幻读等问题。但是串行化会对并发性能产生较大的影响,因为它强制事务按照顺序执行,可能会导致较低的并发度。

不同的隔离级别在保证数据一致性和并发性方面存在权衡。在设计和选择隔离级别时,需要根据应用的需求和性能要求进行权衡。一般来说,读已提交或可重复读是常用的隔离级别,可根据具体情况选择适当的级别。


                                  三.MySQL数据库操作

1.查看当前数据库连接数

select  *from USER

1.1图片效果:

注意:划线地方必须变成mysql,这四个用户都市MySQL数据库自带的

2.查看MySQL版本

select  VERSION()

2.1效果图:

3.增加一个用户只有当前数据库使用权限

1.增加用户
create user lz;
2.设置密码
ALTER USER 'lz'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

4.用户授权和增加授权

grant ALL on xx表名.* to  lz@'%';
grant ALL on mybatis_ssm.* to  lz@'%';

5.删除用户

drop   user lz

6.收回部分权限

revoke all on mybatis_ssm.* from lz@'%';

 

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
关系型数据库 MySQL 数据库
MySQL基本操作入门指南
MySQL基本操作入门指南
85 0
|
4月前
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
68 4
|
4月前
|
JavaScript 关系型数据库 MySQL
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
65 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL入门到精通
MySQL入门到精通
|
4月前
|
存储 关系型数据库 文件存储
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
面试题MySQL问题之简单的SELECT操作在MVCC下加锁如何解决
47 2
|
4月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之运行mysql to doris pipeline时报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之整库同步mysql到starRock提交任务异常,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
SQL 关系型数据库 MySQL
「Python入门」python操作MySQL和SqlServer
**摘要:** 了解如何使用Python的pymysql模块与MySQL数据库交互。首先,通过`pip install pymysql`安装模块。pymysql提供与MySQL的连接功能,例如创建数据库连接、执行SQL查询。在设置好MySQL环境后,使用`pymysql.connect()`建立连接,并通过游标执行SQL(如用户登录验证)。注意防止SQL注入,使用参数化查询。增删改操作需调用`conn.commit()`来保存更改。pymssql模块类似,但导入和连接对象创建略有不同。
61 0
「Python入门」python操作MySQL和SqlServer