sqlite3学习
创建时间:
字数:1.1k
阅读:
1,操作流程
(1)先在文件夹创建出一个.db文件
(2)导入相关库或模块(SQLite3)
(3)使用connect()连接数据库并获取数据库对象。他提供了以下方法:
.cursor() 方法来创建一个游标对象
.commit() 方法来处理事务提交
.rollback() 方法来处理事务回滚
.close() 方法来关闭一个数据库连接
(4)使用con.cursor() 获取游标对象
(5)使用游标对象的方法execute()、executemany()、fetchall() 等来操作数据库,实现数据库插入、修改和删除操作,并查询获取显示相关的记录。在Python程序中,连接函数sqlite3.connert()有如下两个常用的参数:
database:表示要访问的数据库名。
timeout():表示访问数据的超时设定。
(6)使用close()关闭游标对象和数据库连接。数据库操作完成之后,必须及时调用其close()方法关闭数据库连接,这样做的目的是减轻数据服务器的压力。
(7)他的的不同有sql语句,执行的时候的参数
2,使用SQLite3创建表
使用sqlite3模块的connect方法来创建/打开数据库,需要指定数据库路径,不存在则创建一个新的数据库。
1
| con = sqlite3.connect('e:/sqlitedb/first.db')
|
【实例】使用sqlite3创建表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import sqlite3
con = sqlite3.connect('E:/python/tank/sqlite3.db')
cur = con.cursor() sql = 'create table Student (id int(10) primary key, \ name char(20) not null \ )' try: cur.execute(sql) print("创建成功") except Exception as e: print(e) print("创建失败") finally: cur.close() con.close()
|
2,使用SQLite3插入数据
调用游标对象的execute执行插入的sql,使用executemany()执行多条sql语句,使用executmany()比循环使用execu()执行多条sql语句效率高
【实例】使用sqlite3在表中插入数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import sqlite3
con = sqlite3.connect('E:/python/tank/sqlite3.db')
cur = con.cursor()
sql = 'insert into Student(id, name) values(?, ?)' try: cur.execute(sql, (112, '小潘')) ''' 插入多条数据 cur.executemany(sql, [(100, "小陈"), (101, "小李")]) #执行多条插入的时候,要用列表+元组来存,插入重复数据会报错 ''' con.commit() print('插入成功') except Exception as e: print(e) print("插入失败") con.rollback() finally: cur.close() con.close()
|
2,使用SQLite3查询数据
【实例】使用sqlite3查询表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import sqlite3
con = sqlite3.connect('E:/python/tank/sqlite3.db')
cur = con.cursor() sql = 'select * from Student' try: cur.execute(sql) stu1 = cur.fetchone() print(stu1) stu_all = cur.fetchall() for stu in stu_all: print(stu) except Exception as e: print(e) print('查询所有数据失败') finally: cur.close() con.close()
|
3,使用SQLite3修改数据
【实例】使用sqlite3修改表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import sqlite3
con = sqlite3.connect('E:/python/tank/sqlite3.db')
cur = con.cursor()
sql = 'update Student set name=? where id = ?'
try: cur.execute(sql, ("hahah", 112)) con.commit() except Exception as e: print(e) print("修改失败") con.rollback() finally: cur.close() con.close()
|
3,使用SQLite3删除数据
【实例】使用sqlite3删除表中数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import sqlite3
con = sqlite3.connect('E:/python/tank/sqlite3.db')
cur = con.cursor()
sqldel = 'delete from Student where id =?'
try: cur.execute(sqldel, (112,)) con.commit() print('删除成功') except Exception as e: print(e) print("修改失败") con.rollback() finally: cur.close() con.close()
|
总结
在上面的实例中,首先定义查询在上述实例代码中,首先定义查询所有数据、插入数据、修改数据、删除数据的方法。然后,定义主方法中依次建立连接,获取连接的cursor,通过cursor的execute()等方法来执行SQL语句,调用插入记录、更加记录、删除记录的方法。
特别注意:execute参数中的是sql语句和元组!!
转载请注明来源,欢迎指出任何有错误或不够清晰的表达。可以邮件至gxnucgb@qq.com
文章标题:sqlite3学习
文章字数:1.1k
本文作者:陈桂彬
发布时间:2019-07-25, 12:24:44
最后更新:2019-07-27, 16:00:29
原始链接:https://github.com/gxnucgb/gxnucgb.github.io/2019/07/25/sqlite3学习/
版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。