0
点赞
收藏
分享

微信扫一扫

看漫画学Python 第十五章代码

点亮自己的那盏灯 2022-03-23 阅读 57
python

15.4.2 无条件查询

import sqlite3

try:
#1、建立数据库连接
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL查询操作
	sql = 'SELECT s_id s_name s_sex s_birthday FROM student'
	cursor.execute(sql)
#4、提取结果集
	result_set = cursor.fetchall()
	for row in result_set:
		print('学号:{0} - 姓名:{1} - 性别:{2} - 生日:{3}'
			.format(row[0],row[1],row[2],row[3]))
except sqlite3.Error as e:
	print("数据查询发生错误:{}".format(e))
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()

15.4.3 有条件查询

import sqlite3

istr = input("请输入生日(yyyyMMdd):")

try:
#1、建立数据库连接
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL查询操作
	sql = 'SELECT s_id s_name s_sex s_birthday FROM student'
	cursor.execute(sql,[istr]) #参数放到序列或元组中
#4、提取结果集
	result_set = cursor.fetchall()
	for row in result_set:
		print('学号:{0} - 姓名:{1} - 性别:{2} - 生日:{3}'
			.format(row[0],row[1],row[2],row[3]))
except sqlite3.Error as e:
	print("数据查询发生错误:{}".format(e))
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()

15.4.4 插入数据

import sqlite3

i_name = input("请输入【姓名】:")
i_sex = input("请输入【性别】(1表示男,0表示女):")
i_birthday = input("请输入【生日】:")

try:
#1、建立数据库连接	
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL插入操作
	sql = 'INSERT INTO student (s_name,s_sex,s_birthday) VALUES(?,?,?)'
	cursor.execute(sql,[i_name,i_sex,i_birthday])

#4、提交数据库事务
	con.commit()
	print("插入数据成功。")
except sqlite3.Error as e:
	print("插入数据失败:{}".format(e))
	#4、回滚数据库事务
	con.rollback()
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()

15.4.5 更新数据

import sqlite3

i_id = input("请输入【学号】:")
i_name = input("请输入【姓名】:")
i_sex = input("请输入【性别】(1表示男,0表示女):")
i_birthday = input("请输入【生日】:")

try:
#1、建立数据库连接	
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL更新操作
	sql = 'UPDATE student SET s_name = ?,s_sex = ?,s_birthday = ? WHERE s_id = ?'
	cursor.execute(sql,[i_name,i_sex,i_birthday,i_id])

#4、提交数据库事务
	con.commit()
	print("插入数据成功。")
except sqlite3.Error as e:
	print("插入数据失败:{}".format(e))
	#4、回滚数据库事务
	con.rollback()
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()

15.4.6 删除数据

import sqlite3

i_id = input("请输入要删除学生的【学号】:")

try:
#1、建立数据库连接	
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL更新操作
	sql = 'DELETE FROM student WHERE s_id=?'
	cursor.execute(sql,[i_id])

#4、提交数据库事务
	con.commit()
	print("插入数据成功。")
except sqlite3.Error as e:
	print("插入数据失败:{}".format(e))
	#4、回滚数据库事务
	con.rollback()
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()

15.5 防止SQL注入攻击

import sqlite3

istr = input("请输入生日(yyyyMMdd):")

try:
#1、建立数据库连接
	con = sqlite3.connect('school_db.db')
#2、创建游标对象
	cursor = con.cursor()
#3、执行SQL查询操作
	sql = 'SELECT s_id s_name s_sex s_birthday FROM student WHERE s_birthday < ' + istr
	cursor.execute(sql) #参数放到序列或元组中
#4、提取结果集
	result_set = cursor.fetchall()
	for row in result_set:
		print('学号:{0} - 姓名:{1} - 性别:{2} - 生日:{3}'
			.format(row[0],row[1],row[2],row[3]))
except sqlite3.Error as e:
	print("数据查询发生错误:{}".format(e))
finally:
#5、关闭游标
	if cursor:
		cursor.close()
#6、关闭数据连接
	if con:
		con.close()
举报

相关推荐

0 条评论