SQLite的学习
Posted 正哥哥的自习室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLite的学习相关的知识,希望对你有一定的参考价值。
今天我们看一下数据库的内容
SQLite
其实前两天做 Django
项目的时候就说到过,Python自带SQLite数据库,我们今天也主要学它,等待后面具体学数据库的时候再看mysql 直接看代码吧,代码包含了几乎所有的内容
# -*- coding: utf-8 -*-
import os, sqlite3
db_file = os.path.join(os.path.dirname(__file__), 'test.db')
if os.path.isfile(db_file):
os.remove(db_file)
# 初始数据:
conn = sqlite3.connect(db_file)
cursor = conn.cursor()
cursor.execute('create table user(id varchar(20) primary key, name varchar(20), score int)')
cursor.execute(r"insert into user values ('A-001', 'Adam', 95)")
cursor.execute(r"insert into user values ('A-002', 'Bart', 62)")
cursor.execute(r"insert into user values ('A-003', 'Lisa', 78)")
cursor.close()
conn.commit()
conn.close()
def get_score_in(low, high):
' 返回指定分数区间的名字,按分数从低到高排序 '
conn=sqlite3.connect('test.db')
cursor=conn.cursor()
cursor.execute('select * from user where score<=? and score>=? order by score',( high ,low))
values=cursor.fetchall()
cursor.close()
conn.commit()
conn.close()
result=[]
for i in values:
result.append(i[1])
return result
# 测试:
assert get_score_in(80, 95) == ['Adam'], get_score_in(80, 95)
assert get_score_in(60, 80) == ['Bart', 'Lisa'], get_score_in(60, 80)
assert get_score_in(60, 100) == ['Bart', 'Lisa', 'Adam'], get_score_in(60, 100)
print('Pass')
没错这是个题目啦。从初始数据中我们可以学习到插入数据的方法, ''
内的都是SQL语句 用 fetchall
查询结果。这里要注意的是,即使是在控制台,也要及时关闭数据库 connection
,不然在test的时候会报错!
以上是关于SQLite的学习的主要内容,如果未能解决你的问题,请参考以下文章
java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段
当我从用户获取数据并将其保存到 SQLite 数据库中时,我应该怎么做才能使列表视图在片段中工作
SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML
如果我想从另一个片段中添加书签,为啥我的书签单词没有保存到 sqlite 数据库?
Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段
Android 逆向使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )(代码片段