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实现可自定义大小的截屏功能
Jan 20 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
python实现批量解析邮件并下载附件
Jun 19 Python
python并发和异步编程实例
Nov 15 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
使用python list 查找所有匹配元素的位置实例
Jun 11 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
python中pivot()函数基础知识点
Jan 03 Python
python实现剪贴板的操作
Jul 01 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+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP中的表达式简述
2016/05/29 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
微信小程序自定义可滑动日历界面
2018/12/28 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python验证企业工商注册码
2015/10/25 Python
python中PIL安装简单教程
2016/04/21 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
Python:slice与indices的用法
2019/11/25 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
python实现字符串和数字拼接
2020/03/02 Python
python 异步async库的使用说明
2020/05/04 Python
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
平面设计求职信
2014/03/10 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
用Python实现屏幕截图详解
2022/01/22 Python