Vous êtes sur la page 1sur 10

Hệ quản trị Cở sở dữ liệu

Xuất dữ liệu và Nhập dữ liệu


(Exporting, Importing Data)

Lê Hồng Hải, hailh@vnu.edu.vn


Bộ môn CHTTT, ĐH Công nghệ
Xuất dữ liệu ra file
SELECT f.film_id, f.title, f.rating, f.rental_rate, c.name INTO
OUTFILE 'filmlist.txt'
FROM film f, film_category fc, category c
WHERE f.film_id = fc.film_id AND fc.category_id =
c.category_id;
Xuất dữ liệu ra file
SELECT f.film_id, f.title, f.rating, f.rental_rate, c.name INTO
OUTFILE 'filmlist_fields.txt'
FIELDS
TERMINATED BY ','
ESCAPED BY '*'
ENCLOSED BY '"'
FROM film f, film_category fc, category c
WHERE f.film_id = fc.film_id AND fc.category_id =
c.category_id;
Xuất dữ liệu ra file
SELECT f.film_id, f.title, f.rating, f.rental_rate, c.name INTO
OUTFILE 'filmlist_field_lines.txt'
FIELDS
TERMINATED BY '</TD><TD>'
LINES STARTING BY '<TR><TD>'
TERMINATED BY '</TD></TR>\n'
FROM film f, film_category fc, category c
WHERE f.film_id = fc.film_id AND fc.category_id =
c.category_id;
Xuất dữ liệu ra file
 File được lưu vào thư mực chứa CSDL đang làm
việc. Để lưu file ra vị trí khác, cần xác định đường
dẫn cho file
 Câu lệnh SELECT sẽ không ghi đè và sẽ thất bại nếu
tồn tại file cùng tên
 Ngầm định, khi ghi một giá trị là NULL, \N sẽ được
trả lại
Tạo một bảng sử dụng tập kết quả
DROP TABLE film2;
CREATE TABLE film2 (
film_id SMALLINT UNSIGNED NOT NULL PRIMARY KEY
REFERENCES film(film_id),
film_title VARCHAR(50),
rating ENUM('G','PG','PG-13','R','NC-17') DEFAULT 'G', rental_rate
DECIMAL(4,2) NOT NULL DEFAULT 4.99, category_name
VARCHAR(25)
)ENGINE=InnoDB DEFAULT CHARSET=utf8
SELECT f.film_id,f.title as film_title,f.rating,f.rental_rate,c.name as
category_name
FROM film f, film_category fc, category c
WHERE f.film_id = fc.film_id AND fc.category_id = c.category_id;
Sao chép dữ liệu vào một bảng
đã tồn tại
INSERT INTO film2
SELECT f.film_id,f.title as
film_title,f.rating,f.rental_rate,c.name as category_name
FROM film f, film_category fc, category c
WHERE f.film_id = fc.film_id AND fc.category_id =
c.category_id;
Lệnh LOAD DATA
 Lệnh LOAD DATA cho phép nhập các giá trị trực tiếp
từ file tạo bởi lệnh SELECT trước đó
 Ví dụ:
 LOAD DATA INFILE 'filmlist.txt' INTO TABLE film2;
 LOAD DATA INFILE 'filmlist_fields.txt' INTO TABLE film2
FIELDS TERMINATED BY ',' ESCAPED BY '*' ENCLOSED
BY '"' ;
Sử dụng tiện ích mysqlimport để nhập
dữ liệu
 Tiện ích mysqlimport cho phép nhập dữ liệu từ file
tương tự lệnh LOAD DATA
 Ví dụ:
 mysqlimport --user=root --password=<password>

sakila "film2.txt"
 mysqlimport --user=root --password=<password> --

fields-terminated-by="," --fields-escaped-by="*" --
fields-enclosed-by="\"" sakila "..\Exercises\
filmlist_fields.txt"
Tài liệu tham khảo
 http://www.mysql.com
 http://dev.mysql.com/doc/refman/5.7/en/

Vous aimerez peut-être aussi