ITPub博客

首页 > 数据库 > > 如何使用Python连接MariaDB

如何使用Python连接MariaDB

作者:u_9ff4c058a0e0 时间:2022-03-01 14:41:49 0 删除 编辑
我们在本文讲解使用Python连接MariaDB,管理其中之数据,包括服务器,MaxScale以及SkySQL


准备和安装


可以在官网上下载MariaDB Server。具体请参考手册。


MariaDB通过MariaDB Connector为Python提供支持,也可以通过Python Package Index获得支持。


安装方法,请使用如下命令:


pip install mariadb


连接到MariaDB


1 首先导入模块

import mariadb


2 使用connect()函数与数据库连接。包括一系列参数,如用户名,主机名,密码。


3 使用cursor()在连接中检索游标。


游标为开发者提供了与服务器交互的界面,例如运行SQL查询和管理事务。


# Module Imports


import mariadb

import sys 


# Connect to MariaDB Platform

try: conn = mariadb.connect( 

    user="db_user", 

    password="db_user_passwd", 

    host="192.0.2.1", 

    port=3306, 

    database="employees" 

) except mariadb.Error as e: 

    print(f"Error connecting to MariaDB Platform: {e}") 

    sys.exit(1) 

# Get Cursor 

cur = conn.cursor()


接收数据


初始化数据库连接后,就可以处理数据。第一件事可以尝试从数据库检索信息。如下查询代码:



cur.execute(

    "SELECT first_name,last_name FROM employees WHERE first_name=?", 

    (some_name,))


MariaDB Connector使用prepare语句,将元组中的值插入到?号位置,这样更为安全。


查询字段:

# Print Result-set

for (first_name, last_name) in cur: 

    print(f"First Name: {first_name}, Last Name: {last_name}")


每行从游标作为元组传递,该元组包含SELECT中的字段。


新增数据


execute()函数是执行INSERT语句的方法,向表中添加新的行:


cursor.execute(

    "INSERT INTO employees (first_name,last_name) VALUES (?, ?)", 

    (first_name, last_name))


默认情况下,为自动提交。如果想手动管理事务,可以通过autocommit的属性设置为false来禁用它。


# Disable Auto-Commit

conn.autocommit = False


这样,可以使用commit()和rollback()方法来提交和回滚事务。在MariaDB中,使用Innodb存储引擎可以在一张表中执行多个并发事务,不需要手动锁定。


捕捉异常


如果想在执行SQL时捕获异常,可以使用error类:


try: 

    cursor.execute("some MariaDB query"))

except mariadb.Error as e: 

    print(f"Error: {e}")


完成数据库操作后,确保关闭,避免打开未使用的连接。


conn.close()


来源 https://mp.weixin.qq.com/s/_ij7PjzfHiG2aVTgfu7amw

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3144432/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-11

  • 博文量
    1828
  • 访问量
    20594