Эрик Кристенсон

Введение:

Python — популярный язык для веб-разработки, анализа данных и научных вычислений. Он прост в освоении и имеет большое и активное сообщество пользователей. Одним из преимуществ использования Python является его способность подключаться к различным базам данных для извлечения, создания, обновления и удаления данных. В этой статье мы узнаем, как подключиться к базе данных Oracle с помощью Python и выполнить основные операции CRUD (создание, чтение, обновление, удаление).

Предпосылки:

  • База данных Oracle, установленная на вашем компьютере или на удаленном сервере
  • Клиентская библиотека Oracle для Python (cx_Oracle), установленная на вашем компьютере
  • Базовые знания SQL

Шаг 1. Установите библиотеку cx_Oracle

Чтобы подключиться к базе данных Oracle из Python, вам потребуется установить библиотеку cx_Oracle. Эта библиотека позволяет Python подключаться к Oracle и взаимодействовать с ним с помощью SQL.

Чтобы установить cx_Oracle, откройте командную строку и введите следующую команду:

pip install cx_Oracle

Шаг 2. Подключитесь к базе данных

Для подключения к базе данных вам потребуется предоставить следующую информацию:

  • имя пользователя: имя пользователя для подключения к базе данных
  • пароль: пароль для имени пользователя
  • host: имя хоста или IP-адрес машины, на которой работает база данных.
  • порт: номер порта, на котором база данных прослушивает
  • service_name: имя службы базы данных

Вот пример того, как подключиться к базе данных с помощью Python:

import cx_Oracle

# Connect to the database
username = 'your_username'
password = 'your_password'
host = 'your_hostname'
port = 'your_port'
service_name = 'your_service_name'

dsn = cx_Oracle.makedsn(host, port, service_name=service_name)
connection = cx_Oracle.connect(username, password, dsn)

# Print the version of the Oracle server
cursor = connection.cursor()
cursor.execute('SELECT * FROM V$VERSION')
row = cursor.fetchone()
print(row[0])

# Close the cursor and connection
cursor.close()
connection.close()

Шаг 3. Выполнение операций CRUD

Теперь, когда вы подключены к базе данных, вы можете выполнять основные операции CRUD с помощью операторов SQL.

Вот некоторые примеры:

# Create a new record
cursor = connection.cursor()
cursor.execute("INSERT INTO users (id, name, age) VALUES (1, 'John', 30)")
connection.commit()
cursor.close()

# Read data
cursor = connection.cursor()
cursor.execute("SELECT * FROM users")
row = cursor.fetchone()
print(row) # (1, 'John', 30)
cursor.close()

# Update data
cursor = connection.cursor()
cursor.execute("UPDATE users SET age = 40 WHERE id = 1")
connection.commit()
cursor.close()

# Delete data
cursor = connection.cursor()
cursor.execute("DELETE FROM users WHERE id = 1")
connection.commit()
cursor.close()

Шаг 4. Закройте соединение

Когда вы закончите работу с базой данных, важно закрыть соединение, чтобы освободить ресурсы. Вы можете сделать это одним из двух способов:

Вы можете использовать метод close() объекта Connection. Вот пример:

import cx_Oracle

# Connect to the database
username = 'your_username'
password = 'your_password'
host = 'your_hostname'
port = 'your_port'
service_name = 'your_service_name'

dsn = cx_Oracle.makedsn(host, port, service_name=service_name)
connection = cx_Oracle.connect(username, password, dsn)

# Perform database operations
# ...

# Close the connection
connection.close()

В качестве альтернативы вы можете использовать оператор with для автоматического закрытия соединения после завершения работы с ним. Вот пример:

import cx_Oracle

# Connect to the database
username = 'your_username'
password = 'your_password'
host = 'your_hostname'
port = 'your_port'
service_name = 'your_service_name'

dsn = cx_Oracle.makedsn(host, port, service_name=service_name)

with cx_Oracle.connect(username, password, dsn) as connection:
    # Perform database operations
    # ...

# Connection is automatically closed here