当前位置:   article > 正文

Python数据库操作全攻略:从入门到精通,一文掌握连接与操作MySQL、SQLite、PostgreSQL等主流数据库_python 查询数据库

python 查询数据库

数据驱动的世界里,Python作为强大的编程语言,在处理和分析数据库方面具有显著优势。本文将深入浅出地讲解如何使用Python操作各类主流数据库,并通过实际代码示例帮助您快速上手。

一、Python操作MySQL数据库

借助mysql-connector-python库,我们可以轻松实现对MySQL数据库的连接、查询、插入、更新和删除操作。

  1. import mysql.connector
  2. # 连接MySQL数据库
  3. cnx = mysql.connector.connect(user='your_username', password='your_password',
  4. host='127.0.0.1',
  5. database='your_database')
  6. cursor = cnx.cursor()
  7. # 执行SQL查询语句并获取结果
  8. query = ("SELECT * FROM your_table")
  9. cursor.execute(query)
  10. for (id, name) in cursor:
  11. print(f"ID: {id}, Name: {name}")
  12. # 插入数据
  13. insert_query = ("INSERT INTO your_table (name, age) VALUES (%s, %s)")
  14. data = ('John Doe', 30)
  15. cursor.execute(insert_query, data)
  16. # 提交事务并关闭连接
  17. cnx.commit()
  18. cursor.close()
  19. cnx.close()

二、Python操作SQLite数据库

SQLite是轻量级的关系型数据库,Python内置了sqlite3模块可以直接操作。

  1. import sqlite3
  2. # 连接SQLite数据库(文件式)
  3. conn = sqlite3.connect('your_database.db')
  4. c = conn.cursor()
  5. # 创建表
  6. c.execute('''CREATE TABLE IF NOT EXISTS users
  7. (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
  8. # 插入数据
  9. c.execute("INSERT INTO users VALUES (?, ?, ?)", (1, 'Alice', 25))
  10. # 查询数据
  11. c.execute("SELECT * FROM users WHERE id=?",(1,))
  12. print(c.fetchone())
  13. # 关闭连接
  14. conn.commit()
  15. c.close()
  16. conn.close()
'
运行

三、Python操作PostgreSQL数据库

使用psycopg2库操作PostgreSQL数据库,其API与MySQL类似。

  1. import psycopg2
  2. # 连接PostgreSQL数据库
  3. conn = psycopg2.connect(
  4. dbname="your_database",
  5. user="your_username",
  6. password="your_password",
  7. host="127.0.0.1",
  8. port="5432"
  9. )
  10. cur = conn.cursor()
  11. # 查询操作
  12. cur.execute("SELECT * FROM your_table")
  13. rows = cur.fetchall()
  14. for row in rows:
  15. print(row)
  16. # 更新操作
  17. cur.execute("UPDATE your_table SET column_name = 'new_value' WHERE condition")
  18. # 提交事务并关闭连接
  19. conn.commit()
  20. cur.close()
  21. conn.close()

四、Python操作Oracle数据库

使用cx_Oracle库操作Oracle数据库。

  1. import cx_Oracle
  2. # 连接Oracle数据库
  3. dsn = cx_Oracle.makedsn('hostname', 'port', 'service_name')
  4. conn = cx_Oracle.connect(user='username', password='password', dsn=dsn)
  5. # 创建游标
  6. cursor = conn.cursor()
  7. # 执行SQL
  8. cursor.execute("SELECT * FROM your_table")
  9. # 获取结果
  10. rows = cursor.fetchall()
  11. # 提交事务
  12. conn.commit()
  13. # 关闭游标与连接
  14. cursor.close()
  15. conn.close()

五、Python操作Microsoft SQL Server

使用pyodbcpymssql库操作SQL Server数据库。

  1. import pyodbc
  2. # 连接SQL Server
  3. conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};'
  4. 'SERVER=server_name;'
  5. 'DATABASE=database_name;'
  6. 'UID=username;'
  7. 'PWD=password;')
  8. # 创建游标
  9. cursor = conn.cursor()
  10. # 执行查询
  11. cursor.execute("SELECT * FROM your_table")
  12. # 获取结果
  13. rows = cursor.fetchall()
  14. # 提交事务
  15. conn.commit()
  16. # 关闭游标与连接
  17. cursor.close()
  18. conn.close()

每个库都有其特有的API细节,但大体遵循DB-API规范,提供了创建连接、执行SQL语句、处理结果集等功能。在实际使用时,请确保安装了对应数据库的Python驱动程序,并查阅相应库的官方文档获取最新和最准确的用法信息。

结尾讨论点:

  • 在您的项目中,更倾向于选择哪种数据库进行数据存储?为什么?
  • 对于不同的数据库类型,如何根据业务需求选择合适的Python库进行高效操作?
  • 面对大数据量或高并发场景,如何优化Python与数据库的交互性能,降低延迟?

欢迎您在评论区分享实战经验,探讨Python操作数据库的最佳实践以及遇到的问题与解决方案!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/891500
推荐阅读
相关标签
  

闽ICP备14008679号