我正在尝试通过 python 从 mysql 数据库获取数据,并且想打印它,但它没有给我任何结果。我的代码如下
import time
import datetime
import calendar
import mysql.connector
cnx = mysql.connector.connect(user='xxxx', password='xxxx',
database='robbinDatabase')
cursor = cnx.cursor()
tableData = cursor.execute('select * from robtable')
data = cursor.fetchall()
print 'data: ', data
上面的代码工作得很好,但我不想从表中获取所有数据。我试图在特定的时间范围内提取,所以我尝试这样
cnx = mysql.connector.connect(user='xxxx', password='xxxx',
database='robbinDatabase')
cursor = cnx.cursor()
rowsdata = cursor.execute("SELECT * FROM robtable WHERE usec BETWEEN UNIX_TIMESTAMP('2016-02-25') AND UNIX_TIMESTAMP('2016-02-26 23:59:59')")
# rowsdata = cursor.execute('SELECT * FROM robtable WHERE usec BETWEEN UNIX_TIMESTAMP(1456411800000000) AND UNIX_TIMESTAMP(1456416000000000)')
# rowsdata = cursor.execute('SELECT * FROM robtable WHERE `robin.col1.data` BETWEEN FROM_UNIXTIME(1456411800) AND FROM_UNIXTIME(145642200)')
data = cursor.fetchall()
print data
结果是
data: []
它没有给我任何返回。
我的表中 usec 列和其他两列的数据如下所示
usec robin.col1.data robin.col2.data
1456411800000000 10.90 8.02
1456412400000000 22.3 33
.
.
.
.
1469950200000000 12.22 32.43
usec 是包含时间戳的列,但采用纪元时间格式(微秒)。我还尝试了其他列,例如 robin.col1.data
如果有人帮助我,我将不胜感激。
最佳答案
您应该尝试:date(FROM_UNIXTIME(epoch) 而不是 UNIX_TIMESTAMP('2016-02-25')
尝试在你的sql中运行:SELECT date(FROM_UNIXTIME(UNIX_TIMESTAMP(NOW())));
关于python - 使用python从MySQL中提取两个时间范围之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43654605/