annotate docs/scripts/txt/DBSQLToTextFiles.txt @ 0:4816e4a8ae95 draft default tip

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