在Python中执行数据库查询语句,通常需要使用数据库连接库,例如`cx_Oracle`用于Oracle数据库,`mysql.connector`用于MySQL数据库,`pymysql`用于MySQL数据库,`sqlite3`用于SQLite数据库等。以下是使用不同数据库连接库执行查询语句的示例:
Oracle数据库查询示例
import cx_Oracleclass handleDataBase:def __init__(self, user, passwd, server, sql):self.user = userself.passwd = passwdself.server = serverself.sql = sqlself.conn = cx_Oracle.connect('%s/%s@%s' % (self.user, self.passwd, self.server))def selectDB(self):cursor = self.conn.cursor()cursor.execute(self.sql)ret = cursor.fetchall()cursor.close()return retdef closeDB(self):self.conn.close()if __name__ == '__main__':user = 'username'passwd = 'password'server = 'server_address'sql = 'SELECT count(1) FROM table_name'db = handleDataBase(user, passwd, server, sql)result = db.selectDB()print(result)db.closeDB()
MySQL数据库查询示例
import mysql.connectordef main():conn = mysql.connector.connect(host='localhost',port=3306,user='root',password='password',database='database_name',charset='utf8')cs1 = conn.cursor()count = cs1.execute('SELECT id, name FROM goods WHERE id >= 4')print('查询到%d条数据:' % count)for i in range(count):result = cs1.fetchone()print(result)cs1.close()conn.close()if __name__ == '__main__':main()
SQLite数据库查询示例
import sqlite3conn = sqlite3.connect('example.db')c = conn.cursor()c.execute('SELECT * FROM user_tb WHERE user_id > ?', (2,))for col in c.description:print(col, end='\t')print('\n')for row in c:print(row)c.close()conn.close()
注意事项
使用`execute`方法执行查询语句,并可以通过参数化查询来防止SQL注入。
使用`fetchone`获取单个结果,`fetchall`获取所有结果。
使用`rowcount`获取受影响的行数。
请根据您使用的数据库类型选择合适的库和示例代码。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/76518.html