我有一个很大的Csv文件,我想将它批量加载到我的表中。此csv文件的一列保留日期,但格式为DD-MM-YYYY。当我将此文件加载到我的表时,它不接受它,因为MySQL DATE格式只接受YYYY-MM-DD。有什么方法可以在MySQL中改变它。我正在使用python来创建我的表并将我的文件加载到表中,这对于这个问题实际上并不重要。如果有一个命令,请告诉我应该把它放在哪里? 谢谢 这是完整的代码
import MySQLdb,os
path='data_files'
absPath = os.path.abspath(path)
print absPath
#connecting to the new database
conn = MySQLdb.connect(host='localhost',
user='root',
passwd='',
db='iens')
db_cursor = conn.cursor()
query = "LOAD DATA LOCAL INFILE '"+ absPath + "/recencies" +"' INTO TABLE iens.recensies FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' (restaurantID,Naam,Date,RecensieText) "
db_cursor.execute(query)
conn.commit()
答案 0 :(得分:4)
假设您的表有两列名为column1
和column2
的列,则日期位于column2
,这是CSV文件中的第二列:
LOAD DATA INFILE 'filename' (column1, @var1)
SET column2 = STR_TO_DATE(@var1, '%d-%m-%Y')
(column1, @var1)
部分说:
column1
@var1
SET column2 =
部分说:
column2
设置为=
符号后面的表达式。答案 1 :(得分:1)
MySQL Reference Manual :: Date and Time Functions - 请参阅STR_TO_DATE
将字符串转换为日期。