MySQL之数据导入导出备份以及事务、存储引擎-阿里云开发者社区

开发者社区> 数据库> 正文

MySQL之数据导入导出备份以及事务、存储引擎

简介: MySQL之数据导入导出备份以及事务、存储引擎 数据导入 作用:把文件系统的内容导入到数据库中 操作步骤: 1.在数据库中创建对应的表 create table userinfo(  username varchar(20), .

MySQL之数据导入导出备份以及事务、存储引擎

数据导入

作用:把文件系统的内容导入到数据库中

操作步骤:

1.在数据库中创建对应的表


create table userinfo(  username varchar(20),
passwd char(1),
uid int
gid int
comment varchar(50),  
homedir varchar(50), 
shell varchar(50) );

2.把要导入的文件拷贝到数据库搜索路径中

          1.查看数据库的搜索路径

                   show variables like "secure_file_priv";

          2.sudo cp / etc / passwd / var / lib / mysql - files /

3.执行数据导入语句(mysql输入四条命令一起写)

          load data infile "/var/lib/mysql-files/passwd"

          into table userinfo(库名)

          fields terminated by ":"  # 表示以冒号分割

          lines terminated by "\n";

数据导出

作用:将数据库中的表记录保存到系统文件中

语法格式:

select(...字段名) from 表名

into outfile "/var/lib/mysql-files/user1.txt"

fields terminated by "分隔符"

lines terminated by "\n";

数据备份(mysqldump,Linux终端操作)

命令格式 : mysqldump -u用户名 -p 源库名 > 路径/xxx.sql

源库名的表示方式:

--all-databases 备份所有库

 

 

库名      备份单个库

-B 库1 库2...   备份多个库

库名 表1 表2... 备份指定库的指定表

示例:

1.备份所有库all.sql,放到mydata目录中

     mysqldump -root -p --all-databases > all.sql

2.备份db4库中的sheng,city 和xian三张表为 db4scx.sql

     mysqldump -uroot -p db4 sheng city xian > db4scx.sql

数据恢复

命令格式 : mysql -u用户名 -p 目标库名 < xxx.sql

示例:

     mysql -uroot -p --one-database MOSHOU < all.sql

注意:

恢复库时,原库中表中记录会被覆盖,新增表不会被覆盖

事务和事务回滚

定义:一件事从开始发生到结束的过程

作用:确保数据一致性

事务应用

开启事务:begin;

## autocommit 被禁用,SQL命令不会提交到数据库执行

终止事务:commit;

rollback;

注意:

事务和事务回滚只针对表记录操作:增、删、改有效,对键库建表无效

 

 


示例:
1.背景 你:建行卡 你朋友:工商卡 你在建行自动取款机上给你朋友工商卡转5000元
2.过程
表1:CCB
create table CCb(name char(15),money init );
insert into CCB values ("xhuanwian",10000);
表2:ICBC
create table ICBC(name char(15),money int);
insert into ICBC values ("shouqian",4000);
3.
mysql>begin;
mysql>update CCB set money=5000 where name
mysql>update ICBC set money=9000 where name

存储引擎(代表表的处理器)

MySQL存储引擎(处理表的处理器)

基本操作:

        查看所有存储引擎

             show engines;

        查看表存储引擎

              show create table 表名;

        指定存储引擎

                create table 表名(……)engine = innodb,character set utf8;

         修改已有表的存储引擎

                 alter table 表名 engine=myisam;

工作常用

        InnoDB MyISAM

修改表的默认存储引擎(修改配置文件)

sudo -i

cd /etc/mysql/mysql.conf.d/

(复制一下,以防丢失)

[mysqld]

default-storage-engine=myisam

(修改默认引擎)

重启mysql

存储引擎特点

MyISAM特点

             独享表空间

              表名.frm bi结构

              表名.myd 表记录

               表名.myi 索引文件

                只支持表级锁

InnoDB特点

           共享表空间

           表名.frm 表结构和索引信息

           表名.ibd 表记录

            支持行级锁

memory

           表结构存储于硬盘,表记录存储于内存

            表名.frm

            服务重启后表结构还在,表记录都消失

 

决定表使用什么存储引擎

主要用来查询的表用MyISAM

写操作多的表用InnoDB

原文地址https://blog.csdn.net/sinat_42311311/article/details/81410817

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章