Introduction
Performing CRUD operations (Create, Read, Update, Delete) in an Oracle database using Python is an essential skill for developing enterprise-level applications. In this guide, we’ll walk through each CRUD operation step by step, using the cx_Oracle library for database interactions.
1. Setting Up Oracle Database:
- Begin by setting up an Oracle database and creating a table for our CRUD operations. For this example, let’s create a simple
employeestable.
CREATE TABLE employees (
id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY PRIMARY KEY,
name VARCHAR2(255),
position VARCHAR2(255)
);2. Installing the Oracle Connector:
- Install the
cx_Oraclelibrary using pip.
pip install cx_Oracle
- Additionally, you’ll need to download and install the Oracle Instant Client corresponding to your operating system. Follow the instructions provided by Oracle for installation.
3. Connecting to the Oracle Database:
- Create a Python script to connect to your Oracle database.
import cx_Oracle
# Replace 'your_username', 'your_password', 'your_host', and 'your_port' with your actual database credentials
conn = cx_Oracle.connect(
user='your_username',
password='your_password',
dsn=f'{your_host}:{your_port}/your_service_name'
)
cursor = conn.cursor()4. Create Operation:
- Write a function to add a new employee to the
employeestable.
def create_employee(name, position):
query = "INSERT INTO employees (name, position) VALUES (:1, :2)"
values = (name, position)
cursor.execute(query, values)
conn.commit()5. Read Operation:
- Retrieve employees from the
employeestable.
def read_employees():
query = "SELECT * FROM employees"
cursor.execute(query)
result = cursor.fetchall()
for employee in result:
print(employee)6. Update Operation:
- Update the position of a specific employee.
def update_employee_position(employee_id, new_position):
query = "UPDATE employees SET position = :1 WHERE id = :2"
values = (new_position, employee_id)
cursor.execute(query, values)
conn.commit()7. Delete Operation:
- Delete an employee from the
employeestable.
def delete_employee(employee_id):
query = "DELETE FROM employees WHERE id = :1"
values = (employee_id,)
cursor.execute(query, values)
conn.commit()8. Using the CRUD Operations:
- Utilize these functions to perform CRUD operations.
# Create a new employee
create_employee('John Doe', 'Software Engineer')
# Read all employees
read_employees()
# Update the position of employee with ID 1
update_employee_position(1, 'Senior Software Engineer')
# Read all employees after the update
read_employees()
# Delete employee with ID 2
delete_employee(2)
# Read all employees after the deletion
read_employees()9. Closing the Database Connection:
- After performing CRUD operations, it’s crucial to close the database connection.
cursor.close() conn.close()
Conclusion:
- This guide provides a comprehensive foundation for implementing CRUD operations in an Oracle database using Python. Adjust the functions as needed for your specific use case. Additionally, consider using an ORM (Object-Relational Mapping) library like SQLAlchemy for more complex applications.

