大学python笔记_自己设计大学排名--python数据库

这篇博客介绍了如何使用Python的sqlite3模块连接SQLite数据库,创建表,插入数据,以及查询和显示数据。通过示例代码展示了如何创建Connection和Cursor对象,执行SQL语句,包括创建stocks表,插入一条记录,以及查询数据库中特定信息,如广东技术师范学院的排名和得分。此外,还展示了如何查询广东省所有学校的信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据库读书笔记(使用SQLite)

访问和操作SQLite数据时,需要首先导入sqlite3模块,然后创建一个与数据库关联的Connection对象,成功创建Connection对象以后,再创建一个Cursor对象,并且调用Cursor对象的execute()方法来执行SQL语句创建数据表以及查询、插入、修改或删除数据库中的数据:

ContractedBlock.gif

ExpandedBlockStart.gif

1 importsqlite32 #导入模块

3 conn = sqlite3.connect('example.db')4 #连接数据库

5 #连接到SQLite数据库

6 #数据库文件是example.db

7 #如果文件不存在,会自动在当前目录创建

8 c =conn.cursor()9 #创建表,

10 c.execute('''CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)''')11 #插入一条记录

12 c.execute("INSERT INTO stocks VALUES ('2006-01-05','BUY', 'RHAT', 100, 35.14)")13 #提交当前事务,保存数据

14 conn.commit()15 #关闭数据库连接

16 conn.close()

实验代码

如果需要查询表中内容,那么重新创建Connection对象和Cursor对象之后,可以使用下面的代码来查询。

for row in c.execute('SELECT * FROM stocks ORDER BY price'):print(row)

查询结果:

('2006-01-05', 'BUY', 'RHAT', 100.0, 35.14)

Connection对象:

connect(database[, timeout, isolation_level, detect_types, factory])#连接数据库文件,也可以连接":memory:"在内存中创建数据库

sqlite3.Connection.execute()#执行SQL语句

sqlite3.Connection.cursor()#返回游标对象

sqlite3.Connection.commit()#提交事务

sqlite3.Connection.rollback()#回滚事务

sqlite3.Connection.close()#关闭连接

Cursor对象常用方法:

close(...):#关闭游标

execute(...)#执行SQL语句

executemany(...)#重复执行多次SQL语句

executescript(...)#一次执行多条SQL语句

fetchall(...)#从结果集中返回所有行记录

fetchmany(...):#从结果集中返回多行记录

fetchone(...)#从结果集中返回一行记录

二、自己设计大学排名

(1)把这个文件存入以db+自己的学号命名的数据库中。

importsqlite3importpandas

conn= sqlite3.connect('db+2019310143107.db')#连接数据库

pm=pandas.read_csv("d:/pm.csv")

pm.to_sql('db2019310143107', conn, if_exists='append', index=False)#把数据写入数据库

c =conn.cursor()#创建表

for row in c.execute('select * from db2019310143107'):

print(row)

c.close()

conn.commit()#guanbi数据连接

1967183-20200601005624535-1712877358.png

(2)查询我们学校的排名和得分

c.execute('select * from db2019310143107')

all = c.fetchall()

for line in all:

if "广东技术师范学院" in line:

print("{} {} {}".format(line[0],line[1],line[7]))

结果:

352 广东技术师范学院 337

(3)查询并显示广东省的排名和分数。

c.execute('select * from db2019310143107')

all=c.fetchall()for line inall:if "广东" inline:print("{} {} {}".format(line[0],line[1],line[7]))

结果:

9 中山大学 29393

19 华南理工大学 19220

43 南方科技大学 1042

56 暨南大学 8018

77 南方医科大学 8952

91 深圳大学 5597

102 华南师范大学 5317

109 广东外语外贸大学 478

110 汕头大学 2661

143 华南农业大学 5236

144 广东工业大学 3799

150 广州医科大学 1169

176 广州大学 3389

182 广州中医药大学 312

279 广东医科大学 1745

285 广东财经大学 109

323 广东药科大学 1634

340 广东海洋大学 909

352 广东技术师范学院 337

364 广东金融学院 305

381 佛山科学技术学院 348

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值