在MySql中更改日期格式

时间:2011-02-10 12:53:45

标签: python mysql database

我有一个很大的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()

2 个答案:

答案 0 :(得分:4)

假设您的表有两列名为column1column2的列,则日期位于column2,这是CSV文件中的第二列:

LOAD DATA INFILE 'filename' (column1, @var1)
SET column2 = STR_TO_DATE(@var1, '%d-%m-%Y')

(column1, @var1)部分说:

  • CSV文件的第一列直接进入数据库列column1
  • CSV文件的第二列进入变量@var1

SET column2 =部分说:

  • 将数据库列column2设置为=符号后面的表达式。

答案 1 :(得分:1)

MySQL Reference Manual :: Date and Time Functions - 请参阅STR_TO_DATE将字符串转换为日期。