一、SQLite 数据库笔记
介绍:SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。
使用步骤:首先需要连接到数据库,一个数据库连接称为Connection; 连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果。
注意:
(1)搞清楚 Connection
和 Cursor
对象,打开后一定记得关闭。
(2)使用 Cursor
对象执行 insert
,update
,delete
语句时,执行结果由rowcount
返回影响的行数,就可以拿到执行结果。
(3)Cursor
对象执行 select
语句时,通过featchall()
可以拿到结果集。
所有的 SQL 语句:
二、实例操作
查询广东学校的成果转化(技术转让收入)2019年的排名和得分:
代码如下:
import requests from bs4 import BeautifulSoup allUniv=[] def getHTMLText(url): try: r=requests.get(url,timeout=30) r.raise_for_status() r.encoding = ‘utf-8‘ return r.text except: return "" def fillUnivList(soup): data = soup.find_all(‘tr‘) for tr in data: ltd = tr.find_all(‘td‘) if len(ltd)==0: continue singleUniv = [] for td in ltd: singleUniv.append(td.string) allUniv.append(singleUniv) def printUnivList(num): a="广东" print("{1:^2}{2:{0}^10}{3:{0}^6}{4:{0}^4}{5:{0}^10}".format(chr(12288),"排名","学校名称","省市","总分","成果转化")) for i in range(num): u=allUniv[i] #print(u[1]) if a in u: print("{1:^2}{2:{0}^10}{3:{0}^6}{4:{0}^8.1f}{5:{0}^10}".format(chr(12288),i+1,u[1],u[2],eval(u[3]),u[6])) def main(): url=‘http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html‘ html = getHTMLText(url) soup = BeautifulSoup(html,"html.parser") fillUnivList(soup) num=len(allUniv) printUnivList(num) main()
得到的结果是: