第四十四回 杨雄醉骂潘巧云 石秀智杀裴如海-python驱动关系型数据库

石秀在杨雄家帮忙,发现杨雄的妻子潘巧云跟她的师兄、和尚裴如海有情况。

潘巧云以到寺里还愿的名义,去见裴如海。两人见面后,此处省略三百字。潘巧云说晚上如果杨雄不在家,就烧夜香为讯号,你可以来。你再找一个和尚提供叫醒服务,还能放风。于是找了一个头陀敲木鱼叫醒,这两人就这样快活了一月有余。

石秀一直挂念这件事,但是一直没发现。一天五更天的时候,听见一个头陀在巷子里敲木鱼,报佛号。石秀感到可疑,就把事情告诉了杨雄。

杨雄被潘巧云几句后,就把石秀卖了。潘巧云就诬陷石秀,把石秀逼走了。

事实证明沟通技巧很重要,让我们看看python如何与关系数据通信吧。

python驱动关系型数据库

Python与关系数据库的交互通常是通过数据库连接器和驱动程序实现的。这些驱动程序允许Python程序连接到数据库,执行SQL查询,并获取结果。
 

以下是一些常用的Python数据库驱动程序和连接器的示例:

    SQLite:

Python标准库自带SQLite3模块,可以直接在Python中使用SQLite数据库。

import sqlite3

# 连接到SQLite数据库
conn = sqlite3.connect('example.db')

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

# 执行SQL查询
c.execute("CREATE TABLE stocks (date text, trans text, symbol text, qty real, price real)")

# 提交事务
conn.commit()

# 关闭连接
conn.close()

    MySQL:

可以使用mysql-connector-python模块来连接MySQL数据库。

安装模块使用命令:pip 3 install mysql-connector-python

import mysql.connector

# 连接到MySQL数据库
conn = mysql.connector.connect(user='your_username', password='your_password',
                              host='localhost', database='your_database')

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

# 执行SQL查询
c.execute("CREATE TABLE stocks (date DATE, trans STRING, symbol STRING, qty INT, price FLOAT)")

# 提交事务
conn.commit()

# 关闭连接
conn.close()

    PostgreSQL:

可以使用psycopg2模块来连接PostgreSQL数据库。

安装模块使用命令pip3 install psycopg2

import psycopg2

# 连接到PostgreSQL数据库
conn = psycopg2.connect(database="your_database", user="your_username", password="your_password", host="localhost", port="5432")

# 创建一个游标对象
cur = conn.cursor()

# 执行SQL查询
cur.execute("CREATE TABLE stocks (date DATE, trans TEXT, symbol TEXT, qty INT, price FLOAT)")

# 提交事务
conn.commit()

# 关闭连接
conn.close()

以上示例演示了如何连接到不同的关系数据库,并创建一个简单的表格。实际上,可以使用这些驱动程序执行更复杂的SQL查询,如插入、更新、删除和选择数据。


以sqlite3为例展示数据库操作

展示创建数据库、创建表、插入数据、查询数据、更新数据和删除数据等操作

import sqlite3  
  
# 连接到SQLite数据库(如果数据库不存在,它将被创建)  
conn = sqlite3.connect('example.db')  
  
# 创建一个游标对象,用于执行SQL命令  
cursor = conn.cursor()  
  
# 创建一个表  
cursor.execute('''  
CREATE TABLE IF NOT EXISTS users (  
    id INTEGER PRIMARY KEY,  
    name TEXT NOT NULL,  
    age INTEGER,  
    email TEXT UNIQUE  
)  
''')  
  
# 提交事务  
conn.commit()  
  
# 插入数据  
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", ('Alice', 30, 'alice@example.com'))  
cursor.execute("INSERT INTO users (name, age, email) VALUES (?, ?, ?)", ('Bob', 25, 'bob@example.com'))  
  
# 提交事务以保存更改  
conn.commit()  
  
# 查询数据  
cursor.execute("SELECT * FROM users")  
rows = cursor.fetchall()  
for row in rows:  
    print(row)  
  
# 更新数据  
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (31, 'Alice'))  
conn.commit()  
  
# 删除数据  
cursor.execute("DELETE FROM users WHERE name = ?", ('Bob',))  
conn.commit()  
  
# 再次查询数据以查看更改  
cursor.execute("SELECT * FROM users")  
rows = cursor.fetchall()  
for row in rows:  
    print(row)  
  
# 关闭游标和连接  
cursor.close()  
conn.close()
# 输出
#(1, 'Alice', 30, 'alice@example.com')
#(2, 'Bob', 25, 'bob@example.com')
#(1, 'Alice', 31, 'alice@example.com')


在上面的例子中,我们执行了以下操作:

导入sqlite3模块。
连接到SQLite数据库(如果数据库不存在,它将被创建)。
创建一个游标对象。
使用游标执行SQL命令来创建一个表。
提交事务以保存表的创建。
使用占位符和execute()方法插入数据。
再次提交事务以保存数据的插入。
执行一个SELECT查询来检索所有数据,并使用fetchall()方法获取结果。
使用游标执行一个UPDATE命令来更新一条记录。
再次提交事务以保存更改。
使用游标执行一个DELETE命令来删除一条记录。
再次提交事务以保存更改。
执行另一个SELECT查询来验证数据已经被更新和删除。
关闭游标和数据库连接。

   

请注意,每次对数据库进行更改(如插入、更新或删除)后,都需要调用conn.commit()来提交事务,以确保更改被保存到数据库中。此外,不要忘记在完成所有数据库操作后关闭游标和连接,以释放资源。

石秀被逼走后在附近找了家客栈住下,一天杨雄值班,石秀抓到了那个敲木鱼的头陀,问清情况,把他衣服脱了换了,一刀杀掉。然后去敲木鱼把裴如海引出来,剥了衣裳,三四刀搠死,然后把刀放在头陀的边上。

清早有人早起,发现这两个人,赶快去告官了。

欲知后事如何,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值