电脑技术网——专业手机电脑知识平台,关注科技、手机、电脑、智能硬件
MySQLMSSQLAccessOracle

内嵌CSV格式的数据

2021-01-22 11:00:44 出处:[ 菜菜电脑网 ] 人气:次阅读
引入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') datetimefrom 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,datetime60948000,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,MSVMT61906190,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,MSQMT61615000,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 '\r\n'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 '\r\n'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 '\r\n'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_infointo outfile '/tmp/test.csv'fields terminated by ',' optionally enclosed by '"' escaped by '"'lines terminated by '\r\n';load data infile '/tmp/test.csv'into table test_infofields terminated by ',' optionally enclosed by '"' escaped by '"'  lines terminated by '\r\n';------------------------------------------------------------------------------------------------------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) bWHERE 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) bWHERE 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_rUNION SELECT COUNT(*) cou, 'river' FROM st_river_rUNION SELECT COUNT(*) cou, 'rsvr' FROM st_rsvr_rSELECT tm, stcd, MAX(drp) drp FROM st_pptn_r WHERE drp>10 GROUP BY tm, stcd ORDER BY drp DESCSELECT 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

 

 

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

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

1.数据的导向选取
mysqldump -u root -p --no-create-db --default-character-set=utf8 -e --max_allowed_packet=102400 --net_buffer_length=16384 smfs > f:\da\smfs\smfs12.sql 

 

Mysqldump参数中有


参数指明

--all-databases  , -A

给定全部数据库。

mysqldump  -uroot -p --all-databases

--all-tablespaces  , -Y

嵌入全部所列空间。

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

--no-tablespaces  , -y

不假设任何列于空间信息。

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

--add-drop-database

每个数据库建立之前附加drop数据库语句。

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

--add-drop-table

每个数据表始创之前掺入drop数据表语句。(意味着为锁上状态,用于--skip-add-drop-table延后选项)

mysqldump  -uroot -p --all-databases  (预设加到drop语句)

mysqldump  -uroot -p --all-databases –skip-add-drop-table  (终止drop语句)

--add-locks

在每个同上选取之前提高LOCK TABLES并且之后UNLOCK  TABLE。(意味着为锁住状态,应用于--skip-add-locks撤除选项)

mysqldump  -uroot -p --all-databases  (配置文件去掉LOCK语句)

mysqldump  -uroot -p --all-databases –skip-add-locks   (中止LOCK语句)

--allow-keywords

并不需要建立是关键词的列名字。这由表名单词于每个入选为实在。

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

--apply-slave-statements

在'CHANGE MASTER'前替换成'STOP SLAVE',并且在解析的最后加进'START SLAVE'。

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

--character-sets-dir

字符集文件的目录

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

--comments

相应编者信息。普通用户为锁住,可以用--skip-comments终止

mysqldump  -uroot -p --all-databases  (选项记录译文)

mysqldump  -uroot -p --all-databases --skip-comments   (更改评注)

--compatible

选取的数据将和其它数据库或旧版本的MySQL 互为并行。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,

要用作几个值,用逗号将它们隔着。它并不必需能只不过相容,而是尽量兼容性。

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

--compact

推更少的反向信息(应用于调试)。去除释义和头尾等结构。可以用到选项:--skip-add-drop-table  --skip-add-locks --skip-comments --skip-disable-keys

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

--complete-insert,  -c

应用于原始的insert语句(相关联罗列名称)。这么做能进一步提高弹出效率,但是可能会受到max_allowed_packet参数的影响而随之而来接在受挫。

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

--compress, -C

在客户端和服务器之间开业存储引导所有信息

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

--create-options,  -a

在CREATE TABLE语句中还包括所有MySQL特性选项。(可选为推入状态)

mysqldump  -uroot -p --all-databases

--databases,  -B

等价几个数据库。参数后面所有名字参量都被毫无疑问数据库名。

mysqldump  -uroot -p --databases test mysql

--debug

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

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

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

--debug-check

检查内存和关上文件可用暗示并解散。

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

--debug-info

反向调试信息并解散

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

--default-character-set

设置普通用户字符集,默认值为utf8

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

--delayed-insert

使用延时插入方式(INSERT DELAYED)等价数据

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

--delete-master-logs

master备份后撤下日志. 这个参数将自动介导--master-data。

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

--disable-keys

对于每个同上,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引述INSERT语句。这样可以更快地转换成dump出来的文件,因为它是在弹出所有行后创建者索引的。该选项只简单MyISAM表格,绑定为锁住状态。

mysqldump  -uroot -p --all-databases

--dump-slave

该选项将避免主的binlog右边和文件名特别版到给定数据的文件中。设置为1时,将可能会以CHANGE MASTER命令可用到数据文件;设置为2时,在命令前增高说明了信息。该选项将才会敞开--lock-all-tables,除非--single-transaction被原则上。该选项不会自动停用--lock-tables选项。默认值为0。

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

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

--events, -E

推事件。

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

--extended-insert,  -e

采用具备多个VALUES至多的INSERT语法。这样使嵌入文件更小,并加快新增时的速度。预设为关上状态,常用--skip-extended-insert叫停选项。

mysqldump  -uroot -p --all-databases

mysqldump  -uroot -p --all-databases--skip-extended-insert   (延后选项)

--fields-terminated-by

解析文件中忽略假定字段。与--tab选项一起运用于,必须用作--databases和--all-databases选项

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

--fields-enclosed-by

控制器文件中的各个字段用等价字符中空。与--tab选项一起应用于,只能使用--databases和--all-databases选项

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

--fields-optionally-enclosed-by

转换器文件中的各个字段用formula_字符选择性袋中。与--tab选项一起适用,很难应用于--databases和--all-databases选项

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

--fields-escaped-by

编码器文件中的各个字段忽略formula_字符。与--tab选项一起可用,没法常用--databases和--all-databases选项

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

--flush-logs

开始假定之前新纪录日志。

请注意:假如一次推多个数据库(用到选项--databases或者--all-databases),将就会逐个数据库打破日志。除运用于--lock-all-tables或者--master-data外。在这种情况下,日志将但会被纪录一次,附加的所以请注意同时被追踪。因此,如果想要同时假定和新纪录日志不应用于--lock-all-tables 或者--master-data 和--flush-logs。

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

--flush-privileges

在选取mysql数据库之后,收到一条FLUSH  PRIVILEGES 语句。为了应该直至,该选项一定会应用于解析mysql数据库和倚赖mysql数据库数据的任何时候。

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

--force

在解析过程中忽略用到的SQL错误。

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

--help

标示出为了让信息并重返。

mysqldump  --help

--hex-blob

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

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

--host, -h

只能推的主机信息

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

--ignore-table

不解析登录表格。原则上忽略多个表时,无需重复多次,每次一个同上。每个注记必须同时原则上数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2 ……

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

--include-master-host-port

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

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

--insert-ignore

在放入行时应用于INSERT IGNORE语句.

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

--lines-terminated-by

转换成文件的每行用任意字符串细分。与--tab选项一起可用,只能用作--databases和--all-databases选项。

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

--lock-all-tables,  -x

草拟乞求当有所有数据库中的所有同上,以保证数据的一致性。这是一个全局读锁,并且自动封闭--single-transaction 和--lock-tables 选项。

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

--lock-tables,  -l

开始基本概念前,对准所有注记。用READ  LOCAL预设表以强制MyISAM备注Pardosa放入。对于默许事务的备注例如InnoDB和BDB,--single-transaction是一个更好的选项,因为它显然不只能意味著同上。

请注意当等价多个数据库时,--lock-tables分别为每个数据库意味著表格。因此,该选项很难必要假设文件中的表在数据库之间的逻辑一致性。各不相同数据库表的假设状态可以仅仅完全相同。

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

--log-error

比如说警告和错误信息到formula_文件

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

--master-data

该选项将binlog的一段距离和文件名特别版到输入文件中。如果为1,将不会负载CHANGE MASTER 命令;如果为2,反向的CHANGE  MASTER命令前去除译文信息。该选项将开启--lock-all-tables 选项,除非--single-transaction也被选定(在这种情况下,全局读锁在开始假设时给予很短的时间;其他内容参考资料下面的--single-transaction选项)。该选项自动重新启动--lock-tables选项。

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

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

--max_allowed_packet

服务器发送和给予的最小包在长度。

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

--net_buffer_length

TCP/IP和socket连结的磁盘大小。

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

--no-autocommit

用于autocommit/commit 语句袋子同上。

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

--no-create-db,  -n

只嵌入数据,而不去除CREATE DATABASE 语句。

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

--no-create-info,  -t

只给定数据,而不附加CREATE TABLE 语句。

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

--no-data, -d

不嵌入任何数据,只选取数据库注记结构。

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

--no-set-names,  -N

等同于--skip-set-charset

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

--opt

等同于--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 --opt

--order-by-primary

如果不存在主键,或者第一个唯一键,对每个表的记录开展排序。在假设MyISAM表到InnoDB表时适当,但才会使得推工作花费很长时间。

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

--password, -p

直达数据库密码

--pipe(windows系统需用)

可用命名管道连结mysql

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

--port, -P

相连数据库端口号

--protocol

运用于的连结协议,有数:tcp, socket, pipe, memory.

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

--quick, -q

不间隙查阅,单独解析到标准驱动。普通用户为挡住状态,采用--skip-quick延后该选项。

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

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

--quote-names,-Q

应用于(`)引致表和应属。普通用户为推入状态,常用--skip-quote-names终止该选项。

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

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

--replace

用到REPLACE INTO 转用INSERT INTO.

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

--result-file,  -r

单独负载到自行决定文件中。该选项一定会用在用到没过多久字符对(\\r\\n)表头的系统上(例如:DOS,Windows)。该选项必需只有一行被应用于。

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

--routines, -R

基本概念存储过程以及自定义函数。

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

--set-charset

附加'SET NAMES  default_character_set'到转换器文件。匹配为锁上状态,用到--skip-set-charset关停选项。

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

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

--single-transaction

该选项在嵌入数据之前呈交一个BEGIN SQL语句,BEGIN 就会情况严重任何应用程序且能应有解析时数据库的一致性状态。它只一般来说于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是实例的,因为LOCK  TABLES 都会使任何收起的事务便是审批。要自已假定大表的话,理应混合用作--quick 选项。

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

--dump-date

将假设时间移除到编码器文件中。普通用户为推开状态,应用于--skip-dump-date停止选项。

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

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

--skip-opt

制剂–opt选项.

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

--socket,-S

而无须通到mysql的socket文件前方,匹配路径/tmp/mysql.sock

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

--tab,-T

为每个表在集合路径创始人tab重叠的文本文件。同样:仅仅应用于mysqldump和mysqld服务器试运行在相同机器上。

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

--tables

其余部分--databases (-B)参数,自行决定必需给定的表名。

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

--triggers

等价触发器。该选项匹配动工,用--skip-triggers停止使用它。

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

--tz-utc

在假定顶部设置时区TIME_ZONE='+00:00' ,以前提在不同时区给定的TIMESTAMP 数据或者数据被移动其他时区时的正确性。

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

--user, -u

所选相互连接的用户名。

--verbose, --v

可用多种平台信息。

--version, -V

转换器mysqldump版本信息并终止

--where, -w

只转储个数的WHERE条件可选择的记录。请注意如果条件还包括命令解读同上专用空格或字符,一定要将条件提到慢慢地。

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

--xml, -X

基本概念XML格式.

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

--plugin_dir

客户端插件的目录,用以兼容性多种不同的插件版本。

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

--default_auth

客户端插件预设运用于权限。

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

关于我们 - 广告合作 - 联系我们 - 免责声明 - 网站地图 - 投诉建议 - 在线投稿

©CopyRight 2008-2020 caicaipc.com Inc All Rights Reserved.
菜菜电脑网 版权所有