执行命令
有4种——
cur.execute(sql)
cur.execute(sql,parameters) 执行带参数的SQL语句
cur.executemany(sql,seg_of_parameters) 根据参数执行多次SQL语句
cur.executescript(sql_script)
举例——
cur.execute(“select * from emp”)
print(cur.fetchall()) #提取查询到的所有数据
查询结果
cur.fetchcone() 返回结果集的下一行(Row对象),无数据时,返回None
cur.fetchall() 返回结果集的剩余行
cur.fetchmany() 返回结果集的多行
举例——
cur.execute(“select * from emp”) #提取查询的数据
print(cur.fetchone()) #打印列表中的第一行,返回第二项,依稀显示。没有内容时,返回None
数据的提交和回滚
cur.commit()
cur.rollback()
关闭
cur.close()
con.close()
<游标先关闭,连接后断开>
其他
避免重复插入:
举例——
cur.execute("insert or ignore into goodsvalues(1003,'Pen',100,11)")
#不存在,添加;存在,则不操作
cur.execute("insert or replace into goodsvalues(1003,'Pen',100,11)")
#不存在,添加;存在,则不操作
编程题
1) 基于书中创建的test.db数据库和employee表,完成下列SQL命令,表中初始数据如下。
[1132,李四,男,部门经理,7548.6,11;1443,王五,男,职员,6656,14;1036,高七,女,经理,7600,10]
① 使用insert into命令向表中任意插入两条记录。
② 使用delete from命令删除emp_id为1443的雇员记录。
③ 使用update命令为职称为部门经理的雇员工资增加10%。
④ 查询工资大于7000的部门经理的信息。
⑤ 查询不同性别的雇员的人数。
⑥ 查询employee表中工资在7000元以上的雇员信息,并将查询的结果按工资降序排序。
⑦ 查询employee表中男女雇员人数及平均工资(显示:性别、人数、平均工资)。
2) 设计GUI界面,模拟用户登录系统,用户输入用户名和密码,如果输入正确,提示登录成功;否则提示登录失败(用户的密码信息保存在SQLite数据库中)。
3) 在SQLite数据库管理系统中创建数据库library,在library数据库中建立图书表books(书号bookno,书名bookname,出版社publish,价格price)。建立简单的图书管理系统,完成图书信息的增加、删除、修改、条件查询等功能。