annotate docs/scripts/txt/DBSQLToTextFiles.txt @ 3:90ea638ce878 draft default tip

Uploaded
author deepakjadmin
date Wed, 20 Jan 2016 09:11:59 -0500
parents 2abf0d43254d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
1 NAME
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
2 DBSQLToTextFiles.pl - Export data from MySQL, Oracle or PostgreSQL
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
3 database into CSV/TSV text files
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
4
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
5 SYNOPSIS
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
6 DBSQLToTextFiles.pl SQLFileName(s) | SQLSelectStatement(s)...
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
7
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
8 DBSQLToTextFiles.pl [-d, --dbdriver mysql | Oracle | Postgres or Pg]
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
9 [--dbhost hostname] [--dbname databasename] [--dbpassword password]
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
10 [--dbusername username] [--exportdatalabels yes | no] [--exportlobs yes
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
11 | no] [-h, --help] [-m, --mode SQLStatement | SQLFile] [-o, --overwrite]
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
12 [--outdelim comma | tab | semicolon] [-q, --quote yes | no] [-r, --root
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
13 rootname] [--replacenullstr string] [-w --workingdir dirname]
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
14 SQLFileName(s) | SQLSelectStatement(s)...
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
15
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
16 DESCRIPTION
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
17 Export data from MySQL, Oracle or PostgreSQL database into CSV/TSV text
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
18 files. Based on -m --mode option value, two methods of data selection
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
19 are availble: in line SQL select statement(s), or SQL file name(s)
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
20 containing SQL select statement(s). All command line parameters must
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
21 correspond to similar mode; mixing of parameters for different modes is
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
22 not supported.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
23
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
24 OPTIONS
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
25 -d, --dbdriver *mysql | Oracle | Postgres or Pg*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
26 Database driver name. Possible values: *mysql, Oracle, Postgres or
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
27 Pg*. Default: *MySQL* or value of environment variable DBI_DRIVER.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
28 This script has only been tested with MySQL, Oracle and PostgreSQL
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
29 drivers.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
30
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
31 --dbhost *hostname*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
32 Database host name. Default: *127.0.0.1* for both MySQL, Oracle and
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
33 PostgreSQL. For remote databases, specify complete remote host
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
34 domain: *dbhostname.org* or something like it.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
35
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
36 --dbname *databasename*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
37 Database name. Default: mysql for MySQL, postgres for PostgreSQL and
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
38 none for Oracle. For connecting to local/remote Oracle databases,
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
39 this value can be left undefined assuming --dbhost is correctly
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
40 specified.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
41
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
42 --dbpassword *password*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
43 Database user password. Default: *none* and value of environment
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
44 variable DBI_PASS is used for connecting to database.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
45
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
46 --dbusername *username*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
47 Database user name. Default: *none* and value of environment
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
48 variable DBI_USER is used for connecting to database.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
49
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
50 --exportdatalabels *yes | no*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
51 This option is mode specific and controls exporting of column data
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
52 labels during exportdata mode. Possible values: *yes or no*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
53 Default: *yes*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
54
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
55 --exportlobs *yes | no*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
56 This option is mode specific and controls exporting of CLOB/BLOB
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
57 data columns during exportdata mode. Possible values: *yes or no*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
58 Default: *no*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
59
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
60 -h, --help
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
61 Print this help message.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
62
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
63 -m, --mode *SQLStatement | SQLFile*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
64 Data selection criterion from database. Two different command line
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
65 parameter methods are available: in line SQL statement(s)
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
66 specification or file name(s) containing SQL select statement(s).
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
67 This value determines how command line parameters are processed.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
68
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
69 Possible values: *SQLStatement or SQLFile*. Default value:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
70 *SQLStatement*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
71
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
72 In SQLFile mode, SQL file contains select statements delimited by
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
73 *;*. And the lines starting with *#* or *-* are ignored.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
74
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
75 -o, --overwrite
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
76 Overwrite existing files.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
77
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
78 --outdelim *comma | tab | semicolon*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
79 Output text file delimiter. Possible values: *comma, tab, or
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
80 semicolon* Default value: *comma*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
81
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
82 -q, --quote *yes | no*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
83 Put quotes around column values in output text file. Possible
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
84 values: *yes or no*. Default value: *yes*.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
85
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
86 -r, --root *rootname*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
87 New file name is generated using the root:<Root><No>.<Ext>. Default
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
88 new file file names: SQLStatement<No>.<Ext>, or
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
89 <SQLFileName><StatementNo>.<Ext>. The csv and tsv <Ext> values are
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
90 used for comma/semicolon, and tab delimited text files
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
91 respectively.This option is ignored for multiple input parameters.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
92
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
93 --replacenullstr *string*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
94 Replace NULL or undefined row values with specified value. Default:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
95 *none*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
96
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
97 For importing output text files into MySQL database using "load data
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
98 local infile '<tablename>.tsv' into table <tablename>" command, use
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
99 *--raplacenullstr "NULL"* in conjunction with *--exportdatalabels
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
100 no*, *--quote no*, and *--outdelim tab* options: it'll generate
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
101 files for direct import into MySQL assuming tables already exists.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
102
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
103 -w --workingdir *dirname*
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
104 Location of working directory. Default: current directory.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
105
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
106 EXAMPLES
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
107 To export all data in user_info table from a MySQL server running on a
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
108 local machine using username/password from DBI_USER and DBI_PASS
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
109 environmental variables, type:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
110
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
111 % DBSQLToTextFiles.pl -o "select * from user_info"
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
112
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
113 To describe user table in a MySQL server running on a remote machine
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
114 using explicit username/password and capturing the output into a
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
115 UserTable.csv file, type:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
116
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
117 % DBSQLToTextFiles.pl --dbdriver mysql --dbuser <name> --dbpassword
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
118 <pasword> --dbname mysql --dbhost <mysqlhostname.org> -r UserTable
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
119 -m SQLStatement -o "select * from user_info"
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
120
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
121 To describe table all_tables in Oracle running on a remote machine using
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
122 explicit username/password and capturing the output into a AllTable.tsv
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
123 file, type:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
124
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
125 % DBSQLToTextFiles.pl --dbdriver Oracle --dbuser <name> --dbpassword
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
126 <pasword> --dbhost <oraclehostname.com> -r AllTable -m SQLStatement
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
127 --outdelim tab --quote no -o "select * from all_tables"
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
128
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
129 To run all SQL statement in a file sample.sql on a local Oracle host and
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
130 capturing output in a SampleSQL.csv file, type:
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
131
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
132 % DBSQLToTextFiles.pl --dbdriver Oracle --dbuser <name> --dbpassword
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
133 <pasword> -r SampleSQL -m SQLFile -o sample.sql
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
134
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
135 AUTHOR
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
136 Manish Sud <msud@san.rr.com>
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
137
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
138 SEE ALSO
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
139 DBSchemaTablesToTextFiles.pl, DBTablesToTextFiles.pl
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
140
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
141 COPYRIGHT
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
142 Copyright (C) 2015 Manish Sud. All rights reserved.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
143
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
144 This file is part of MayaChemTools.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
145
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
146 MayaChemTools is free software; you can redistribute it and/or modify it
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
147 under the terms of the GNU Lesser General Public License as published by
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
148 the Free Software Foundation; either version 3 of the License, or (at
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
149 your option) any later version.
2abf0d43254d Uploaded
deepakjadmin
parents:
diff changeset
150