DEV Community

Gias Uddin
Gias Uddin

Posted on • Updated on

Connecting Mysql with python sqlalchemy orm.

To connect to a MySQL database using SQLAlchemy's ORM, you first need to install the mysql-connector-python package, which provides a Python driver for the MySQL database. You can install it using pip like this:

pip install mysql-connector-python
Enter fullscreen mode Exit fullscreen mode

Once the driver is installed, you can use it to create a connection to the database. To do this, you'll need to know the hostname, port, username, and password for the MySQL server. You can then create a Connection object using the mysql.connector.connect() function, like this:

from mysql.connector import connect

conn = connect(
    host="localhost",
    port=3306,
    user="myuser",
    password="mypassword",
    database="mydatabase",
)
Enter fullscreen mode Exit fullscreen mode

Once you have a connection to the MySQL database, you can use it to create a Session object in SQLAlchemy. This is the object that you'll use to query and manipulate data in the database. To create a Session object, you'll need to create a SessionMaker object and then call its make_session() method, like this:

from sqlalchemy.orm import sessionmaker

SessionMaker = sessionmaker(bind=conn)
session = SessionMaker.make_session()
Enter fullscreen mode Exit fullscreen mode

Now that you have a Session object, you can use it to query and manipulate data in the database. You'll need to define your classes and map them to database tables, as described in the previous answer. Then you can use the query() method of the Session object to create a query, and use the various methods of the query object to filter, sort, and group the results.

For example, let's say we want to retrieve a list of all users from the "users" table in the database:

users = session.query(User).all()
Enter fullscreen mode Exit fullscreen mode

Here, we use the query() method to create a query for our User class, and then use the all() method to execute the query and retrieve a list of all users in the database.

Alternatively, you can use the Session object's** add(), update(), delete(),** and other methods to manipulate data in the database. For example, let's say we want to create a new user in the "users" table:

user = User(name="John Doe", email="johndoe@example.com")
Enter fullscreen mode Exit fullscreen mode

In conclusion, SQLAlchemy's ORM is a powerful and flexible tool for working with databases in Python. It allows you to define and map classes to database tables, and then use those classes to query and manipulate data in the database. Its SQL Expression Language provides an intuitive and convenient way to build and execute SQL queries, and its additional features and capabilities make it a valuable tool for any Python developer working with databases. To connect to a MySQL database using the ORM, you'll need to install the mysql-connector-python package and create a Connection and Session object. Then you can use the Session object to query and manipulate data in the database.

Thank you for reading my article! If you enjoyed it and would like to support my work, please consider buying me a coffee at Buy Me a Coffee. You can also learn more about me and my work by visiting my Giasuddin Bio and following me on LinkedIn and Twitter. Thank you for your support!

Top comments (0)