自己设计大学排名-数据库实践

一、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对象执行 insertupdatedelete语句时,执行结果由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()

 

  得到的结果是:

自己设计大学排名-数据库实践

 

自己设计大学排名-数据库实践

上一篇:Vue.js(一)


下一篇:auto_ptr的使用原则