MySQL Tutorial/MySQL Utilities/Import Export Data
Версия от 13:44, 26 мая 2010; (обсуждение)
Содержание
Exporting Data
The command to export data to a text file is similar to the standard SELECT command.
MySQL creates a "tab delimited" file by default.
SELECT <columns>
FROM <table_name>
INTO OUTFILE <file_name>
Importing data
Importing data is a very simliar process to exporting.
The syntax for importing a file is:
LOAD DATA INFILE "file_name.txt"
INTO TABLE tbl_name (field1, field2...etc)
LOAD DATA INFILE into a table
mysql>
mysql>
mysql> CREATE TABLE Topic(
-> TopicID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name VARCHAR(50) NOT NULL,
-> InStock SMALLINT UNSIGNED NOT NULL,
-> OnOrder SMALLINT UNSIGNED NOT NULL,
-> Reserved SMALLINT UNSIGNED NOT NULL,
-> Department ENUM("Classical", "Popular") NOT NULL,
-> Category VARCHAR(20) NOT NULL,
-> RowUpdate TIMESTAMP NOT NULL
-> );
Query OK, 0 rows affected (0.05 sec)
mysql>
mysql>
mysql> INSERT INTO Topic (Name, InStock, OnOrder, Reserved, Department, Category) VALUES
-> ("Java", 10, 5, 3, "Popular", "Rock"),
-> ("JavaScript", 10, 5, 3, "Classical", "Opera"),
-> ("C Sharp", 17, 4, 1, "Popular", "Jazz"),
-> ("C", 9, 4, 2, "Classical", "Dance"),
-> ("C++", 24, 2, 5, "Classical", "General"),
-> ("Perl", 16, 6, 8, "Classical", "Vocal"),
-> ("Python", 2, 25, 6, "Popular", "Blues"),
-> ("Php", 32, 3, 10, "Popular", "Jazz"),
-> ("ASP.net", 12, 15, 13, "Popular", "Country"),
-> ("VB.net", 5, 20, 10, "Popular", "New Age"),
-> ("VC.net", 24, 11, 14, "Popular", "New Age"),
-> ("UML", 42, 17, 17, "Classical", "General"),
-> ("www.sqle.ru",25, 44, 28, "Classical", "Dance"),
-> ("Oracle", 32, 15, 12, "Classical", "General"),
-> ("Pl/SQL", 20, 10, 5, "Classical", "Opera"),
-> ("Sql Server", 23, 12, 8, "Classical", "General");
Query OK, 16 rows affected (0.00 sec)
Records: 16 Duplicates: 0 Warnings: 0
mysql>
mysql> select * from Topic;
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
| TopicID | Name | InStock | OnOrder | Reserved | Department | Category | RowUpdate |
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
| 1 | Java | 10 | 5 | 3 | Popular | Rock | 2007-07-23 19:09:52 |
| 2 | JavaScript | 10 | 5 | 3 | Classical | Opera | 2007-07-23 19:09:52 |
| 3 | C Sharp | 17 | 4 | 1 | Popular | Jazz | 2007-07-23 19:09:52 |
| 4 | C | 9 | 4 | 2 | Classical | Dance | 2007-07-23 19:09:52 |
| 5 | C++ | 24 | 2 | 5 | Classical | General | 2007-07-23 19:09:52 |
| 6 | Perl | 16 | 6 | 8 | Classical | Vocal | 2007-07-23 19:09:52 |
| 7 | Python | 2 | 25 | 6 | Popular | Blues | 2007-07-23 19:09:52 |
| 8 | Php | 32 | 3 | 10 | Popular | Jazz | 2007-07-23 19:09:52 |
| 9 | ASP.net | 12 | 15 | 13 | Popular | Country | 2007-07-23 19:09:52 |
| 10 | VB.net | 5 | 20 | 10 | Popular | New Age | 2007-07-23 19:09:52 |
| 11 | VC.net | 24 | 11 | 14 | Popular | New Age | 2007-07-23 19:09:52 |
| 12 | UML | 42 | 17 | 17 | Classical | General | 2007-07-23 19:09:52 |
| 13 | www.sqle.ru | 25 | 44 | 28 | Classical | Dance | 2007-07-23 19:09:52 |
| 14 | Oracle | 32 | 15 | 12 | Classical | General | 2007-07-23 19:09:52 |
| 15 | Pl/SQL | 20 | 10 | 5 | Classical | Opera | 2007-07-23 19:09:52 |
| 16 | Sql Server | 23 | 12 | 8 | Classical | General | 2007-07-23 19:09:52 |
+---------+----------------+---------+---------+----------+------------+----------+---------------------+
16 rows in set (0.00 sec)
mysql>
mysql> CREATE TABLE Topic3
-> (
-> Name VARCHAR(50) NOT NULL,
-> InStock SMALLINT UNSIGNED NOT NULL,
-> Category VARCHAR(20)
-> );
mysql>
mysql>
mysql> SELECT Name, InStock, Category INTO OUTFILE "TopicCountry.sql"
-> FIELDS
-> TERMINATED BY ","
-> ENCLOSED BY """
-> FROM Topic WHERE Category="Country";
mysql>
mysql>
mysql> LOAD DATA INFILE "TopicCountry.sql"
-> INTO TABLE Topic3
-> FIELDS
-> TERMINATED BY ","
-> ENCLOSED BY """;
Query OK, 1 row affected (0.00 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
mysql>
mysql> drop table Topic;
Query OK, 0 rows affected (0.00 sec)
Load data to your table
Create a text file myTable.txt containing one record per line.
The values are separated by tabs.
The order should be consistant with the columns listed in the CREATE TABLE statement.
For NULL values, use \N (backslash, capital-N).
For example:
1 firstName lastName M \N 1997-12-09
Turn Exporting and Importing Data on
You should be able to turn this feature on by issuing the command:
local-infile=1