python中sqlite_SQlite在Python中基本操作

import sqlite3

#创建/打开数据库需指定数据库路径,如果数据库存在则打开。不存在则创建一个新的数据库

con = sqlite3.connect(r'D:\数据库\SQLite\test.db')

"""

connect 返回 con 对象有以下几个方法:

cursor() 创建一个游标对象

commit() 事务提交

rollback() 事务回滚

close() 关闭数据库连接

"""

#创建游标对象

cur = con.cursor()

"""

游标对象有以下方法支持数据库操作:

excute() 执行 sql 语句

executemany() 用来执行多条 sql 语句

close() 关闭游标

fetchone() 从结果中取一条记录,并将游标指向下一条记录

fetchmany() 从结果中取多条记录

fetchall() 从结果中取出所有记录

scroll() 用于游标滚动

"""

#游标对象创建表

cur.execute('create table person (id integer primary key,name varchar(20),\

age integer)')

#插入数据,两种方法

#一:直接构造一个插入 SQL 语句,但这种做法非常不安全,容易导致 SQL 注入

data = "0,'zjk',20"

cur.execute('insert into person values (%s)' % data)

#二:使用占位符“?”来规避这个问题

cur.execute('insert into person values (?,?,?)',(1,'aa',20))

#还可以使用 excutemany() 执行多条 sql 语句,比循环执行效率高

cur.executemany('insert into person values (?,?,?)',[(3,'jcak',15),

(4,'kk',19)])

#插入后都不会立即生效,要进行提交

con.commit()

#如果出现错误,回滚为原来的状态

con.rollback()

#查询数据

"""

fetchall:获取所有数据,返回一个二维列表

fetchone:获取其中一个结果,返回元组

"""

cur.execute('select * from person')

res = cur.fetchall()

for line in res:

print(line)

print()

cur.execute('select * from person')

res = cur.fetchone()

print(res)

print()

#修改和删除数据

cur.execute('update person set name=? where id=?',('rose',1))

cur.execute('delete from person where id=?',(0,))

con.commit()

#查看修改以后的结果

cur.execute('select * from person')

res = cur.fetchall()

for line in res:

print(line)

print()

#执行完关闭游标

con.close()

#关闭数据库

con.close()

"""

插入或修改中文数据时,记得在中文字符串之前加上“u”

"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值