import cx_Oracle
# Oracle数据库连接详细信息
oracle_username = "你的用户名"
oracle_password = "你的密码"
oracle_host = "你的Oracle主机"
oracle_port = "你的Oracle端口"
oracle_service_name = "你的服务名"
dsn = cx_Oracle.makedsn(oracle_host, oracle_port, service_name=oracle_service_name)
connection = cx_Oracle.connect(oracle_username, oracle_password, dsn)
# 执行动态参数化的修改语句
sql_statement = "UPDATE your_table SET your_column1 = :value1, your_column2 = :value2 WHERE your_condition"
# 替换为你的实际新值和条件值
new_value1 = "new_value1"
new_value2 = "new_value2"
condition_value = "your_condition_value"
with connection.cursor() as cursor:
# 使用多个参数绑定
cursor.execute(sql_statement, value1=new_value1, value2=new_value2)
connection.commit()
connection.close()
在这个例子中,:value1
和 :value2
是两个参数占位符,通过在 cursor.execute()
中传递对应的参数来替换这些占位符。
在 cx_Oracle
的例子中,with
语句用于创建数据库连接 (cx_Oracle.connect
) 和游标 (connection.cursor()
),并在代码块结束时自动关闭这些资源。使用 with
语句,你不需要手动调用 close()
方法来关闭连接和游标,因为 with
语句会在离开代码块时自动执行清理工作。
假设你有一个表格 employees
,包含一个列 employee_name
,你想进行模糊搜索,找到包含特定字符串的员工名字。
这个例子中,LIKE '%{search_string}%'
将匹配包含搜索字符串的任何部分的值。你可以根据需要调整查询语句,例如,可以在 %
前后添加更多的字符来实现不同的模糊搜索逻辑
import cx_Oracle
# 连接到数据库
connection = cx_Oracle.connect("your_username", "your_password", "your_dsn")
# 创建游标
cursor = connection.cursor()
# 执行模糊搜索
search_string = "John" # 你要搜索的字符串
query = f"SELECT employee_name FROM employees WHERE employee_name LIKE '%{search_string}%'"
# 执行查询
cursor.execute(query)
# 获取结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row[0])
# 关闭游标和连接
cursor.close()
connection.close()
import cx_Oracle
# 连接到数据库
connection = cx_Oracle.connect("your_username", "your_password", "your_dsn")
# 创建游标
cursor = connection.cursor()
# 定义新增数据的 SQL 语句
insert_sql = "INSERT INTO employees (employee_id, employee_name) VALUES (:id, :name)"
# 定义要插入的数据
new_employee = {'id': 101, 'name': 'John Doe'}
# 执行新增操作
cursor.execute(insert_sql, new_employee)
# 提交事务
connection.commit()
# 关闭游标和连接
cursor.close()
connection.close()
import cx_Oracle
# 连接到数据库
connection = cx_Oracle.connect("your_username", "your_password", "your_dsn")
# 创建游标
cursor = connection.cursor()
# 定义删除数据的 SQL 语句
delete_sql = "DELETE FROM employees WHERE employee_id = :id"
# 定义要删除的数据
employee_to_delete = {'id': 101}
# 执行删除操作
cursor.execute(delete_sql, employee_to_delete)
# 提交事务
connection.commit()
# 关闭游标和连接
cursor.close()
connection.close()
使用了参数绑定来保护代码免受 SQL 注入攻击。
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!小弟在这拜谢了!
如果您觉得我的文章在某些地方写的不尽人意或者写的不对,从而让你对你人生观产生颠覆(概不负责),需要斧正,麻烦在评论区不吝赐教,作者看到后会根据您的提示查阅文章进行修改,还这世间一个公理一片蓝天
?