Python SQLite3数据库日期与时间常见函数用法分析


Posted in Python onAugust 14, 2017

本文实例讲述了Python SQLite3数据库日期与时间常见函数。分享给大家供大家参考,具体如下:

import sqlite3
#con = sqlite3.connect('example.db')
con = sqlite3.connect(":memory:")
c = con.cursor()
# Create table
c.execute('''CREATE TABLE stocks
       (date text, trans text, symbol text, qty real, price real)''')
# Insert a row of data
c.execute("INSERT INTO stocks VALUES (?,?,?,?,?)", ('2006-03-27','BUY','RHAT',100,60.14))
# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
       ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
       ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
       ('2006-04-07', 'SELL', 'MSFT', 500, 74.00),
       ('2006-04-08', 'SELL', 'IBM', 500, 54.00),
       ('2006-04-09', 'SELL', 'MSFT', 500, 73.00),
       ('2006-04-10', 'SELL', 'MSFT', 500, 75.00),
       ('2006-04-12', 'SELL', 'IBM', 500, 55.00),
      ]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
# Save (commit) the changes
con.commit()
# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
#print(c.fetchone())
#for row in c.execute('SELECT * FROM stocks ORDER BY price'):
#  print(row)
#for row in c.execute('SELECT * FROM stocks LIMIT 5 OFFSET 0'):
#  print(row)
for row in c.execute('SELECT * FROM stocks LIMIT 5 OFFSET 1'):
  print(row)
#Select Top N * From
# ====================================================================================
# SQLite 日期 & 时间
# ====================================================================================
print('='*30)
print('SQLite 日期 & 时间')
print('='*30)
# 计算当前日期
c.execute("SELECT date('now')")
print(c.fetchone())
# 计算当前月份的最后一天:
c.execute("SELECT date('now','start of month','+1 month','-1 day');")
print(c.fetchone())
# 计算给定 UNIX 时间戳 1092941466 的日期和时间:
c.execute("SELECT datetime(1092941466, 'unixepoch');")
print(c.fetchone())
# 计算给定 UNIX 时间戳 1092941466 相对本地时区的日期和时间:
c.execute("SELECT datetime(1092941466, 'unixepoch', 'localtime');")
print(c.fetchone())
# 计算当前的 UNIX 时间戳:
c.execute("SELECT datetime(1092941466, 'unixepoch', 'localtime');")
print(c.fetchone())
# 计算美国"独立宣言"签署以来的天数:
c.execute("SELECT julianday('now') - julianday('1776-07-04');")
print(c.fetchone())
# 计算从 2004 年某一特定时刻以来的秒数:
c.execute("SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');")
print(c.fetchone())
# 计算当年 10 月的第一个星期二的日期:
c.execute("SELECT date('now','start of year','+9 months','weekday 2');")
print(c.fetchone())
# 计算从 UNIX 纪元算起的以秒为单位的时间(类似 strftime('%s','now') ,不同的是这里有包括小数部分):
c.execute("SELECT (julianday('now') - 2440587.5)*86400.0;")
print(c.fetchone())
# 在 UTC 与本地时间值之间进行转换,当格式化日期时,使用 utc 或 localtime 修饰符,如下所示:
c.execute("SELECT time('12:00', 'localtime');")
print(c.fetchone())
#
c.execute("SELECT time('12:00', 'utc');")
print(c.fetchone())
con.close()
# ====================================================================================
# SQLite 常用函数
# ====================================================================================
print('='*30)
print('SQLite 常用函数')
print('='*30)
con = sqlite3.connect(":memory:")
c = con.cursor()
# Create table
c.execute('''CREATE TABLE COMPANY
      (ID integer, NAME text, AGE integer, ADDRESS text, SALARY real)''')
# Larger example that inserts many records at a time
purchases = [(1,'Paul',32,'California',20000.0),
       (2,'Allen',25,'Texas',15000.0),
       (3,'Teddy',23,'Norway',20000.0),
       (4,'Mark',25,'Rich-Mond',65000.0),
       (5,'David',27,'Texas',85000.0),
       (6,'Kim',22,'South-Hall',45000.0),
       (7,'James',24,'Houston',10000.0)]
c.executemany('INSERT INTO COMPANY VALUES (?,?,?,?,?)', purchases)
# Save (commit) the changes
con.commit()
# 返回数据库表最后 n 行记录
# 先计算一个数据库表中的行数
c.execute("SELECT count(*) FROM COMPANY;")
last = c.fetchone()[0]
n = 5
c.execute("SELECT * FROM COMPANY LIMIT ? OFFSET ?;", (n, last-n))
for row in c:
  print(row)
# 计算一个数据库表中的行数
c.execute("SELECT count(*) FROM COMPANY;")
print(c.fetchone())
# 选择某列的最大值
c.execute("SELECT max(salary) FROM COMPANY;")
print(c.fetchone())
# 选择某列的最小值
c.execute("SELECT min(salary) FROM COMPANY;")
print(c.fetchone())
# 计算某列的平均值
c.execute("SELECT avg(salary) FROM COMPANY;")
print(c.fetchone())
# 为一个数值列计算总和
c.execute("SELECT sum(salary) FROM COMPANY;")
print(c.fetchone())
# 返回一个介于 -9223372036854775808 和 +9223372036854775807 之间的伪随机整数
c.execute("SELECT random() AS Random;")
print(c.fetchone())
# 返回数值参数的绝对值
c.execute("SELECT abs(5), abs(-15), abs(NULL), abs(0), abs('ABC');")
print(c.fetchone())
# 把字符串转换为大写字母
c.execute("SELECT upper(name) FROM COMPANY;")
print(c.fetchone())
# 把字符串转换为小写字母
c.execute("SELECT lower(name) FROM COMPANY;")
print(c.fetchone())
# 返回字符串的长度
c.execute("SELECT name, length(name) FROM COMPANY;")
print(c.fetchone())
# 返回 SQLite 库的版本
c.execute("SELECT sqlite_version() AS 'SQLite Version';")
print(c.fetchone())
#
c.execute("SELECT CURRENT_TIMESTAMP;")
print(c.fetchone())

Python 相关文章推荐
Python中的特殊语法:filter、map、reduce、lambda介绍
Apr 14 Python
解读Python中degrees()方法的使用
May 18 Python
Python 将Matrix、Dict保存到文件的方法
Oct 30 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
python支付宝支付示例详解
Aug 22 Python
Python concurrent.futures模块使用实例
Dec 24 Python
python垃圾回收机制(GC)原理解析
Dec 30 Python
Python实现简单猜数字游戏
Feb 03 Python
Python中os模块的简单使用及重命名操作
Apr 17 Python
Pandas 数据编码的十种方法
Apr 20 Python
python itchat实现微信自动回复的示例代码
Aug 14 #Python
Python编程实现控制cmd命令行显示颜色的方法示例
Aug 14 #Python
django 创建过滤器的实例详解
Aug 14 #Python
django创建自定义模板处理器的实例详解
Aug 14 #Python
Python微信库:itchat的用法详解
Aug 14 #Python
Python实现的概率分布运算操作示例
Aug 14 #Python
python itchat实现微信好友头像拼接图的示例代码
Aug 14 #Python
You might like
SESSION存放在数据库用法实例
2015/08/08 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
javascript调试说明
2010/06/07 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python表达式的优先级详解
2020/02/18 Python
python实现五子棋程序
2020/04/24 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
大三学生入党思想汇报
2014/01/02 职场文书
留守儿童工作方案
2014/06/02 职场文书
文明好少年事迹材料
2014/08/19 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
2014年底工作总结
2014/12/15 职场文书
家长评语怎么写
2014/12/30 职场文书
护士先进个人总结
2015/02/13 职场文书
金陵十三钗观后感
2015/06/04 职场文书
高中班主任心得体会
2016/01/07 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
年终工作总结范文
2019/06/20 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
Python序列化模块JSON与Pickle
2022/06/05 Python