Le 16/01/2014 14:45, Carl Paulsen a écrit :
Let's start at the source...
You have access to a file containing DDL (data definition language) and
DML (data manipulation language). This file has the extension .sql.
Essentially, this file is a kind of dump from the mysql/mariadb
database. The dump includes instructions about the database name or
schema, the tables in the database, and the field types, as well as the
corresponding statements that would allow you to insert that data into a
corresponding mysql database server hosted elsewhere.
First things first :
- can you gain query access to the mysql/mariadb server from which the
sql file originates ? If you can, then you should be able to export your
data directly in CSV format, by querying the database and using the
SELECT...INTO OUTFILE command, or an equivalent GUI function from an
appropriate program (e.g. phpmyadmin, MySQL Query Browser, MySQL
Navigator, Navicat, etc, etc)
- if you do not have query access to the source of the data, then you
are effectively reliant on the SQL file that you have been given. This
means that you have several other ways of dealing with the data
contained therein :
(a) as it is a text file, you could use a script of your own making or
if lucky, trawl for one on the net, to extract the data and output that
to a CSV, Excel or other text-based file type of your choice - various
languages are capable of this, Ruby, Python, Perl, PHP, etc, or you
could probably even use bash/sed/awk ;
(b) host the data on a locally accessible mysql server - to do that you
would need to install mysql server and client programs. If console
commands are not your thing, then you could use LO Base to connect, via
one of the connector methods (extension, jdbc or odbc), to the mysql
The advantage of (b) is that you can do most of the work via the LO Base
UI, once the connection to the mysql database has been set up and the
Another advantage of solution (b) is that you can tailor your output via
the GUI tools of LO Base, so that it meets the requirements of your
The advantage of (a) is that it operates directly on the content of your
SQL file without having to go through the rigmarole of setting up a
mysql server, but at the expense of having to learn how to manipulate
text data. Note that solution (a) works well for data that is just text
or numbers, but not so well for binary encoded data (although I imagine
that solutions to handle this are also available). This means that you
need to know what kind of data you are going to have to manage in that
SQL file before you start trying to extract it.
Salesforce. I thought I might be able to open or link to the data file
I have through Base and export it. That's because I haven't really
No, that is not directly possible, at least not in the format in which
you have been given the data.
Honestly, though, I don't understand what MySQL does. Does it "open"
the data file, interpret the commands in it, and then allow the user to
manipulate and/or display the data correctly (with the correct
relational links)? And is that the only - or best - way to access the
MySQl contains both a server and client programs. To simplify, the
server hosts the data and serves it up against requests from the client
program. Interfaces have been developed by third parties to enable the
client program functions to be mapped to UIs, whether it be LO Base,
MySQL Browser, MySQL Workbench, or any other number of GUI tools.
The SQL file you have can be imported directly into a mysql server with
the command I indicated. The server will interpret the statements in the
SQL file and create a "clone" of the database schema, the tables, field
definitions, and the insert the data into that database. You can then
access the imported data and manipulate it as you would with a mysql
hosted database that you had created yourself ab initio.
Can I just use MySQL to generate CSV files (or some
other format that Calc can open) for each of the tables in the file? At
Yes, mysql has a SELECT...INTO OUTFILE query command that lets you do
this (at least for CSV/TSV format) - it also allows you to specify
certain, limited export options. This is done directly from the mysql
command line console.
However, there are GUI tools that make life much easier for you in this
MySQL Workbench - possible outputs are : CSV, HTML, XML
MySQL Browser (deprecated, but still functional) - CSV, HTML, XML, Excel
PHPMyAdmin - exports directly to CSV, other text formats, even Calc !!
Importing data into mysql from a sql file :