• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

python sqlite3建表增删改查

武飞扬头像
U盘失踪了
帮助7

数据库编程

操作SQLite3 数据库
从Python3.x版本开始,标准库内置 SQLite3 模块

使用connect()连接数据库并获取数据库对象
.cursor() 方法来创建一个游标对象
.commit() 方法来处理事务提交
.rollback() 方法来处理事务回滚
.close() 方法来关闭一个数据库连接

使用con.cursor() 获取游标对象

使用游标对象的方法
execute()、executemany()、fetchall() 来操作数据库实现插入,修改,删除操作

连接函数sqlite3.connect()
database: 表示要访问的数据库名
timeout: 表示访问超时设定

close() 关闭数据库连接

使用SQLite3 创建表
con=sqlite3.connect(’./demo.db’)

创建表_示例:

# 导入sqlite3 模块

import sqlite3

# 创建连接
con = sqlite3.connect('./demo.db')

# 获取 cursor 对象
cur = con.cursor()

# 执行sql创建表

sql = '''
create table t_person
(
 pno INTEGER PRIMARY KEY AUTOINCREMENT,
 pname varchar(30) NOT NULL,
 age INTEGER
)
'''


try:
    cur.execute(sql)
    print('创建表成功')

except Exception as e:
    print(e)
    print('创建表失败')

finally:
    # 关闭游标
    cur.close()
    # 关闭连接
    con.close()

插入表数据_示例:

# 导入模块
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写插入sql
sql='''
insert into t_person(pname,age) values(?,?)
'''

try:
    # 执行sql
    cur.execute(sql,('张三',24))
    #提交事务
    con.commit()
    print('插入数据成功')

except Exception as e:
    print(e)
    con.rollback()
    print('插入数据失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

插入多条表数据_示例:

# 导入模块
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写插入sql
sql='''
insert into t_person(pname,age) values(?,?)
'''

try:
    # 执行插入多条数据的sql
    cur.executemany(sql, [('小李',23),('小红',18),('小明',25)])
    #提交事务
    con.commit()
    print('插入多条数据成功')

except Exception as e:
    print(e)
    con.rollback()
    print('插入多条数据失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

查询所有表数据_示例:

# 导入模块
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写查询sql
sql='''
select * from t_person
'''

try:
    # 执行sql
    cur.execute(sql)
    # 获取结果集
    person_all = cur.fetchall()
    #print(person_all) # 元组
    for person in person_all:
        print(person)
    print('查询数据成功')

except Exception as e:
    print(e)
    con.rollback()
    print('查询所有数据失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

查询表一条数据_示例:

# # 获取一条数据
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写查询sql
sql='''
select * from t_person
'''

try:
    # 执行sql
    cur.execute(sql)
    person=cur.fetchone()
    print(person)

except Exception as e:
    print(e)
    con.rollback()
    print('查询所有数据失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

修改表数据_示例:

# 修改数据
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写修改sql语句
sql='''
update t_person set pname=? where pno=?
'''

try:
    # 执行sql
    cur.execute(sql,('小张',1))
    # 提交事务
    con.commit()
    print('修改成功')

except Exception as e:
    print(e)
    con.rollback()
    print('修改失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

删除表数据_示例:

# 删除数据
import sqlite3

# 创建连接
con=sqlite3.connect('./demo.db')

# 创建游标对象
cur=con.cursor()

# 编写修改sql语句
sql='''
delete from t_person where pno=?
'''

try:
    # 执行sql
    cur.execute(sql,(1,))
    # 提交事务
    con.commit()
    print('删除成功')

except Exception as e:
    print(e)
    con.rollback()
    print('删除失败')

finally:
    # 关闭游标连接
    cur.close()
    # 关闭数据库连接
    con.close()

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhbgih
系列文章
更多 icon
同类精品
更多 icon
继续加载