DATE
类型是 MySQL 中的一种数据类型,用于存储日期值。它占用 3 个字节,格式为 YYYY-MM-DD
,范围从 1000-01-01
到 9999-12-31
。
DATE
类型占用空间小,适合存储日期信息。MySQL 中的日期类型主要有以下几种:
DATE
:仅存储日期,格式为 YYYY-MM-DD
。DATETIME
:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS
。TIMESTAMP
:存储日期和时间,格式为 YYYY-MM-DD HH:MM:SS
,但存储的值会根据时区的变化而变化。TIME
:仅存储时间,格式为 HH:MM:SS
。YEAR
:存储年份,格式为 YYYY
。DATE
类型常用于存储生日、纪念日、创建日期、更新日期等场景。
假设你有一个 CSV 文件 data.csv
,内容如下:
id,name,birthdate
1,Alice,1990-05-15
2,Bob,1985-12-20
你可以使用以下 SQL 语句将数据导入 MySQL:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(255),
birthdate DATE
);
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
原因:CSV 文件中的日期格式与 MySQL 中的 DATE
类型不匹配。
解决方法:确保 CSV 文件中的日期格式为 YYYY-MM-DD
,或者在导入时使用 STR_TO_DATE
函数进行转换。
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
LATIONS TERMINATED BY '\n'
IGNORE 1 ROWS
(birthdate STR_TO_DATE(@birthdate, '%Y-%m-%d'));
原因:CSV 文件中的字符编码与 MySQL 数据库的字符编码不匹配。
解决方法:确保 CSV 文件的编码与 MySQL 数据库的编码一致,或者在导入时指定正确的编码。
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE users
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云