Для работы с Mariadb в скриптах python можно использовать модуль python mariadb.
Установку данного модуля необходимо проводить, если в системе уже установлен python3 и mariadb.
Перед установкой самого модуля нужно установить рекомендованные пакеты:
# sudo yum install pip
# sudo yum install python3-devel
# sudo yum install openssl
Затем необходимо установить репозитарий "CS Package Repository"
# wget https://r.mariadb.com/downloads/mariadb_repo_setup
# sudo ./mariadb_repo_setup
Из установленного репозитария, установить драйвер «MariaDB Connector/C»
# sudo yum install MariaDB-shared MariaDB-devel
Теперь можно наконец-то установить сам модуль mariadb:
# pip install mariadb
Скрипт установки репозитария можно удалить:
# rm -f mariadb_repo_setup
Для использования модуля mariadb файл
import mariadb
import sys
# Установка соединения:
try:
conn = mariadb.connect(
host="10.10.10.1",
port=3306,
user="user1",
password="password1",
database="db1")
cur = conn.cursor()
except mariadb.Error as e:
print(f"Error connecting to the database: {e}")
sys.exit(1)
# Запрос данных:
try:
cur.execute("SELECT ids, ne_name FROM nes LIMIT 10")
except mariadb.Error as e:
print(f"Error: {e}")
# Вывод данных:
for ids, ne_name in cur:
print(f"ids: {ids}, ne_name: {ne_name}")
"""
Вывод будет в таком виде:
ids: 14, ne_name: SMA-UKGD-R1
ids: 15, ne_name: SMA-UKGD-S1
ids: 16, ne_name: SMA-Avr150-S1
...
"""
print(cur.fetchall())
"""
Вывод будет в таком виде:
[(14, 'SMA-UKGD-R1'), (15, 'SMA-UKGD-S1'), (16, 'SMA-Avr150-S1')...]
"""
Вывод данных в виде ассоциативного массива:
cur = conn.cursor(dictionary=True)
try:
cur.execute("SELECT ids, ne_name FROM nes LIMIT 10")
except mariadb.Error as e:
print(f"Error: {e}")
result = cur.fetchall()
for x in result:
print(x)
"""
Вывод будет в таком виде:
{'ids': 14, 'ne_name': 'SMA-UKGD-R1'}
{'ids': 15, 'ne_name': 'SMA-UKGD-S1'}
{'ids': 16, 'ne_name': 'SMA-Avr150-S1'}
...
"""
# Закрытие соединения
conn.close()
Комментариев нет:
Отправить комментарий