当前位置:   article > 正文

MySQL之数据导入导出备份以及事务、存储引擎_mysql导入事务性的数据库的建库建表文件

mysql导入事务性的数据库的建库建表文件

数据导入

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

操作步骤:

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

  1. create table userinfo(  username varchar(20),
  2. passwd char(1),
  3. uid int
  4. gid int
  5. comment varchar(50),  
  6. homedir varchar(50), 
  7. 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. 示例:
  2. 1.背景 你:建行卡 你朋友:工商卡 你在建行自动取款机上给你朋友工商卡转5000
  3. 2.过程
  4. 1:CCB
  5. create table CCb(name char(15),money init );
  6. insert into CCB values ("xhuanwian",10000);
  7. 2:ICBC
  8. create table ICBC(name char(15),money int);
  9. insert into ICBC values ("shouqian",4000);
  10. 3.
  11. mysql>begin;
  12. mysql>update CCB set money=5000 where name
  13. 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

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/88421
推荐阅读
相关标签
  

闽ICP备14008679号