金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > 导入CSV格式的数据,mysqldump工具介绍

导入CSV格式的数据,mysqldump工具介绍

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-29 10:15

使用mysqldump 指令:

mysqldump  -uroot -p --host=localhost --all-databases --skip-opt

MySQL备份还原——mysqldump工具介绍,mysqlmysqldump

mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件。有点类似于SQL SEVER的“任务-生成脚本”的逻辑备份功能。mysqldump是比较常用的备份方法,适合于在不同MySQL版本之间的迁移、升级。不足之处就是数据库比较大时,mysqldump的效率不高。

mysqldump的主要参数收集整理注释如下,如果你要查看mysqldump的具体参数信息,可以使用命令mysqldump –help

--add-drop-table       :在每个创建数据库表语句前添加删除数据库表的语句; 

--add-locks            :备份数据库表时锁定数据库表;

--all-databases        :备份MySQL服务器上的所有数据库;

--comments             :添加注释信息; 

--compatible=name      :它告诉 mysqldump,导出的数据将和哪种数据库或哪个旧版本的 MySQL 服务器相兼容。值可以为ansi、mysql323、mysql40、                                postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,要使用几个值,用                                逗号将它们隔开。当然了,它并不保证能完全兼容,而是尽量兼容。

--compact              :压缩模式,产生更少的输出; 

--complete-insert,-c  :输出完成的插入语句;导出的数据采用包含字段名的完整 INSERT 方式,也就是把所有的值都写在一行。这么做能提高插入效                                率,但是可能会受到 max_allowed_packet 参数的影响而导致插入失败。因此,需要谨慎使用该参数。

--databases            :指定要备份的数据库; 

--default-character-set:指定导出数据时采用何种字符集,如果数据表不是采用默认的 latin1 字符集的话,那么导出时必须指定该选项,否则再次导入                               数据后将产生乱码问题。

--disable-keys         :告诉 mysqldump 在 INSERT 语句的开头和结尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和 /*!40000 ALTER TABLE                               table ENABLE KEYS */; 语句,这能大大提高插入语句的速度

--extended-insert      :默认情况下,mysqldump 开启 --complete-insert 模式,因此不想用它的的话,就使用本选项,设定它的值为 false 即可。

--force                :当出现错误时仍然继续备份操作; 

--host                 :指定要备份数据库的服务器; 

--hex-blob             :使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用本选项。影响到的字段类型有 BINARY、VARBINARY、                                 BLOB。

--lock-all-tables,-x  :在开始导出之前,提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭 --single-                                 transaction 和 --lock-tables 选项。

--lock-tables          :它和 --lock-all-tables 类似,不过是锁定当前导出的数据表,而不是一下子锁定全部库下的表。本选项只适用于 MyISAM 表,                               如果是 Innodb 表可以用 --single-transaction 选项。; 

--no-create-db         :禁止生成创建数据库语句; 

--no-create-info       :禁止生成创建数据库库表语句;

--no-data,-d          :不导出任何数据,只导出数据库表结构。 

--password             :连接MySQL服务器的密码; 

--port                 :MySQL服务器的端口号; 

--quick,-q            :该选项在导出大表时很有用,它强制 mysqldump 从服务器查询取得记录直接输出而不是取得所有记录后将它们缓存到内存中。

--routines,-R         : 导出存储过程以及自定义函数。

--single-transaction   : 该选项在导出数据之前提交一个 BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用                               于事务表,例如 InnoDB 和 BDB。本选项和 --lock-tables 选项是互斥的,因为 LOCK TABLES 会使任何挂起的事务隐含提交。

                              要想导出大表的话,应结合使用 --quick 选项。

 

--triggers            :同时导出触发器。该选项默认启用,用 --skip-triggers 禁用它。

--user                :连接MySQL服务器的用户名

另外关于mysqldump的一些参数默认值如下所示

Variables (--variable-name=value)

and boolean options {FALSE|TRUE}  Value (after reading options)

--------------------------------- ----------------------------------------

all-databases                     FALSE

all-tablespaces                   FALSE

no-tablespaces                    FALSE

add-drop-database                 FALSE

add-drop-table                    TRUE

add-drop-trigger                  FALSE

add-locks                         TRUE

allow-keywords                    FALSE

apply-slave-statements            FALSE

bind-address                      (No default value)

character-sets-dir                (No default value)

comments                          TRUE

compatible                        (No default value)

compact                           FALSE

complete-insert                   FALSE

compress                          FALSE

create-options                    TRUE

databases                         FALSE

debug-check                       FALSE

debug-info                        FALSE

default-character-set             utf8

delayed-insert                    FALSE

delete-master-logs                FALSE

disable-keys                      TRUE

dump-slave                        0

events                            FALSE

extended-insert                   TRUE

fields-terminated-by              (No default value)

fields-enclosed-by                (No default value)

fields-optionally-enclosed-by     (No default value)

fields-escaped-by                 (No default value)

flush-logs                        FALSE

flush-privileges                  FALSE

force                             FALSE

hex-blob                          FALSE

host                              (No default value)

include-master-host-port          FALSE

insert-ignore                     FALSE

lines-terminated-by               (No default value)

lock-all-tables                   FALSE

lock-tables                       TRUE

log-error                         (No default value)

master-data                       0

max-allowed-packet                25165824

net-buffer-length                 1046528

no-autocommit                     FALSE

no-create-db                      FALSE

no-create-info                    FALSE

no-data                           FALSE

order-by-primary                  FALSE

port                              0

quick                             TRUE

quote-names                       TRUE

replace                           FALSE

routines                          FALSE

set-charset                       TRUE

single-transaction                FALSE

dump-date                         TRUE

socket                            (No default value)

secure-auth                       TRUE

ssl                               FALSE

ssl-ca                            (No default value)

ssl-capath                        (No default value)

ssl-cert                          (No default value)

ssl-cipher                        (No default value)

ssl-key                           (No default value)

ssl-crl                           (No default value)

ssl-crlpath                       (No default value)

ssl-verify-server-cert            FALSE

tab                               (No default value)

triggers                          TRUE

tz-utc                            TRUE

user                              (No default value)

verbose                           FALSE

where                             (No default value)

plugin-dir                        (No default value)

default-auth                      (No default value)

mysqldump提供了非常丰富的参数选项、备份非常方便灵活,可以备份所有数据库, 也可以只备份某一个或几个数据库,也可以只备份数据库中的单个或几个表、也可以只备份数据库的表结构......

            Usage:   mysqldump [OPTIONS] database [tables]

                  OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]

                  OR mysqldump [OPTIONS] --all-databases [OPTIONS]

 

1: 导出单个数据库

 

[[email protected] ~]# mysqldump -u root -p --default-character-set=utf8 --opt --extended-insert=false test > db_backup_test.sql

Enter password:

 

2:导出所有数据库

 

[[email protected] ~]# mysqldump -u root -p --default-character-set=utf8 --opt --extended-insert=false --all-databases > db_backup_all.sql;

Enter password:

 

3:导出指定数据库

 

[[email protected] ~]# mysqldump -u root -p --default-character-set=utf8 --opt --extended-insert=false --databases test mysql > db_backup.sql

Enter password:

 

4:导出表person

[[email protected] ~]# mysqldump -u root -p --default-character-set=utf8 --opt --extended-insert=false test person >db_backup_t_金沙棋牌app手机下载,persons.sql

Enter password:

下面介绍一个使用mysqldump备份的shell脚本:mysql_dump_backup.sh

#!/bin/sh

 

################### mysql_dump_backup.sh: Backup MYSQL Database using mysqldump##################

 

# Set Variable for Script

# Please change the Location and username and password

# MYSQL Account should have SHOW DATABASES, SELECT, LOCK TABLE, RELOAD Privileges

# ###############################################################################################

 

DATE=$(date +%Y-%m-%d)

FILENAME="backup_db_all.sql"

LOCATION="/u04/mysqlbackup/"

#DBSERVER=127.0.0.1

USERNAME="root"

PASSWORD="******"

RETENSION=7

 

################################## Command for MYSQL Dump########################################

 

 

########################################## Create Folder#########################################

BACKUPLOCATION="$LOCATION/$DATE"

test ! -d $LOCATION && mkdir $LOCATION

test ! -d $BACKUPLOCATION && mkdir $BACKUPLOCATION

 

# Collect All Database Name and Dump Each Database to sql Files

#for db in $(mysql --user=$USERNAME --password=$PASSWORD -e 'SHOW DATABASES' -s --skip-column-names); do

#    mysqldump --user=$USERNAME --password=$PASSWORD $db | gzip > "$BACKUPLOCATION/$db.$FILENAME.gz";

#    DATESTAMP=$(date +%Y-%m-%d);    

#    TIMESTAMP=$(date +%H:%M:%S);

#    echo "$DATESTAMP $TIMESTAMP : $db has been backed up in gzip format" >> "$LOCATION/history.log";

#done

 

# Collect All Database Name and Dump Whole Database

mysqldump --user=$USERNAME --password=$PASSWORD --all-databases --events --routines --master-data=2 --flush-logs --lock-all-tables | gzip > "$BACKUPLOCATION/$FILENAME.gz"

DATESTAMP=$(date +%Y-%m-%d)

TIMESTAMP=$(date +%H:%M:%S)

echo "$DATESTAMP $TIMESTAMP : All databases have been backed up in gzip format" >> "$LOCATION/history.log";

 

# Clean Up for Folders Created X Days Ago

FOLDERS=$(find $LOCATION* -type d -mtime +$RETENSION -print0)

for FOLDER in $FOLDERS; do

    echo "$DATESTAMP $TIMESTAMP : $FOLDER has been deleted" >> "$LOCATION/history.log";    

    rm -rf $FOLDER;

done

mysql_log_backup.sh

#!/bin/sh

 

# mysql-backup-daily.sh: Backup MYSQL Database using mysqldump

 

# Set Variable for Script

# Please change the Location and username and password

# MYSQL Account should have SHOW DATABASES, SELECT, LOCK TABLE, RELOAD Privileges

# ================================================================================

 

#DBSERVER=127.0.0.1

USERNAME="root"

PASSWORD="*****"

LOCATION=""/var/lib/mysql/"

BKLOCATION="/u04/mysqlbackup/"

 

# Command for MYSQL Bin Log Flush

# ======================

 

# Collect All Database Name and Dump Whole Database

mysql --user=$USERNAME --password=$PASSWORD -e 'FLUSH LOGS' -s

cp $LOCATION/mysql-bin.* $BKLOCATION

参考资料:

mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件。有点类似于...

 

 

mysqldump  -uroot -p --host=localhost --all-databases --no-set-names

 

D:>mysqldump -u root -proot bookStore>bookStore.sql

mysqldump  -uroot -p --host=localhost --all-databases --include-master-host-port

  由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2 ……

  Linux 代码

--apply-slave-statements

mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql  

开始导出前,锁定所有表。用READ  LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁定表。

 

使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。

mysqldump 数据库名 -uroot -p > xxx.sql

导出的数据将和其它数据库或旧版本的MySQL 相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,

 

mysqldump  -uroot -p --host=localhost --all-databases --lock-tables

 

--quick, -q

备份数据库 Linux 代码 #mysqldump 数据库名 数据库备份名 #mysqldump -A -u 用户名 -p密码 数据库名数据库备份...

mysqldump  -uroot -p --host=localhost --all-databases --lock-all-tables

 

mysqldump  -uroot -p --host=localhost --all-databases

  Linux 代码

提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。

mysqldump -uroot -p -B数据库名 --table 表名 > xxx.sql

--include-master-host-port

 

--socket,-S

#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql

--version, -V

mysqldump -t 数据库名 -uroot -p > xxx.sql

--lock-all-tables,  -x

 

覆盖--databases (-B)参数,指定需要导出的表名。

 

mysqldump  -uroot -p --host=localhost --all-databases --protocol=tcp

  备份数据库

mysqldump  -uroot -p --host=localhost --databases test --tables test

mysqldump --opt -d 数据库名 -u root -p > xxx.sql  

--force

  导入数据:

--dump-slave

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

输出文件的每行用给定字符串划分。与--tab选项一起使用,不能用于--databases和--all-databases选项。

 

输出文件中的各个字段用给定字符包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项

  

为每个表在给定路径创建tab分割的文本文件。注意:仅仅用于mysqldump和mysqld服务器运行在相同机器上。

  Ruby 代码

mysqldump  -uroot -p --all-databases –skip-add-drop-table  (取消drop语句)

#mysqldump 数据库名 >数据库备份名

--fields-escaped-by

  2.导出数据不导出结构

mysqldump  -uroot -p --all-databases --dump-slave=1

#mysqldump 数据库名 >数据库备份名  

mysqldump  -uroot -p --host=localhost --all-databases --replace

  

指定连接的用户名。

 

只导出数据,而不添加CREATE TABLE 语句。

 

mysqldump  -uroot -p --host=localhost --all-databases --no-create-db

mysqldump只导出数据或者只导出表结构

输出调试信息并退出

#mysqldump -A -u 用户名 -p密码 数据库名>数据库备份名  

要使用几个值,用逗号将它们隔开。它并不保证能完全兼容,而是尽量兼容。

mysqldump 数据库名 -uroot -p > xxx.sql  

--compress, -C

 

mysqldump  -uroot -p --host=localhost --all-databases --pipe

 

--where, -w

#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql  

附加注释信息。默认为打开,可以用--skip-comments取消

  3.导出数据和表结构

--add-drop-database

 

mysqldump  -uroot -p --host=localhost --all-databases --net_buffer_length=1024

 

指定连接mysql的socket文件位置,默认路径/tmp/mysql.sock

#mysqldump -A -u用户名 -p密码 数据库名>数据库备份名

mysqldump  -uroot -p --all-databases  (默认添加drop语句)

  Linux 代码

--all-tablespaces  , -Y

  Linux 代码

 

  1.导出结构不导出数据

--insert-ignore

  Linux 代码

直接输出到指定文件中。该选项应该用在使用回车换行对(\r\n)换行的系统上(例如:DOS,Windows)。该选项确保只有一行被使用。

 

mysqldump  -uroot -p --host=localhost --all-databases --plugin_dir=”/usr/local/lib/plugin”

#mysql 数据库名 < 文件名  

--no-create-info,  -t

 

--default_auth

  

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。

 

开始导出之前刷新日志。

 

mysqldump  -uroot -p --all-databases

  4.导出特定表的结构

mysqldump  -uroot -p --all-databases

#source /tmp/xxx.sql  

mysqldump  -uroot -p --all-databases--skip-extended-insert   (取消选项)

mysqldump -t 数据库名 -uroot -p > xxx.sql  

--debug

 

mysqldump  -uroot -p --host=localhost --all-databases --triggers

 

需要导出的主机信息

 

使用(`)引起表和列名。默认为打开状态,使用--skip-quote-names取消该选项。

 

--no-data, -d

mysqldump  -uroot -p --all-databases --delayed-insert

mysqldump  -uroot -p --all-databases --complete-insert

 

每个数据库创建之前添加drop数据库语句。

--extended-insert,  -e

mysqldump  -uroot -p --host=localhost --all-databases --routines

将导出时间添加到输出文件中。默认为打开状态,使用--skip-dump-date关闭选项。

使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。

mysqldump  -uroot -p --host=localhost --all-databases  --log-error=/tmp/mysqldump_error_log.err

--add-drop-table

使用autocommit/commit 语句包裹表。

mysqldump  -uroot -p --all-databases --debug

检查内存和打开文件使用说明并退出。

--help

如果存在主键,或者第一个唯一键,对每个表的记录进行排序。在导出MyISAM表到InnoDB表时有效,但会使得导出工作花费很长时间。

--result-file,  -r

--no-autocommit

--complete-insert,  -c

服务器发送和接受的最大包长度。

 

--lock-tables,  -l

--delayed-insert

mysqldump  -uroot -p --all-databases  (默认添加LOCK语句)

--default-character-set

不导出任何数据,只导出数据库表结构。

mysqldump  -uroot -p --host=localhost --all-databases

mysqldump  -uroot -p --host=localhost --all-databases --xml

该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK  TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

--fields-optionally-enclosed-by

客户端插件的目录,用于兼容不同的插件版本。

mysqldump  -uroot -p --host=localhost --all-databases --max_allowed_packet=10240

输出debug信息,用于调试。默认值为:d:t:o,/tmp/mysqldump.trace

--verbose, --v

该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE  MASTER命令前添加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。

--net_buffer_length

--triggers

--single-transaction

mysqldump  -uroot -p --host=localhost --all-databases --no-data

mysqldump  -uroot -p --host=localhost --all-databases --opt

--master-data

导出全部表空间。

mysqldump  -uroot -p --host=localhost --all-databases --insert-ignore

--routines, -R

mysqldump  -uroot -p --host=localhost --all-databases --no-autocommit

等同于--skip-set-charset

--host, -h

mysqldump  -uroot -p --all-databases --flush-privileges

--pipe(windows系统可用)

--ignore-table

--lines-terminated-by


等同于--add-drop-table,  --add-locks, --create-options, --quick, --extended-insert, --lock-tables,  --set-charset, --disable-keys 该选项默认开启,  可以用--skip-opt禁用.

mysqldump  -uroot -p --host=localhost --all-databases --skip-set-charset

mysqldump  -uroot -p --all-databases --apply-slave-statements

对于每个表,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表,默认为打开状态。

1.数据的导入导出
mysqldump -u root -p --no-create-db --default-character-set=utf8 -e --max_allowed_packet=102400 --net_buffer_length=16384 smfs > f:dasmfssmfs12.sql 

mysqldump  -uroot -p --all-databases --all-tablespaces

--fields-terminated-by

只转储给定的WHERE条件选择的记录。请注意如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。

--plugin_dir

在插入行时使用INSERT IGNORE语句.

--hex-blob

不导出任何表空间信息。

输出mysqldump版本信息并退出

mysqldump  -uroot -p --all-databases --allow-keywords

--flush-privileges

使用的连接协议,包括:tcp, socket, pipe, memory.

mysqldump  -uroot -p --host=localhost --all-databases --ignore-table=mysql.user

--log-error

--debug-info

在导出过程中忽略出现的SQL错误。

mysqldump  -uroot -p --all-databases --delete-master-logs

mysqldump  -uroot -p --host=localhost --all-databases --skip-quote-names

在导出顶部设置时区TIME_ZONE='+00:00' ,以保证在不同时区导出的TIMESTAMP 数据或者数据被移动其他时区时的正确性。

--no-tablespaces  , -y

mysqldump  -uroot -p --host=localhost --all-databases --default-auth=”/usr/local/lib/plugin/<PLUGIN>”

mysqldump  -uroot -p --all-databases --skip-comments   (取消注释)

该选项将导致主的binlog位置和文件名追加到导出数据的文件中。设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,在命令前增加说明信息。该选项将会打开--lock-all-tables,除非--single-transaction被指定。该选项会自动关闭--lock-tables选项。默认值为0。

mysqldump  -uroot -p --all-databases --events

--compact

mysqldump  -uroot -p --all-databases --force

mysqldump  -uroot -p --host=localhost --all-databases --socket=/tmp/mysqld.sock

--add-locks

mysqldump  -uroot -p --all-databases –skip-add-locks   (取消LOCK语句)

--events, -E

--replace

在'CHANGE MASTER'前添加'STOP SLAVE',并且在导出的最后添加'START SLAVE'。

使用命名管道连接mysql

mysqldump  -uroot -p --host=localhost --all-databases --where=” user=’root’”

--quote-names,-Q

Mysqldump参数大全

--password, -p

--character-sets-dir

--debug-check

mysqldump  -uroot -p --host=localhost --all-databases

--port, -P

--tab,-T


mysqldump  -uroot -p --host=localhost --all-databases --skip-dump-date

mysqldump  -uroot -p test test --tab=”/home/mysql” --fields-enclosed-by=”#”

mysqldump  -uroot -p --all-databases --compress

--user, -u

--compatible

mysqldump  -uroot -p --all-databases --hex-blob

mysqldump  -uroot -p --all-databases --debug=” d:t:o,/tmp/debug.trace”

--databases,  -B

客户端插件默认使用权限。

mysqldump  -uroot -p --all-databases  (默认记录注释)

--allow-keywords

--order-by-primary

mysqldump  -uroot -p --host=localhost --all-databases --no-create-info

mysqldump  -uroot -p --host=localhost --all-databases --single-transaction

--create-options,  -a

导出事件。

在客户端和服务器之间启用压缩传递所有信息

采用延时插入方式(INSERT DELAYED)导出数据

设置默认字符集,默认值为utf8

输出文件中的各个字段忽略给定字符。与--tab选项一起使用,不能用于--databases和--all-databases选项

导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:--skip-add-drop-table  --skip-add-locks --skip-comments --skip-disable-keys

mysqldump  -uroot -p --host=localhost test test --tab="/home/mysql"

mysqldump  -uroot -p --host=localhost --all-databases

--delete-master-logs

--fields-enclosed-by

mysqldump  -uroot -p --all-databases --flush-logs

导出全部数据库。

mysqldump  -uroot -p --all-databases --compatible=ansi

--dump-date

不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。

mysqldump  -uroot -p --all-databases  --character-sets-dir=/usr/local/mysql/share/mysql/charsets

--flush-logs

--disable-keys

mysqldump  -uroot -p --host=localhost --all-databases --skip-quick

mysqldump  -uroot -p --all-databases --debug-info

连接数据库端口号

mysqldump  -uroot -p mysql user --tab=”/home/mysql” --fields-escaped-by=”#”

只导出数据,而不添加CREATE DATABASE 语句。

添加'SET NAMES  default_character_set'到输出文件。默认为打开状态,使用--skip-set-charset关闭选项。

--comments

mysqldump  -uroot -p test test --tab=”/home/mysql”  --fields-enclosed-by=”#” --fields-optionally-enclosed-by  =”#”

字符集文件的目录

mysqldump  -uroot -p --all-databases

mysqldump  --help

mysqldump  -uroot -p --host=localhost --all-databases --master-data=1;

mysqldump  -uroot -p --host=localhost --all-databases --master-data=2;

--tz-utc

mysqldump  -uroot -p test test --tab=”/home/mysql” --fields-terminated-by=”#”

--no-create-db,  -n

导出存储过程以及自定义函数。

显示帮助信息并退出。

导入CSV格式的数据
(参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html)
1.数据库表(st_pptn_r)
CREATE TABLE st_pptn_r (
STCD         varchar(8)     DEFAULT NULL,
TM         datetime         DEFAULT NULL,
DRP         decimal(5,1)     DEFAULT NULL,
INTV         decimal(5,2)     DEFAULT NULL,
PDR         decimal(5,2)     DEFAULT NULL,
DYP         decimal(5,1)     DEFAULT NULL,
WTH         varchar(1)     DEFAULT NULL,
DATETIME     datetime         DEFAULT NULL
)

2.数据
从Oracle导出数据的SQL为(注意字段顺序):
1.st_pptn_r表
select 
stcd, to_char(tm,'yyyy-mm-dd hh24:mi:ss') tm, drp, intv, pdr, dyp, wth, to_char(datetime,'yyyy-mm-dd hh24:mi:ss') datetime
from st_pptn_r;

2.st_river_r表
select 
stcd, to_char(tm,'yyyy-mm-dd hh24:mi:ss') tm , z, q, xsa, xsavv, xsmxv, flwchrcd, wptn, msqmt, msamt, msvmt 
from st_river_r;

3.st_rsvr_r表
select 
stcd, to_char(tm,'yyyy-mm-dd hh24:mi:ss') tm, rz, inq, w, blrz, otq, rwchrcd, rwptn, inqdr, msqmt 
from st_rsvr_r;

最终的数据格式:
1.st_pptn_r.csv文件
tm,drp,intv,pdr,dyp,wth,datetime
60948000,2014-05-02 04:00:00,0.5,1,,,7,
60948000,2014-05-01 22:00:00,0,1,,,9,

2.st_river_r.csv文件
STCD,TM,Z,Q,XSA,XSAVV,XSMXV,FLWCHRCD,WPTN,MSQMT,MSAMT,MSVMT
61906190,2014-05-02 00:00:00,336.77,,,,,,6,,,
62208300,2014-05-03 10:00:00,24.25,,,,,,6,,,

3.st_rsvr_r.csv文件
STCD,TM,RZ,INQ,W,BLRZ,OTQ,RWCHRCD,RWPTN,INQDR,MSQMT
61615000,2014-05-02 04:00:00,77.13,,56.966,,,,6,,
61615810,2014-05-02 06:00:00,289.56,,71.289,,,,5,,


3.命令操作
    1.st_pptn_r表
 > Load Data InFile 'D:/st_pptn_r.csv' 
Into Table ST_PPTN_R 
fields terminated by ',' 
lines terminated by 'rn'
ignore 1 lines 
(stcd, tm, @drp, @intv, @pdr, @dyp, @wth, @datetime)
set 
drp=if(@drp='',NULL,@drp),
intv=if(@intv='',NULL,@intv),
pdr=if(@pdr='',NULL,@pdr),
dyp=if(@dyp='',NULL,@dyp),
wth=if(@wth='',NULL,@wth),
datetime=if(@datetime='',NULL,str_to_date(@datetime, '%Y-%m-%d %H:%i:%s'));

2.st_river_r表
 > Load Data InFile 'D:/st_river_r.csv' 
Into Table ST_RIVER_R 
fields terminated by ',' 
lines terminated by 'rn'
ignore 1 lines 
(stcd,tm,@z,@q,@xsa,@xsavv,@xsmxv,@flwchrcd,@wptn,@msqmt,@msamt,@msvmt)
set 
z=if(@z='',NULL,@z),
q=if(@q='',NULL,@q),
xsa=if(@xsa='',NULL,@xsa),
xsavv=if(@xsavv='',NULL,@xsavv),
xsmxv=if(@xsmxv='',NULL,@xsmxv),
flwchrcd=if(@flwchrcd='',NULL,@flwchrcd),
wptn=if(@wptn='',NULL,@wptn),
msqmt=if(@msqmt='',NULL,@msqmt),
msamt=if(@msamt='',NULL,@msamt),
msvmt=if(@msvmt='',NULL,@msvmt);

3.st_rsvr_r表
 > Load Data InFile 'D:/st_rsvr_r.csv' 
Into Table ST_RSVR_R 
fields terminated by ',' 
lines terminated by 'rn'
ignore 1 lines 
(stcd, tm, @rz, @inq, @w, @blrz, @otq, @rwchrcd, @rwptn, @inqdr, @msqmt)
set 
rz=if(@rz='',NULL,@rz),
inq=if(@inq='',NULL,@inq),
w=if(@w='',NULL,@w),
blrz=if(@blrz='',NULL,@blrz),
otq=if(@otq='',NULL,@otq),
rwchrcd=if(@rwchrcd='',NULL,@rwchrcd),
rwptn=if(@rwptn='',NULL,@rwptn),
inqdr=if(@inqdr='',NULL,@inqdr),
msqmt=if(@msqmt='',NULL,@msqmt);

-----------------------------------------------------------------------------------------------------

select * from test_info
into outfile '/tmp/test.csv'
fields terminated by ',' 
optionally enclosed by '"' escaped by '"'
lines terminated by 'rn';

load data infile '/tmp/test.csv'
into table test_info
fields terminated by ',' 
optionally enclosed by '"' escaped by '"'  
lines terminated by 'rn';



------------------------------------------------------------------------------------------------------
UPDATE st_pptn_r SET tm = STR_TO_DATE(CONCAT(DATE_FORMAT(tm,'%Y-%m-%d %H'),':00:00'),'%Y-%m-%d %H:%i:%s')

DELETE FROM st_pptn_r WHERE tm IN
(
SELECT b.tm FROM 
(
SELECT a.tm, COUNT(a.stcd) cou FROM st_pptn_r a GROUP BY a.tm
) b
WHERE b.cou<1000
);

DELETE FROM st_pptn_r WHERE tm IN
(
SELECT b.tm FROM 
(
SELECT a.tm, COUNT(a.stcd) cou FROM st_pptn_r a WHERE a.drp<0.0001 GROUP BY a.tm
) b
WHERE b.cou>2800 
);

# DELETE FROM st_pptn_r WHERE tm < '2014-07-01 08:00:00' OR tm > '2014-08-01 08:00:00'

DELETE FROM st_pptn_r WHERE tm<'2014-07-16 08:00:00' OR tm>'2014-07-26 08:00:00'

------------------------------------------------------------------------------------------------------

SELECT COUNT(*) cou, 'pptn' FROM st_pptn_r
UNION 
SELECT COUNT(*) cou, 'river' FROM st_river_r
UNION 
SELECT COUNT(*) cou, 'rsvr' FROM st_rsvr_r


SELECT tm, stcd, MAX(drp) drp FROM st_pptn_r WHERE drp>10 GROUP BY tm, stcd ORDER BY drp DESC

SELECT SUM(cou) cou,  LEFT(tm, 11) tmm FROM
(
SELECT tm, COUNT(stcd) cou FROM st_pptn_r WHERE drp>10 GROUP BY tm
) b
 GROUP BY tmm
 ORDER BY cou DESC

--xml, -X

mysqldump  -uroot -p --all-databases --debug-check

mysqldump  -uroot -p --all-databases --default-character-set=latin1

TCP/IP和socket连接的缓存大小。

每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

mysqldump  -uroot -p --host=localhost test test --tab=”/tmp/mysql”  --lines-terminated-by=”##”

在每个表导出之前增加LOCK TABLES并且之后UNLOCK  TABLE。(默认为打开状态,使用--skip-add-locks取消选项)

导出触发器。该选项默认启用,用--skip-triggers禁用它。

mysqldump  -uroot -p --host=localhost --all-databases --tz-utc

--all-databases  , -A

--tables

允许创建是关键词的列名字。这由表名前缀于每个列名做到。

--no-set-names,  -N

mysqldump  -uroot -p --all-databases --add-drop-database

mysqldump  -uroot -p --host=localhost --all-databases --result-file=/tmp/mysqldump_result_file.txt

在导出mysql数据库之后,发出一条FLUSH  PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。

mysqldump  -uroot -p --host=localhost --all-databases --order-by-primary

附加警告和错误信息到给定文件

--set-charset

连接数据库密码

导出几个数据库。参数后面所有名字参量都被看作数据库名。

输出多种平台信息。

在CREATE TABLE语句中包括所有MySQL特性选项。(默认为打开状态)

导出文件中忽略给定字段。与--tab选项一起使用,不能用于--databases和--all-databases选项

mysqldump  -uroot -p --databases test mysql

请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。

master备份后删除日志. 这个参数将自动激活--master-data。

输出文件中的各个字段用给定字符选择性包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项

使用REPLACE INTO 取代INSERT INTO.

mysqldump  -uroot -p --all-databases --no-tablespaces

--skip-opt

mysqldump  -uroot -p --all-databases

使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。

在--dump-slave产生的'CHANGE  MASTER TO..'语句中增加'MASTER_HOST=<host>,MASTER_PORT=<port>' 

mysqldump  -uroot -p --host=localhost --all-databases

禁用–opt选项.

--protocol

导出XML格式.

参数说明

--opt

mysqldump  -uroot -p --all-databases --compact

--max_allowed_packet

mysqldump  -uroot -p --all-databases --dump-slave=2

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:导入CSV格式的数据,mysqldump工具介绍

关键词: