MySql入门操作

news2024/10/7 14:28:24

                                一.前节回顾

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@'%';


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java|golang】2679. 矩阵中的和

给你一个下标从 0 开始的二维整数数组 nums 。一开始你的分数为 0 。你需要执行以下操作直到矩阵变为空: 矩阵中每一行选取最大的一个数,并删除它。如果一行中有多个最大的数,选择任意一个并删除。 在步骤 1 删除的所有数字中找到最大的一个…

NodeJS 后端返回Base64格式数据显示图片 ⑩⑨ (一篇就够了)

文章目录 ✨文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持😘前言Base64前端服务器总结 ✨文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持😘 ⡖⠒⠒⠒⠤⢄⠀⠀⠀ …

【Java语法小记】求字符串中某个字符的数量——IntStream流的使用

文章目录 引入需求代码原理解读s.chars()IntStream filter​(IntPredicate predicate)long count()补充:IntStream peek​(IntConsumer action) 流操作和管道 引入需求 从一段代码引入 return s.length() - (int) s.chars().filter(c -> c S).count(); 其中 (…

文心一言 VS 讯飞星火 VS chatgpt (54)-- 算法导论6.2 6题

文心一言 VS 讯飞星火 VS chatgpt (53)-- 算法导论6.2 5题 六、证明:对一个大小为 n的堆,MAX-HEAPIFY 的最坏情况运行时间为 Ω(Ign)。(提示对于n个结点的堆,可以通过对每个结点设定恰当的值,使得从根结点到叶结点路径…

2023年房地产投资退出途径研究报告

第一章 房地产投资概况 房地产(Real Estate)是一个涵盖了土地及其上的永久性建筑(如建筑物和房屋)和自然资源(如矿产,水源,作物)的经济学概念。它可以分为四类:住宅房地…

大数据面试题-场景题

1.手写Flink的UV 手写Flink的UV 2.Flink的分组TopN Flink的分组TopN 3.Spark的分组TopN 1)方法1: (1)按照key对数据进行聚合(groupByKey) (2)将value转换为数组,利…

2023如何自学网络安全

自学网络安全可以按照以下步骤进行: 学习基础知识:开始之前,建议先学习计算机网络和操作系统的基础知识,了解网络通信的原理和常见的网络攻击方式。可以通过阅读相关的书籍、在线教程或参加网络安全相关的课程来学习。 学习网络安…

Sanic、uvloop及Asyncio的局限

Sanic sanic使用基于libuv的uvloop事件循环替代python asnycio自带的事件循环替代,以此提高异步性能。Flask和Django是同步框架,Tornado、FastApi和Sanic均为异步框架,Sanic的性能最好。Sanic入门教程:Sanic:一款号称…

阶段小作业:基于docker安装mysql

1.在docker hub 搜索Mysql镜像 docker search --limit 5 Mtsql 2.拉取Mysql 5.7 镜像 docker pull mysql 注意mysql是小写哦 3.创建mysql容器,主机3306端口号映射到容器3306端口 docker run -d -p 3306:3306 --privilegedtrue -v /tmp/mysql/log:/var/log/mysql …

OpenVRLoader 与UnityXR Interaction ToolKit不兼容

1、游戏的VR设备监听与输入都是基于UnityXR,但是当接入OpenVRLoader 时无法正常通过Openvr_xr_plugin去获取设备的输入输出。 2、Openxr 和OpenVRLoader同时打开也还是会没有输入信息。 3、我们需要修改com.unity.xr.interaction.toolkit插件代码,不能直接用packmanage的将插…

从零开始的职场攻略,我是如何成为优秀活动策划的?

想要提升活动策划能力,成为活动操盘手,除了避免踩坑之外,你还需要额外掌握以下 4 项能力。当你持续向着这几个方向提高的时候,你可以感受到作为活动策划带来的成就感,甚至你的整个职业生涯都能够因此迎来一个飞跃。 1…

突破数据边界,开启探索之旅!隐语开源Meetup一周年专场7月22日上海见

小伙伴们,📢「隐语开源一周年 Meetup 」即将来袭!🎉在一周年 Meetup 上,不仅会对隐语 1.0 版本进行详解,还有新鲜出炉的隐语 MVP 部署体验包,让你秒变高手!更有机会与隐私计算行业的…

10年软件测试工程师感悟——写给还在迷茫的朋友

这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然&a…

若依前端项目理解

官网:RuoYi 一、目录结构 一级目录:通过vue3.0及以后版本创建的项目文件 二级目录(src文件): ruoyi-ui(前端文件夹) bin文件夹(批处理文件,打包、运行) bui…

k8s部署springboot

前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤。 1.从代码仓库下载代码,比如GitLab; 2.接着是进行打包,比如使用Maven; 3.编写Dockerfile文件,把步骤2产生的包制作成镜像; 4.上传步骤3的镜像到远程…

MySql基础知识及数据查询

目录 第一章 数据库概述 1.为什么要学习数据库? 2.数据库的相关概念 3.ORM(Object Relational Mapping)思想 4.表与表的记录之间存在哪些关联关系 第二章 基本的SELECT语句 1.SQL的分类 2. SQL基本规则 3.导入现有的数据表、表的数据 4.最基本的…

全网最牛,打通接口自动化测试框架详细,一篇足够

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 接口自动化测试开…

原型设计用得最多的是PS吗?该如何画原型?

在产品开发的前期工作中,产品经理或设计师通常需要进行原型设计工作,创建一个可交互和可视化的原型,以更准确地表达他们的设计构思和想法,并为项目顺利递交给开发人员做好准备。进行原型设计时,使用设计工具来画原型图…

计算机常识

文章目录 1. 计算机存储单位换算2. 为什么我买的256内存,实际不足256内存?3. 32位和64位操作系统支持内存 1. 计算机存储单位换算 1Byte 8bit 1KiB 1024 Byte 1MiB 1024 KiB 1048576 Byte 1GiB 1024 MiB 1TiB 1024 GiB 2. 为什么我买的256内存&a…

2023.07.04 homework

到高中前,大多数都还算可以,大多数娃娃主要还是兴趣和学习细节问题