Mysql tải dữ liệu infile null ngày

Câu lệnh

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 đọc các hàng từ tệp văn bản vào bảng với tốc độ rất cao. Tên tệp phải được cung cấp dưới dạng chuỗi ký tự

Cú pháp của mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7 cũng áp dụng cho câu lệnh
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8, như được mô tả sau trong phần này. (Xem thêm Phần 13. 2. 7, “
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
9 Cú pháp”. )

Để biết thêm thông tin về hiệu quả của

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0 so với
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 và tăng tốc độ của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4, hãy xem Phần 7. 2. 16, “Tốc độ của câu lệnh
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0”

Bộ ký tự được chỉ định bởi biến hệ thống

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
4 được sử dụng để diễn giải thông tin trong tệp.
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
5 và cài đặt của
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
6 không ảnh hưởng đến việc diễn giải đầu vào

Lưu ý rằng hiện tại không thể tải các tệp dữ liệu sử dụng bộ ký tự

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
7

Kể từ MySQL 5. 1. 6, biến hệ thống

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
8 kiểm soát việc diễn giải tên tệp

Bạn cũng có thể tải các tệp dữ liệu bằng cách sử dụng tiện ích mysqlimport; . Tùy chọn

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
50 khiến mysqlimport đọc tệp dữ liệu từ máy khách. Bạn có thể chỉ định tùy chọn
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
51 để có hiệu suất tốt hơn trên các mạng chậm nếu máy khách và máy chủ hỗ trợ giao thức nén. Xem Phần 8. 12, “mysqlimport — Một chương trình nhập dữ liệu”

Nếu bạn sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
52, việc thực thi câu lệnh
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 bị trì hoãn cho đến khi không có khách hàng nào khác đọc từ bảng

Nếu bạn chỉ định

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
54 với một bảng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
55 thỏa mãn điều kiện cho các lần chèn đồng thời (nghĩa là nó không chứa các khối trống ở giữa), các luồng khác có thể truy xuất dữ liệu từ bảng trong khi
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 đang thực thi. Sử dụng tùy chọn này ảnh hưởng đến hiệu suất của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 một chút, ngay cả khi không có luồng nào khác đang sử dụng bảng cùng một lúc

Từ khóa

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58, nếu được chỉ định, được diễn giải đối với phần cuối của kết nối máy khách

  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    58 được chỉ định, tệp sẽ được đọc bởi chương trình máy khách trên máy khách và gửi đến máy chủ. Tệp có thể được cung cấp dưới dạng tên đường dẫn đầy đủ để chỉ định vị trí chính xác của nó. Nếu được cung cấp dưới dạng tên đường dẫn tương đối, tên này được diễn giải tương ứng với thư mục mà chương trình máy khách được bắt đầu

  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    58 không được chỉ định, tệp phải được đặt trên máy chủ lưu trữ và được máy chủ đọc trực tiếp. Máy chủ sử dụng các quy tắc sau để định vị tệp

    • Nếu tên tệp là một tên đường dẫn tuyệt đối, máy chủ sẽ sử dụng nó như đã cho

    • Nếu tên tệp là tên đường dẫn tương đối với một hoặc nhiều thành phần hàng đầu, thì máy chủ sẽ tìm kiếm tệp liên quan đến thư mục dữ liệu của máy chủ

    • Nếu tên tệp không có thành phần đầu được cung cấp, máy chủ sẽ tìm tệp trong thư mục cơ sở dữ liệu của cơ sở dữ liệu mặc định

Lưu ý rằng, trong trường hợp không phải ____158, các quy tắc này có nghĩa là tệp có tên là

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
72 được đọc từ thư mục dữ liệu của máy chủ, trong khi tệp có tên là
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
73 được đọc từ thư mục cơ sở dữ liệu của cơ sở dữ liệu mặc định. Ví dụ: nếu
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
74 là cơ sở dữ liệu mặc định, thì câu lệnh
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 sau đây sẽ đọc tệp
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
76 từ thư mục cơ sở dữ liệu cho
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
74, mặc dù câu lệnh rõ ràng tải tệp vào một bảng trong cơ sở dữ liệu
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
78

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4

Tên đường dẫn Windows được chỉ định bằng dấu gạch chéo lên thay vì dấu gạch chéo ngược. Nếu bạn sử dụng dấu gạch chéo ngược, bạn phải nhân đôi chúng

Vì lý do bảo mật, khi đọc các tệp văn bản nằm trên máy chủ, các tệp phải nằm trong thư mục cơ sở dữ liệu hoặc tất cả đều có thể đọc được. Ngoài ra, để sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 trên các tệp máy chủ, bạn phải có đặc quyền
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
60. Xem Phần 5. 7. 3, “Đặc quyền do MySQL cung cấp”

Sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 chậm hơn một chút so với việc cho phép máy chủ truy cập tệp trực tiếp, vì nội dung của tệp phải được máy khách gửi qua kết nối đến máy chủ. Mặt khác, bạn không cần đặc quyền
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
60 để tải các tệp cục bộ

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 chỉ hoạt động nếu cả máy chủ và máy khách của bạn đều đã được bật để cho phép. Ví dụ: nếu mysqld được bắt đầu với
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
64, thì
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 không hoạt động. Xem Phần 5. 6. 4, “Các vấn đề bảo mật với
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
66”

Trên Unix, nếu bạn cần

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 để đọc từ một đường ống, bạn có thể sử dụng kỹ thuật sau (ở đây chúng tôi tải danh sách của thư mục
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
68 vào một bảng)

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x

Các từ khóa

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
69 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
70 kiểm soát việc xử lý các hàng đầu vào sao chép các hàng hiện có trên các giá trị khóa duy nhất

Nếu bạn chỉ định

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
69, các hàng đã nhập sẽ thay thế các hàng hiện có. Nói cách khác, các hàng có cùng giá trị cho khóa chính hoặc chỉ mục duy nhất như một hàng hiện có. Xem Phần 13. 2. 6, “
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
69 Cú pháp”

Nếu bạn chỉ định

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
70, các hàng đầu vào trùng lặp với một hàng hiện có trên một giá trị khóa duy nhất sẽ bị bỏ qua. Nếu bạn không chỉ định một trong hai tùy chọn, hành vi sẽ phụ thuộc vào việc từ khóa
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 có được chỉ định hay không. Không có
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58, sẽ xảy ra lỗi khi tìm thấy giá trị khóa trùng lặp và phần còn lại của tệp văn bản bị bỏ qua. Với
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58, hành vi mặc định giống như khi chỉ định
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
70;

Nếu bạn muốn bỏ qua các ràng buộc khóa ngoại trong quá trình tải, bạn có thể đưa ra câu lệnh

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
78 trước khi thực hiện
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53

Nếu bạn sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 trên một bảng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
55 trống, tất cả các chỉ mục không phải là duy nhất sẽ được tạo trong một đợt riêng biệt (như đối với
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
92). Thông thường, điều này làm cho
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 nhanh hơn nhiều khi bạn có nhiều chỉ mục. Trong một số trường hợp đặc biệt, bạn có thể tạo các chỉ mục nhanh hơn nữa bằng cách tắt chúng bằng
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
94 trước khi tải tệp vào bảng và sử dụng
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
95 để tạo lại các chỉ mục sau khi tải tệp. Xem Phần 7. 2. 16, “Tốc độ của câu lệnh
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0”

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 là phần bù của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8. (Xem Phần 13. 2. 7, “
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
9 Cú pháp”. ) Để ghi dữ liệu từ bảng vào tệp, hãy sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8. Để đọc lại tệp vào bảng, hãy sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4. Cú pháp của mệnh đề
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7 giống nhau cho cả hai câu lệnh. Cả hai mệnh đề đều là tùy chọn, nhưng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6 phải đứng trước
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7 nếu cả hai đều được chỉ định

Nếu bạn chỉ định một điều khoản

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6, mỗi điều khoản phụ của nó (
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
47,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
48 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
49) cũng là tùy chọn, ngoại trừ việc bạn phải chỉ định ít nhất một trong số chúng

Nếu bạn chỉ định không có mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6, các giá trị mặc định sẽ giống như khi bạn viết điều này

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'

Nếu bạn chỉ định không có mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7, các giá trị mặc định sẽ giống như khi bạn viết điều này

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
5

Nói cách khác, các giá trị mặc định khiến

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 hoạt động như sau khi đọc đầu vào

  • Tìm kiếm ranh giới dòng tại dòng mới

  • Không bỏ qua bất kỳ tiền tố dòng nào

  • Chia dòng thành các trường tại các tab

  • Đừng mong đợi các trường được đặt trong bất kỳ ký tự trích dẫn nào

  • Diễn giải các lần xuất hiện của tab, dòng mới hoặc '

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    403' đứng trước '
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    403' dưới dạng các ký tự chữ là một phần của giá trị trường

Ngược lại, các giá trị mặc định khiến

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8 hoạt động như sau khi ghi đầu ra

  • Viết các tab giữa các trường

  • Không đính kèm các trường trong bất kỳ ký tự trích dẫn nào

  • Sử dụng '

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    403' để thoát các trường hợp tab, dòng mới hoặc '
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    403' xảy ra trong các giá trị trường

  • Viết dòng mới ở cuối dòng

Dấu gạch chéo ngược là ký tự thoát của MySQL trong các chuỗi, vì vậy để viết

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
408, bạn phải chỉ định hai dấu gạch chéo ngược để giá trị được hiểu là một dấu gạch chéo ngược

Ghi chú. Nếu bạn đã tạo tệp văn bản trên hệ thống Windows, bạn có thể phải sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
409 để đọc tệp đúng cách, vì các chương trình Windows thường sử dụng hai ký tự làm dấu kết thúc dòng. Một số chương trình, chẳng hạn như WordPad, có thể sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
410 làm dấu kết thúc dòng khi ghi tệp. Để đọc các tệp như vậy, hãy sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
411

Nếu tất cả các dòng bạn muốn đọc có một tiền tố chung mà bạn muốn bỏ qua, bạn có thể sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
412' để bỏ qua tiền tố đó và bất kỳ thứ gì trước nó. Nếu một dòng không bao gồm tiền tố, toàn bộ dòng sẽ bị bỏ qua. Giả sử rằng bạn đưa ra tuyên bố sau

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7

Nếu tệp dữ liệu trông như thế này

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6

Các hàng kết quả sẽ là

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
413 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
414. Hàng thứ ba trong tệp sẽ bị bỏ qua vì nó không chứa tiền tố

Tùy chọn LINES

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
415 có thể được sử dụng để bỏ qua các dòng ở đầu tệp. Ví dụ: bạn có thể sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
416 để bỏ qua dòng tiêu đề ban đầu chứa tên cột

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7

Khi bạn sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8 song song với
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 để ghi dữ liệu từ cơ sở dữ liệu vào tệp và sau đó đọc tệp trở lại cơ sở dữ liệu sau đó, các tùy chọn xử lý trường và dòng cho cả hai câu lệnh phải khớp. Nếu không,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 sẽ không giải thích đúng nội dung của tệp. Giả sử bạn sử dụng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8 để viết một tệp có các trường được phân tách bằng dấu phẩy

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
9

Để đọc lại tệp được phân cách bằng dấu phẩy, câu lệnh đúng sẽ là

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4

Thay vào đó, nếu bạn cố đọc trong tệp có câu lệnh được hiển thị bên dưới, nó sẽ không hoạt động vì nó hướng dẫn

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 tìm kiếm các tab giữa các trường

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
40

Kết quả có thể xảy ra là mỗi dòng đầu vào sẽ được hiểu là một trường duy nhất

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 có thể được sử dụng để đọc các tệp thu được từ các nguồn bên ngoài. Ví dụ: nhiều chương trình có thể xuất dữ liệu ở định dạng giá trị phân tách bằng dấu phẩy (CSV), sao cho các dòng có các trường được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc kép. Nếu các dòng trong một tệp như vậy bị kết thúc bởi các dòng mới, thì câu lệnh hiển thị ở đây minh họa các tùy chọn xử lý trường và dòng mà bạn sẽ sử dụng để tải tệp

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
41

Bất kỳ tùy chọn xử lý trường hoặc dòng nào cũng có thể chỉ định một chuỗi trống (

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
423). Nếu không trống, các giá trị
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
424 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
425 phải là một ký tự. Các giá trị
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
426,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
427 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
428 có thể nhiều hơn một ký tự. Ví dụ: để viết các dòng bị kết thúc bởi các cặp xuống dòng/xuống dòng hoặc để đọc tệp chứa các dòng như vậy, hãy chỉ định mệnh đề
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
409

Để đọc một tệp chứa các câu chuyện cười được phân tách bằng các dòng bao gồm

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
430, bạn có thể làm điều này

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
42

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
424 kiểm soát trích dẫn các trường. Đối với đầu ra (
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
8), nếu bạn bỏ qua từ
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
433, tất cả các trường được bao quanh bởi ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434. Một ví dụ về đầu ra như vậy (sử dụng dấu phẩy làm dấu phân cách trường) được hiển thị tại đây

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
43

Nếu bạn chỉ định

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
433, thì ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434 chỉ được sử dụng để bao quanh các giá trị từ các cột có kiểu dữ liệu chuỗi (chẳng hạn như
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
437,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
438,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
439 hoặc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
440)

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
44

Lưu ý rằng các lần xuất hiện của ký tự

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434 trong một giá trị trường được thoát bằng cách đặt trước chúng bằng ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
49. Cũng lưu ý rằng nếu bạn chỉ định một giá trị
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
49 trống, có thể vô tình tạo ra đầu ra mà
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 không thể đọc chính xác. Ví dụ: đầu ra trước vừa hiển thị sẽ xuất hiện như sau nếu ký tự thoát trống. Quan sát rằng trường thứ hai trong dòng thứ tư chứa dấu phẩy sau trích dẫn, dường như dấu phẩy này (bị nhầm) để kết thúc trường

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
45

Đối với đầu vào, ký tự

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434, nếu có, sẽ bị loại bỏ khỏi phần cuối của giá trị trường. (Điều này đúng bất kể có chỉ định
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
433 hay không;
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
433 không ảnh hưởng đến diễn giải đầu vào. ) Các lần xuất hiện của ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434 trước ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
49 được hiểu là một phần của giá trị trường hiện tại

Nếu trường bắt đầu bằng ký tự

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434, các phiên bản của ký tự đó chỉ được nhận dạng là kết thúc một giá trị trường nếu theo sau là trường hoặc dòng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
47 trình tự. Để tránh sự mơ hồ, số lần xuất hiện của ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
434 trong một giá trị trường có thể được nhân đôi và được hiểu là một phiên bản duy nhất của ký tự. Ví dụ: nếu
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
453 được chỉ định, báo giá sẽ được xử lý như được hiển thị ở đây

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
46

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
425 kiểm soát cách viết hoặc đọc các ký tự đặc biệt. Nếu ký tự
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
425 không trống, nó được sử dụng làm tiền tố cho các ký tự sau khi xuất

  • Ký tự

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    425

  • Ký tự

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    424

  • Ký tự đầu tiên của các giá trị

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    428

  • ASCII ________ 3460 (những gì thực sự được viết sau ký tự thoát là ASCII '________ 3460', không phải là byte có giá trị bằng 0)

Nếu ký tự

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
425 trống, không có ký tự nào được thoát và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463 được xuất dưới dạng
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463, không phải
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
465. Có lẽ không nên chỉ định một ký tự thoát trống, đặc biệt nếu các giá trị trường trong dữ liệu của bạn chứa bất kỳ ký tự nào trong danh sách vừa cung cấp

Đối với đầu vào, nếu ký tự

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
425 không trống, các lần xuất hiện của ký tự đó sẽ bị loại bỏ và ký tự tiếp theo được coi là một phần của giá trị trường theo nghĩa đen. Các trường hợp ngoại lệ là ký tự thoát '
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
460' hoặc '
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
468' (ví dụ:
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
469 hoặc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
465 nếu ký tự thoát là '
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
403'). Các chuỗi này được hiểu là ASCII NUL (byte có giá trị bằng 0) và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463. Các quy tắc xử lý
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463 được mô tả sau trong phần này

Để biết thêm thông tin về cú pháp thoát '

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
403', hãy xem Phần 9. 1, “Giá trị theo nghĩa đen”

Trong một số trường hợp nhất định, các tùy chọn xử lý trường và dòng tương tác

  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    428 là một chuỗi rỗng và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 không trống, các dòng cũng được kết thúc bằng
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426

  • Nếu cả hai giá trị

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479 đều trống (
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    423), định dạng hàng cố định (không phân cách) được sử dụng. Với định dạng hàng cố định, không có dấu phân cách nào được sử dụng giữa các trường (nhưng bạn vẫn có thể có dấu kết thúc dòng). Thay vào đó, các giá trị cột được ghi và đọc bằng cách sử dụng độ rộng hiển thị của các cột. Ví dụ: nếu một cột được khai báo là
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    481, thì các giá trị cho cột đó được viết bằng các trường có bảy ký tự. Trên đầu vào, các giá trị cho cột thu được bằng cách đọc bảy ký tự

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    428 vẫn được dùng để tách dòng. Nếu một dòng không chứa tất cả các trường, phần còn lại của các cột được đặt thành giá trị mặc định của chúng. Nếu bạn không có dấu kết thúc dòng, bạn nên đặt giá trị này thành
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    423. Trong trường hợp này, tệp văn bản phải chứa tất cả các trường cho mỗi hàng

    Định dạng hàng cố định cũng ảnh hưởng đến việc xử lý các giá trị

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463, như được mô tả sau. Lưu ý rằng định dạng kích thước cố định không hoạt động nếu bạn đang sử dụng bộ ký tự nhiều byte

Việc xử lý các giá trị

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463 khác nhau tùy theo các tùy chọn
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
6 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
7 đang sử dụng

  • Đối với các giá trị

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    6 và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    7 mặc định,
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 được viết dưới dạng giá trị trường
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    465 cho đầu ra và giá trị trường
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    465 được đọc là
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 cho đầu vào (giả sử rằng ký tự
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    49 là '
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    403')

  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479 không trống, trường chứa từ bằng chữ
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 làm giá trị của nó được đọc dưới dạng giá trị
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463. Điều này khác với từ
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 được đặt trong các ký tự
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479, được đọc là chuỗi
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    01

  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    425 trống,
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 được viết là từ
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463

  • Với định dạng hàng cố định (được sử dụng khi cả

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479 đều trống),
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 được viết dưới dạng một chuỗi rỗng. Lưu ý rằng điều này khiến cả giá trị
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    463 và chuỗi trống trong bảng không thể phân biệt được khi ghi vào tệp vì cả hai đều được ghi dưới dạng chuỗi trống. Nếu bạn cần có thể phân biệt cả hai khi đọc lại tệp, bạn không nên sử dụng định dạng hàng cố định

Một số trường hợp không được hỗ trợ bởi

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4

  • Hàng có kích thước cố định (

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 và
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479 đều trống) và cột
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    12 hoặc
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    439

  • Nếu bạn chỉ định một dấu phân cách giống hoặc tiền tố của một dấu phân cách khác, thì

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    4 không thể diễn giải đầu vào chính xác. Ví dụ, mệnh đề
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    6 sau đây sẽ gây ra vấn đề

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    47
  • Nếu

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    425 trống, một giá trị trường có chứa sự xuất hiện của
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    479 hoặc
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    428 theo sau bởi giá trị
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    426 khiến
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    4 ngừng đọc trường hoặc dòng quá sớm. Điều này xảy ra vì
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    4 không thể xác định chính xác vị trí kết thúc của trường hoặc giá trị dòng

Ví dụ sau tải tất cả các cột của bảng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
22

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
48

Theo mặc định, khi không có danh sách cột nào được cung cấp ở cuối câu lệnh

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4, các dòng đầu vào phải chứa một trường cho mỗi cột trong bảng. Nếu bạn chỉ muốn tải một số cột của bảng, hãy chỉ định danh sách cột

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
49

Bạn cũng phải chỉ định danh sách cột nếu thứ tự của các trường trong tệp đầu vào khác với thứ tự của các cột trong bảng. Mặt khác, MySQL không thể biết cách khớp các trường đầu vào với các cột của bảng

Danh sách cột có thể chứa tên cột hoặc biến người dùng. Với các biến người dùng, mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 cho phép bạn thực hiện các phép biến đổi trên các giá trị của chúng trước khi gán kết quả cho các cột

Biến người dùng trong mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 có thể được sử dụng theo nhiều cách. Ví dụ sau sử dụng trực tiếp cột đầu vào đầu tiên cho giá trị của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
26 và gán cột đầu vào thứ hai cho biến người dùng chịu phép chia trước khi được sử dụng cho giá trị của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
27

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
0

Mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 có thể được sử dụng để cung cấp các giá trị không được lấy từ tệp đầu vào. Câu lệnh sau đặt
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
29 thành ngày và giờ hiện tại

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
1

Bạn cũng có thể loại bỏ một giá trị đầu vào bằng cách gán giá trị đó cho một biến người dùng và không gán biến đó cho một cột trong bảng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
2

Việc sử dụng danh sách cột/biến và mệnh đề

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 phải tuân theo các hạn chế sau

  • Phép gán trong mệnh đề

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    24 chỉ nên có tên cột ở phía bên trái của toán tử gán

  • Bạn có thể sử dụng các truy vấn con ở phía bên tay phải của

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    24 bài tập. Một truy vấn con trả về một giá trị được gán cho một cột chỉ có thể là một truy vấn con vô hướng. Ngoài ra, bạn không thể sử dụng truy vấn phụ để chọn từ bảng đang được tải

  • Các dòng bị bỏ qua bởi mệnh đề

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    70 không được xử lý cho danh sách cột/biến hoặc mệnh đề
    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    24

  • Không thể sử dụng biến người dùng khi tải dữ liệu với định dạng hàng cố định vì biến người dùng không có chiều rộng hiển thị

Khi xử lý một dòng đầu vào,

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53 chia nó thành các trường và sử dụng các giá trị theo danh sách cột/biến và mệnh đề
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24, nếu chúng có mặt. Sau đó, hàng kết quả được chèn vào bảng. Nếu có các trình kích hoạt
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
37 hoặc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
38 cho bảng, chúng sẽ được kích hoạt trước hoặc sau khi chèn hàng tương ứng

Nếu một dòng đầu vào có quá nhiều trường, các trường bổ sung sẽ bị bỏ qua và số lượng cảnh báo sẽ tăng lên

Nếu một dòng đầu vào có quá ít trường, các cột trong bảng thiếu trường đầu vào sẽ được đặt thành giá trị mặc định của chúng. Việc gán giá trị mặc định được mô tả trong Phần 11. 1. 4, “Giá trị mặc định kiểu dữ liệu”

Giá trị trường trống được diễn giải khác với trường hợp giá trị trường bị thiếu

  • Đối với các loại chuỗi, cột được đặt thành chuỗi rỗng

  • Đối với các loại số, cột được đặt thành

    mkfifo /mysql/db/x/x
    chmod 666 /mysql/db/x/x
    find / -ls > /mysql/db/x/x
    mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
    
    460

  • Đối với các loại ngày và giờ, cột được đặt thành giá trị "không" thích hợp cho loại. Xem Phần 11. 3, “Các loại ngày và giờ”

Đây là những giá trị tương tự xảy ra nếu bạn gán một chuỗi trống một cách rõ ràng cho một loại chuỗi, số hoặc ngày hoặc giờ một cách rõ ràng trong câu lệnh

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0 hoặc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
41

Các cột

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
42 chỉ được đặt thành ngày và giờ hiện tại nếu có một giá trị
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
463 cho cột (tức là,
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
465) hoặc nếu giá trị mặc định của cột
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
42 là dấu thời gian hiện tại và nó bị bỏ qua khỏi danh sách trường khi danh sách trường

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 coi tất cả đầu vào là chuỗi, vì vậy bạn không thể sử dụng giá trị số cho cột
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
440 hoặc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 theo cách bạn có thể làm với câu lệnh
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0. Tất cả các giá trị
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
440 và
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
24 phải được chỉ định dưới dạng chuỗi

Khi câu lệnh

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 kết thúc, nó trả về một chuỗi thông tin có định dạng sau

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
3

Nếu bạn đang sử dụng C API, bạn có thể lấy thông tin về câu lệnh bằng cách gọi hàm

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53. Xem Phần 25. 2. 3. 34, “
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
53”

Các cảnh báo xảy ra trong các trường hợp tương tự như khi các giá trị được chèn vào thông qua câu lệnh

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0 (xem Phần 13. 2. 4, “
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
0 Cú pháp”), ngoại trừ việc
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
4 cũng tạo cảnh báo khi có quá ít hoặc quá nhiều trường trong hàng nhập. Các cảnh báo không được lưu trữ ở bất cứ đâu;

Bạn có thể sử dụng

mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 để nhận danh sách các cảnh báo đầu tiên của
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
59 dưới dạng thông tin về những gì đã xảy ra. Xem Phần 13. 5. 4. 28, “
mkfifo /mysql/db/x/x
chmod 666 /mysql/db/x/x
find / -ls > /mysql/db/x/x
mysql -e "LOAD DATA INFILE 'x' INTO TABLE x" x
58 Cú pháp”

Ngày có thể rỗng trong MySQL không?

MySQL KHÔNG chấp nhận giá trị null cho định nghĩa ngày giờ , nhưng nếu vì lý do nào đó bạn nghĩ khác và sẽ không sử dụng giá trị null, hãy xem xét chỉ cần sử dụng '1000-01-01 . Mysql không cho phép null trong các trường ngày giờ.

tải dữ liệu vào trong MySQL là gì?

Câu lệnh LOAD DATA INFILE đọc các hàng từ tệp văn bản vào bảng với tốc độ rất cao . Nếu từ khóa ĐỊA PHƯƠNG được chỉ định, tệp được đọc từ máy khách. Nếu LOCAL không được chỉ định, tệp phải được đặt trên máy chủ. ( ĐỊA PHƯƠNG có sẵn trong MySQL 3. 22.

Cú pháp để tải dữ liệu vào cơ sở dữ liệu là gì?