Python(连接数据库)

连接SQLite数据库
SQLite介绍

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。

什么是 SQLite?

SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。
就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。

为什么要用 SQLite?

a、不需要一个单独的服务器进程或操作的系统(无服务器的)。
b、SQLite 不需要配置,这意味着不需要安装或管理。
c、一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
d、SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
e、SQLite 是自给自足的,这意味着不需要任何外部的依赖。
f、SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
g、SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
h、SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
i、SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行。

"""
Python操作SQLite数据库
支持的数据类型:5种
NULL,text,real,integer,blob
"""
# 导入SQLite模块
import sqlite3

# 定义函数
def reverseText(str):
    return str[::-1]
print(reverseText("wsy"))


# 获得连接对象connection
conn=sqlite3.connect("que.db")
print(conn)

# 创建自定义函数
conn.create_function("wsy", 1,reverseText)

# 创建游标对象
c = conn.cursor()

# 通过游标c对数据进行CRUD(创建表)
# c.execute("""
# create table que(
# _id integer primary key autoincrement,
# que text,
# opA text,
# opB text,
# opC text,
# opD text,
# answer
# )
# """)

# 添加数据
# c.execute("insert into que values(null,?,?,?,?,?,?)", ("谁是傻逼?", "智障", "脑残", "也是", "sb", "A",))

# 添加多条数据 方式一
# for i in range(10):
#    c.execute("insert into que values(null,?,?,?,?,?,?)", (f"谁是傻逼?{i}", "智障", "脑残", "也是", "sb", "A",))

# 添加多条数据 方式二
# c.executemany("insert into que values(null,?,?,?,?,?,?)", (
#     ("问题1", "智障", "脑残", "也是", "sb", "A",),
#     ("问题2", "智障", "脑残", "也是", "sb", "B",)
# ))

# 修改
# 修改单条
# c.execute("update que set answer = ? where _id = ?", ("C", 10))

# 修改多条
# c.executemany("update que set answer = ? where _id = ?",(
#    ("B", 1),
#     ("C", 5),
#     ("D", 7), ))

# 删除单条
# c.execute("delete from que where _id = ? ", (12,))
# 删除多条
# c.executemany("delete from que where _id = ?", (
#    (11,),
#    (13,)
# ))

# 查询
# c.execute("select * from que limit ?,?", (5, 5))
# c.execute("select * from que")

# 拿结果
# 拿第一条
# print(c.fetchone()[1])
# 拿多条
# for w in c.fetchmany(10):
#    print(w)
# 拿所有
# for w in c.fetchall():
#     print(w)

# 特有的方法
c.executescript("""
insert into que values(null,"问题1","as","sa","dfg","dyu","urt");
update que set que ="ghfg" where _id=9;
""")

c.execute("insert into que values(null,wsy(?),?,?,?,?,?)", ("谁是傻逼啊?", "智障", "脑残", "也是", "sb", "A",))

# 提交事务
conn.commit()
# 关闭游标
c.close()
# 关闭连接
conn.close()
连接MySQL数据库

最重要 否则就会连接失败

conn = pymysql.connect(host="localhost", user="root", password="123", database="mysql", charset="utf8")

简单创建一个表和添加一条数据 修改 删除 查找跟SQLite一样

"""
Python操作MySQL数据库
"""
import  pymysql
# 获取连接对象

conn = pymysql.connect(host="localhost", user="root", password="123", database="mysql", charset="utf8")
print(conn)

# 获取游标
c = conn.cursor()
# 创建表
# c.execute("""
# create table que(
# qid int primary key auto_increment,
# ques varchar(50),
# opA varchar(20),
# opB varchar(20),
# opC varchar(20),
# opD varchar(20),
# answer varchar(20))
# """)

# 添加
c.execute("insert into que values(null,%s,%s,%s,%s,%s,%s)", ("你爱我吗?", "zsm", "lsh", "zm", "xm", "A"))
conn.commit()

c.close()
conn.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听晚风续过晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值