MySQL事务、索引、数据恢复和备份

news2024/9/29 18:12:06

MySQL事务、索引、数据恢复和备份

1.MySQL的事务处理

事务就是将一组SQL语句放在同一批次内去执行

如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行

MySQL的事务实现方法 :

SET AUTOCOMMIT

使用SET语句来改变自动提交模式

SET AUTOCOMMIT  = 0;    # 关闭自动提交模式
SET AUTOCOMMIT  = 1;    # 开启自动提交模式

MySQL中默认是自动提交

使用事务时应先关闭自动提交

MySQL事务处理步骤:

在这里插入图片描述

2.数据库索引

作用:

提高查询速度

确保数据的唯一性

可以加速表和表之间的连接,实现表与表之间的参照完整性

使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间

全文检索字段进行搜索优化

分类

主键索引(PRIMARY KEY)

唯一索引(UNIQUE)

常规索引(INDEX)

全文索引(FULLTEXT)

主键索引

某一个属性或属性的组合能唯一标识一条记录

如:学生表(学号,姓名,班级,性别等) ,学号就是唯一标识的,可作为主键

特点

最常见的索引类型

确保数据记录的唯一性

确定特定数据记录在数据库中的位置

 CREATE TABLE  `Grade` (
       `GradeID`  INT(11)   AUTO_INCREMENT    PRIMARY KEY,
        #省略代码……
        #主键索引也可在字段字义之后,如
        #  PRIMARY KEY(`GradeID`)    
)
常规索引

作用:快速定位特定数据

注意

index和key关键字都可设置常规索引

应加在查找条件的字段

不宜添加太多常规索引,影响数据的插入、删除和修改操作

CREATE TABLE  `result` (
       //省略一些代码
     INDEX/KEY   `ind`  (`studentNo`, `subjectNo`)
)
ALTER TABLE  `result`  ADD  INDEX  `ind` 
     (`studentNo`, `subjectNo`);
全文索引

作用:快速定位特定数据

注意

只能用于MyISAM类型的数据表

只能用于 CHAR 、 VARCHAR、TEXT数据列类型

适合大型数据集

 CREATE TABLE  `student` (
       #省略一些SQL语句
       FULLTEXT (`StudentName`) 
)ENGINE=MYISAM;
ALTER TABLE employee ADD FULLTEXT (`first_name`);
管理索引

创建索引

创建表时添加

建表后追加

ALERT TABLE 表名 ADD  索引类型(数据列名)

删除索引

DROP  INDEX 索引名 ON    表名
ALTER TABLE 表名   DROP  INDEX  索引名
ALTER TABLE 表名   DROP  PRIMARY KEY

查看索引

SHOW  INDEX(或KEYS) FROM 表名

索引准则

索引不是越多越好

不要对经常变动的数据加索引

小数据量的表建议不要加索引

索引一般应加在查找条件的字段

3.MySQL的备份

数据库备份必要性

保证重要数据不丢失

数据转移

MySQL数据库备份方法

mysqldump备份工具

数据库管理工具,如SQLyog

直接拷贝数据库文件和相关配置文件

mysqldump数据库备份

作用;

转储数据库

搜集数据库进行备份

将数据转移到另一个SQL服务器(不一定是MySQL服务器)

mysqldump  -h 主机名 –u 用户名 –p   [options]   数据库名  
[ table1 table2 table3 ]   > path/filename.sql
 # 备份myschool数据库如: 
 > mysqldump -u root -p  myschool > d:/myschool.sql
  EnterPassword: *****

mysqldump常用选项

符号名称描述
–add-drop-table导出sql脚本会加上 DROP TABLE IF EXISTS 语句默认是打开的,可以用 --skip-add-drop-table 来取消
–add-locks该选项会在INSERT 语句中捆绑一个LOCK TABLE 和UNLOCK TABLE 语句好处:防止记录被再次导入时,其他用户对表进行的操作,默认是打开的
-t 或–no-create-info忽略不写重新创建每个转储表的CREATE TABLE语句
-c或 --complete-insert在每个INERT语句的列上加上字段名在数据库导入另一个数据库时非常有用
-d 或 --no-data不写表的任何行信息。对于只想转储表的结构很有用
–where “where-condition”, -w “where-condition”只转储给定的WHERE条件选择的记录
–opt该选项是速记;等同于指定 --add-drop-tables --add-locking --create-option --disable-keys–extended-insert --lock-tables --quick --set-charset

4.MySQL数据库的恢复

方法一

用 SOURCE 语法

/path/是一个绝对路径,并且必须是mysql 运行用户有权限读取的文件

SOURCE 在MySQL命令行里执行

SOURCE     /path/db_name.sql;

方法二

用 mysql 客户端

mysql –u root –p  dbname  <  /path/db_name.sql;

利用SQL语句导出、导入数据

SELECT   *   INTO   OUTFILE   'file_name'  
    FROM   tbl_name

输出的文件不能先存在,否则报错

LOAD   DATA   INFILE   'file_name '   
    INTO   TABLE   tbl_name[FIELDS]

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

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

相关文章

测试干货 | 一文读懂工业CT检测技术—无损检测手段

撰文排版&#xff1a;刘佳 审核指导&#xff1a;肖俊灵 “研路漫漫&#xff0c;伴你同行” 本文较长&#xff0c;建议先收藏后随时查看&#xff01;以后我们将更新更多此类硬核科普&#xff0c;欢迎关注&#xff01; 工业CT&#xff0c;即工业计算机断层成像技术&#xff0c;作…

舞台灯细绿激光模组安装方式

在追求视觉盛宴的现代舞台艺术中&#xff0c;细绿激光模组以其独特的色彩、高亮度和精准性&#xff0c;成为了不可或缺的创意元素。舞台灯细绿激光模组不仅能营造出梦幻般的氛围&#xff0c;还能通过精准的光束定位&#xff0c;引领观众视线&#xff0c;增强表演的层次感和沉浸…

大浪淘沙下的金融智变:AGI入场,巨头们已经吃到了第一波红利

长久以来&#xff0c;金融行业始终是全球 AI 技术投入的最大领域&#xff0c;其中银行这一细分市场的 AI 投资金额就占据了全球 AI 市场的超过 10%&#xff0c;无疑成为了 AI 实践的先锋。在国内市场&#xff0c;这一趋势同样显著且强劲。2024 年上半年的大模型招标统计数据显示…

《论软件架构建模技术与应用》写作框架,软考高级系统架构设计师

论文真题 软件架构风格是描述一类特定应用领域中系统组织方式的惯用模式&#xff0c;反映了领域中诸多系统所共有的结构特征和语义特征&#xff0c;并指导如何将各个模块和子系统有效组织成一个完整的系统。分层架构是一种常见的软件架构风格&#xff0c;能够有效简化设计&…

世优科技“1+2+N”,助力湖南旅发大会“火出圈”

刚刚&#xff0c;第三届湖南旅游发展大会在衡阳盛大启幕&#xff0c;现场&#xff0c;世优科技团队通过“12N”模式&#xff08;即&#xff1a;1个IP复活&#xff0c;2项技术突破&#xff0c;N个场景应用&#xff09;&#xff0c;助力衡阳市IP“火出圈”3D形象惊艳亮相&#xf…

支付宝开放平台-开发者社区——AI 日报「9 月 26 日」

1 突破数据墙&#xff01;27岁华裔MIT辍学创业8年&#xff0c;年化收入逼近10亿 新智元&#xff5c;阅读原文 就在刚刚&#xff0c;创业成功的27岁亿万富翁Alexandr Wang宣布——Scale AI的年化收入&#xff0c;几乎达到了10亿美元&#xff01;Scale AI主攻的就是如今AI模型…

BACnet协议-(基于ISO 8802-3 UDP)(2)

1、模拟设备的工具界面如下&#xff1a; 2、使用yet another bacnet explorer 用作服务&#xff0c;用于发现设备&#xff0c;界面如下&#xff1a; 3、通过wireshark 抓包如下&#xff1a; &#xff08;1&#xff09;、整体包如下&#xff1a; &#xff08;2&#xff09;、m…

AI制作30秒疗愈视频,单月变现9万+,这才是顶流赛道!

用AI做短视频&#xff0c;赚流量分成&#xff0c;一个月竟然能月赚9万元&#xff0c;毫不夸张的说已经能够媲美二线城市普通上班族全年收入&#xff01; 在国外社交平台YouTube油管上的账号&#xff0c;仅仅只用一段30秒的风景空镜头&#xff0c;配上一段纯文字的情感鸡汤&…

【GUI设计】基于图像分割和边缘算法的GUI系统(7),matlab实现

博主简介&#xff1a; 如需获取设计的完整源代码或者有matlab图像代码项目需求/合作&#xff0c;可联系主页个人简介提供的联系方式或者文末的二维码。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于图像分割和边缘算法的GUI系统…

[Redis][Zset]详细讲解

目录 0.前言1.常见命令1.ZADD2.ZCARD3.ZCOUNT4.ZRANGE5.ZREVRANGE6.ZRANGEBYSCORE7.ZPOPMAX8.BZPOPMAX9.ZPOPMIN10.BZPOPMIN11.ZRANK12.ZREVRANK13.ZSCORE14.ZREM15.ZREMRANGEBYRANK16.ZREMRANGEBYSCORE17.ZINCRBY 2.集合间操作1.有序集合的交集操作2.ZINTERSTORE3.有序集合的并…

ROS-noetic自定义action文件进行通信

前言 本系统的系统是Ubuntu20.04的ros-noetic&#xff0c;本文讲述了通过创建 ROS 节点&#xff08;服务器和客户端&#xff09;的完整流程&#xff0c;使用 Action 实现从 1 到 N 的累加和&#xff0c;并在计算过程中向客户端发送进度反馈。 整体概述 创建功能包&#xff1a;…

多线程极速导出/9字段10W行只需2秒/导入导出打印组件/功能丰富简单易用

一、功能特点 组件同时集成了导出数据到csv、xls、pdf和打印数据。所有操作全部提供静态方法无需new&#xff0c;数据和属性等各种参数设置采用结构体数据&#xff0c;极为方便。同时支持QTableView、QTableWidget、QStandardItemModel、QSqlTableModel等数据源。提供静态方法…

如何使用GitHub Desktop管理GitLab库

不管是新手还是老手&#xff0c;Github Desktop都是在苹果系统和Windows系统上管理与创建项目的不错的方式&#xff0c;GitHub Desktop都能够让在GitHub上的工作流更为简单快捷。 注意&#xff0c;以下步骤只支持原版的GitHub Desktop 第一步 从这下载GitHub Desktop打开你的G…

CSS中<a>超链接的样式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- 伪类选择器 -->&…

大模型RAG入门到实战基础教程(非常详细),大模型RAG入门到精通,收藏这一篇就够了!

写在前面 大模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;的浪潮已经席卷了几乎各行业&#xff0c;但当涉及到专业场景或行业细分域时&#xff0c;通用大模型就会面临专业知识不足的问题。相对于成本昂贵的“Post Train”或“SFT”&#xff0c;基于RAG的技…

css 中 ~ 符号的使用

直接看代码 <script setup> </script><template><div class"container"><p><a href"javascript:;">纪检委</a><a href"javascript:;">中介为</a><a href"javascript:;">…

Vxe UI vue 使用 vxe-form 表单实现简历模板

Vxe UI 使用 vxe-form 表单实现简历模板 查看 github <template><div><p>边框&#xff1a;<vxe-switch v-model"border"></vxe-switch>标题背景&#xff1a;<vxe-switch v-model"titleBackground"></vxe-switch&…

【GreenHills】使用“gsrec”命令生成二进制文件

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 记录在GHS中修改工程命令&#xff0c;输出hex&#xff0c;bin文件等&#xff0c;对问题进行快速答疑&#xff0c;GHS编译器如何去使用”gsrec“生成不同的二进制文件。 2、 问题场景 客户想要生成hex&#xff0c;bi…

【每日一题】LeetCode 2306.公司命名(位运算、数组、哈希表、字符串、枚举)

【每日一题】LeetCode 2306.公司命名&#xff08;位运算、数组、哈希表、字符串、枚举&#xff09; 题目描述 给定一个字符串数组 ideas&#xff0c;表示在公司命名过程中使用的名字列表。我们需要从 ideas 中选择两个不同的名字&#xff0c;称为 ideaA 和 ideaB。然后交换 i…

深入探索Go语言反射机制:reflect包的高级用法和实战技巧

深入探索Go语言反射机制:reflect包的高级用法和实战技巧 引言reflect包的作用和重要性为什么reflect包对于Go语言开发者的重要性 reflect包的基础reflect包的导入和基本用法reflect的核心概念&#xff1a;类型&#xff08;Type&#xff09;和值&#xff08;Value&#xff09;使…