MySQL source命令的使用简介

一个线上问题的引发的思考

今天上班的时候,开发的同事拿过来一个.zip的压缩包文件,说是要把里面的数据倒入到数据库里面,本来想着是成型的SQL,只需要复制粘贴一下,倒入到数据库中就可以了。拿到的时候,才发现问题没我想的那么简单,我首先看到的是一个压缩包,大概30多M,解压之后,发现里面的内容是个.sql的数据文件,文件的大小是645M左右,这么大的文件,要是手动粘贴上去,那简直太变态了。第一反应这个是不是mysqldump出来的备份数据,要是这样的话,就可以直接在命令行中进行恢复了。于是打开看了一下里面的内容,发现这是一个标准的Navicat导出的sql文件,里面全都是各种的插入语句,到这里,一下子释然了,因为这样的就sql文件可以直接通过MySQL的source命令来倒入到数据库中,因为数据量很大,为了避免出错,我重新看了看source的语法,这里简单说明下。

MySQL之source命令

mysql source命令主要用来倒入超大的sql文件,在日常工作中,我们往往会遇到导入大的数据文件的情况,在MySQL中,用mysql source命令可以导入轻松解决这个问题,MySQL source的基本语法如下:

mysql>use dbtest;
mysql>set names utf8;
mysql>source D:/xxx/xxx/back.sql;

首先我们选定需要倒入数据的数据库,然后设定默认字符集,接着使用source命令,后面跟上我们的.sql所在的绝对路径就可以了。如果我们的文件有5个,就可以通过这样的方法一个一个倒入到数据库中,切记选定正确的数据库名称。

考虑这样一种需求,如果我们有10个这样的文件,假设手动一条一条去添加,难免出现一些错误。这时候,我们可以采用一个办法,就是把我们要写的这些source命令写在一个文件中,像下面这样:

source D:/xxx/xxx/back0.sql;
source D:/xxx/xxx/back1.sql;
source D:/xxx/xxx/back2.sql;
source D:/xxx/xxx/back3.sql;
source D:/xxx/xxx/back4.sql;
source D:/xxx/xxx/back5.sql;
source D:/xxx/xxx/back6.sql;
source D:/xxx/xxx/back7.sql;
source D:/xxx/xxx/back8.sql;
source D:/xxx/xxx/back9.sql;

然后我们去source这个文件,直接就可以顺序执行这些命令。这种方法,似乎已经解决了我们的问题,但是这样的操作方式,还存在一个新的问题,如果有100个这样的文件,而且他们的名称有一定的规律,我们一个个去写命令肯定很麻烦,这个时候我们可以通过写脚本的方式或者使用各类编辑器的列编辑模式,先产生这样一个一个的命令行,最后再一次粘贴到文件中,最终执行source命令即可。

需要注意的是,source命令执行的时候,会把query ok的命令打印到前段输入框,像下面这样:

Query ok;
Query ok;
Query ok;
Query ok;
Query ok;
Query ok;
Query ok;
Query ok;

如果不想看到这样的结果,可以将source命令的输出结果重定向到一个文件中,这样就可以避免不停的在控制台输出了。

mysql>use db_test
mysql>source D:/test.sql > output.log

最后提醒一点,source命令需要在mysql命令行中使用,而不像mysqldump那样直接可在命令行使用。

今天就简单写这么多吧。

以上就是MySQL source命令的使用简介的详细内容,更多关于MySQL source命令的使用的资料请关注我们其它相关文章!

(0)

相关推荐

  • mysql使用source 命令乱码问题解决方法

    今天从windows上导出一个sql执行文件,再倒入到unbutn中,结果出现乱码,折腾7-8分钟, 解决方式 在导出mysql sql执行文件的时候,指定一下编码格式: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 mo(dbname) > E://xxxx.sql 导入的时候OK了 执行如下 复制代码 代码如下: mysql -u root -p --default-character-set=utf8 use dbn

  • Mysql导入导出工具Mysqldump和Source命令用法详解

    在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. M

  • mysql数据库备份及恢复命令 mysqldump,source的用法

    还原一个数据库:mysql -h localhost -u root -p123456 www<c:\www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile&qu

  • mysql source 命令导入大的sql文件的方法

    在mysql的安装目录下 找到 my.ini文件 加入以下代码:interactive_timeout = 120wait_timeout = 120max_allowed_packet = 32M======================================小例子mytest_emp_dept.sql文件,内容如下:CREATE TABLE emp(eid INT PRIMARY KEY AUTO_INCREMENT, ename VARCHAR(20) NOT NULL, es

  • MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面,然后选择需要导入的数据库,执行 source 命令.如下图所示. MySql 数据库 source 命令 mysql> use test Database changed mysql> set names utf8; Query OK, 0 rows affected (0.00 sec) mys

  • MySQL source命令的使用简介

    一个线上问题的引发的思考 今天上班的时候,开发的同事拿过来一个.zip的压缩包文件,说是要把里面的数据倒入到数据库里面,本来想着是成型的SQL,只需要复制粘贴一下,倒入到数据库中就可以了.拿到的时候,才发现问题没我想的那么简单,我首先看到的是一个压缩包,大概30多M,解压之后,发现里面的内容是个.sql的数据文件,文件的大小是645M左右,这么大的文件,要是手动粘贴上去,那简直太变态了.第一反应这个是不是mysqldump出来的备份数据,要是这样的话,就可以直接在命令行中进行恢复了.于是打开看了

  • Mysql常用命令 详细整理版

    Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示. 显示当前mysql版本和当前日期 select

  • 值得收藏的mysql常用命令集锦

    本文为大家详细整理了mysql常用命令,分享给大家,供大家参考 1.连接Mysql 格式:mysql -h主机地址 -u用户名 -p用户密码 1).连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysq

  • MySQL使用命令备份和还原数据库

    数据库在使用当中都会有数据库备份工作,当数据库发生严重错误无法启动,或者数据丢失时可以及时有效地恢复数据.文章简单介绍如何备份和还原MySQL数据库. 备份数据库 使用mysqldump命令备份数据库 复制代码 代码如下: # 如果要将game数据库进行备份: mysqldump -u root -p game > game_backup.sql # 如果希望备份所有的数据库: mysqldump -u root -p --all-databases > all_backup.sql 还原数据

  • mysql 常用命令集锦[绝对精华]

    一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2.连接到远程主机上的MYSQL.假设远程主机的IP为:

  • mysql常用命令大全 mysql常用命令总结

    创建与管理mysql数据库的常用命令: 1,使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2,创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3,选择创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4,查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5,创建一个数据库表 mysq

  • MySQL常用命令大全脚本之家总结

    MYSQL常用命令1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

随机推荐