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 实现归并排序算法
Jun 05 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
Apr 24 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
对Python实现累加函数的方法详解
Jan 23 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
Python解析json代码实例解析
Nov 25 Python
在Django下创建项目以及设置settings.py教程
Dec 03 Python
Python谱减法语音降噪实例
Dec 18 Python
tensorflow 自定义损失函数示例代码
Feb 05 Python
python计算波峰波谷值的方法(极值点)
Feb 18 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 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
PHP 中dirname(_file_)讲解
2007/03/18 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
js获取当月最后一天实例代码
2013/11/19 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python 中 list 的各项操作技巧
2017/04/13 Python
Python输出带颜色的字符串实例
2017/10/10 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python 画函数曲线示例
2019/12/04 Python
用Python绘制漫步图实例讲解
2020/02/26 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
python实现画图工具
2020/08/27 Python
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
中学生自我评价范文
2014/02/08 职场文书
学校招生宣传广告词
2014/03/19 职场文书
应届生自荐书
2014/06/23 职场文书
单位介绍信格式
2015/01/31 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
PHP策略模式写法
2021/04/01 PHP
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python