×

Python MySQL

In this article, we are going to learn the following:

  • How to connect Python to MySQL.
  • How to create a new Database.
  • Procedure for connecting the newly created database.
  • Procedure for connecting the already existing database.
  • Write SQL queries.

What is MySQL?

The most used Database management system is MySQL. SQL stands for Structured Query Language. This is almost similar to all programming languages that we generally have. But the major difference between Programming languages and Structured Query languages is Structured Query languages run with queries, whereas Programming languages run with programs and codes. One of the servers that can implement SQL is MySQL. MySQL is one of the best Database management systems because it is extremely easy to install free of cost, it is easy to use, it runs with great speed, and it is highly secured. MySQL is available for all operating systems (OS), which includes Windows, Mac OS, Linux, etc.

What are Database Management Systems?

Databases are used to store the data, including all the safety that is needed, and they retrieve the data whenever it is required. The systems that can manage all the data within the databases are known as Database Management Systems. To access the data that is stored in the database, we are supposed to have many permissions from that particular admin.

In java, we have JDBC drivers, i.e., Java Data Base Connectivity drivers, to develop a bridge between any Structured Query language ( like MySQL ) and Programming language ( Java ).

Python MySQL

To have a bridge or connection between python and SQL, python does not have any inbuilt drivers. So, we are supposed to download and install such drivers or software like MySQL.

Step-by-step procedure for arranging a connection and interaction between Python and MySQL:

  1. Install MySQL
  2. Connect Python to MySQL server using required drivers
  3. Create a database
  4. Link the new database or existing database
  5. Writing SQL queries and execution
  6. Close the connectivity to the MySQL server

1. Install MySQL

MySQL is used by python to initiate access to databases and form connectivity between python and databases. We generally use the " MySQL connector " driver to perform these actions. Firstly, we are supposed to install the MySQL driver before initiating and importing the " MySQL connector ". 

The syntax for importing MySQL driver using MySQL connector:


# the driver “ MySQL connector “ must be imported initially
import mysql.connector

You'll not get any errors if the drivers have been successfully installed. The error is a form of indication that the drivers are not installed properly.

2. Connect Python to MySQL server

After the installation of the required drivers, they need to be imported. After that, the user's credentials are needed to be given, including passwords.

The syntax for creating a connection or a bridge between MySQL server and Python:


# the driver MySQL connector must be imported initially
import mysql.connector
# the database “ data_base “ is being created within the current user MySQL server and waiting for the access
data_base = mysql.connector.connect(
    user = " name of your current admin user "
    password = " password of your current admin user "
    host = " localhost "
)
# printing the path of the connectivity of database with python
print(data_base)


The output of this code will be the path of the database connectivity.

After the connection is made between python and MySQL, we can give queried language code to perform further operations.

3. Creation of a Database

Now, we can use queried language In order to perform these types of actions.

The syntax for creating a new database:

CREATE DATABASE new_database_name;

A new database is created with the name " new_database_name ". In python, we do not use semicolons, i.e., " ; " at the end of the statements. But, coming to the queried languages like MySQL, we use a semicolon to indicate the end of the statement. As we have imported MySQL to python, we need to put a semicolon at the end of every statement as soon as the database is linked with python. We are supposed to use the " cursor " method to gain access to databases ( newly created ones or the existing ones ). The cursor method helps you to have access to a particular database. In order to execute SQL queries, we need to use the cursor method, i.e., " cursor() “.

4. Cursor method [ cursor() ]:

The cursor method gives complete access to the database records and connects the Python to MySQL connector, which in turn reflects with the MySQL server. So, the job of the cursor method is to stand as a mediator between the MySQL server and MySQL connector. In other words, the cursor is an instance of MySQLcursor class. In order to create a cursor, we generally call it the cursor method or cursor().

 Syntax for creating cursor or creating an instance of MySQLcursor class:

# creating an instance of MySQLcursor class
cursor = connection.cursor()

Whenever a query needs to be executed, it is sent to the method " cursor.execute() " ( where the cursor is the created or instantiated object in MySQLcursor class ) initially in the form of a string and then that particular query will be considered.

Example notation for creating a new database and defining a query using the instance of MySQLcursor class “cursor”:

# the driver MySQL connector must be imported initially
import mysql.connector


# the database “ data_base “ is being created within the current user MySQL server and waiting for the access
data_base = mysql.connector.connect(
    user = " name of your current admin user "
    password = " password of your current admin user "
    host = " localhost "
)
# creating a database query 
database_query = "CREATE DATABASE new_data_base_query_creation" 


# creating cursor or creating an instance of MySQLcursor class
cursor = connection.cursor()


# linking the statement “ database_query “ to the cursor to identify that particular statement as a query
cursor.execute(database_query)

If the code is executed without any errors, then you’ll find a new database in the MySQL server, i.e., denoting the creation of a new database " database_query " through a query is successful. The statement that is given is taken as a string and then converted into a query with the help of " cursor.execute() ". Being a query, the new database is created according to the command given within it. So, after the completion of the creation of the new database, it will be available on the MySQL server.

Example notation for defining a query using the instance of MySQLcursor class "cursor" with an existing database:

# the driver MySQL connector must be imported initially
import mysql.connector


# the database “ data_base “ is being created within the current user MySQL server and waiting for the access
data_base = mysql.connector.connect(
    user = " name of your current admin user "
    password = " password of your current admin user "
    host = " localhost " 
    existing_db = " my_name "
)


# printing the already existing database
print(data_base)

The output of this program will be the name of the existing database, i.e., " my_name ". This output indicates the successful connection with the existing database.

What if you want to know what all databases are already being existed in your computer system? What should you do to display all those names using Python MySQL connectivity? Let us learn how to perform this operation.

Example notation for printing all names of the existing databases in the computer system:

# the driver MySQL connector must be imported initially
import mysql.connector


# the database “ data_base “ is being created within the current user MySQL server and waiting for the access
data_base = mysql.connector.connect(
    user = " name of your current admin user "
    password = " password of your current admin user "
    host = " localhost "
)
# creating a database query 
database_query = " SHOW DATABASES " 


# creating cursor or creating an instance of MySQLcursor class
cursor = connection.cursor()


# linking the statement “ database_query “ to the cursor to identify that particular statement as a query
cursor.execute(database_query)


# printing all the existing databases using a for loop 
for x in cursor:
    print(x)

The code prints all existing databases within the system using for loop. The statement that is given with the name of " database_query " is taken as a string and then converted into a query with the help of " cursor.execute() ". Being a query, the databases that are present will be printed according to the command given within it. We have used "for loop" because we are not sure about the number of databases that are already present. So, to print all databases, it would be easy if we execute with the help of for loop. For every iteration, one name of the existing database will be printed.

Close the connectivity to the MySQL server or a particular database

We use the " close() " method when we wish to stop someone from accessing that database.

The syntax for closing the database:


database_name.close()


Let us consider the above example and close the access to that database.


# the driver MySQL connector must be imported initially
import mysql.connector


# the database “ data_base “ is being created within the current user MySQL server and waiting for the access
data_base = mysql.connector.connect(
    user = " name of your current admin user "
    password = " password of your current admin user "
    host = " localhost "
)
# creating a database query 
database_query = " SHOW DATABASES " 


# creating cursor or creating an instance of MySQLcursor class
cursor = connection.cursor()


# linking the statement “ database_query “ to the cursor to identify that particular statement as a query
cursor.execute(database_query)


# printing all the existing databases using a for loop 
for x in cursor:
    print(x)


# close the access to the database
data_base.close()

Note: If at all you want to access the same database after closing, you have to reconnect it.


Related Topics

Compound Interest GUI Calculator using PyQt5 in Python

GUI: One of the most significant factors that increased the usability of computer and digital technologies for common, less tech-savvy users is likely the development and widespread adoption of GUIs. GUIs...

6 minutes read.

Python program to find the GCD or HCF

Python program to find the GCD or HCF The largest positive integer that perfectly divides the two numbers is the HCF (Highest Common Factor) or GCD (Greatest Common Deviser). For example,...

5 minutes read.

Python Comment Block

In this tutorial, we will see what comment blocks mean in Python. Further, we will see the commenting methods supported in Python. We will understand the topics deeply with the...

6 minutes read.

After Python, What Should I Learn

Python is a programming language used to create websites, software, and other projects. It is easy to code and easy to learn. After learning Python, there are many different directions...

4 minutes read.

Python List insert() method

Python List insert() method The list.insert () method in Python inserts an item at the specified position. Syntax list.insert(i, x) Parameter i: This parameter represents a number specifying the position to insert the given value. x: This parameter signifies...

1 minute read.

Python zip() Function

Python zip() Function The zip() function makes an iterator that aggregates elements from each of the iterables and returns an iterator of tuples. Syntax zip(*iterables) Parameter iterables: Iterator objects that will be joined together Return This function...

1 minute read.

How to set font for Text in Python

As a tuple with the font family as the first component, a size in point as the second, and possibly a string with one or more of the style modifiers...

5 minutes read.

Sys Module in Python

What are Modules? The Modules are the kind of files that contain Python statements and definitions. The module is known by the name of the file followed by the suffix “.py”....

5 minutes read.

Self in Python

 “self" is neither a keyword nor has a special meaning in Python, but it has a place and a job to do in Object-oriented programming. When we create a class...

6 minutes read.

How to make a firewall in Python?

Firewall: The firewall is a network which controls the incoming and outgoing network traffics of a monitor. It blocks the dataset based on the set of rules written in the security...

3 minutes read.

Python Break Statement

In Python, loops are used to automate and repeat processes in an effective manner. However, there may be occasions when you wish to entirely exit the loop, skip an iteration,...

2 minutes read.

Python String Variable

Python programming language: Python is an interactive and more accessible language than any other programming language. The python programming language uses a variety of libraries to perform the operations in a...

4 minutes read.

Python Marshmallow

Python:  Python programming language is one of the most used programming languages, as it is used widely in the field of software and data analysis, web development, etc. It is said...

3 minutes read.

How to append a string in python

Adding or appending a string to another string is easy in Python. It is called concatenation and is a basic concept of strings in almost all programming languages. Ways to Append...

4 minutes read.

GET and POST requests using Python

‘GET’ and ‘POST’ are two request methods of Hypertext Transfer Protocol (HTTP). What is HTTP? HTTP stands for Hypertext Transfer Protocol. It is a collection of protocols which makes communication between client...

4 minutes read.

Reverse a String in Python

Python is an object-oriented high-level programming language. Python has dynamic semantics and has high-level built-in data structures which support dynamic typing and dynamic binding. Python provides rapid development. It has...

4 minutes read.

Python exe() function

Python exe() function The exec() function in Python executes the specified Python code and accepts large blocks of code. It supports dynamic execution of Python code where the object must be either a string...

1 minute read.

Python Printf Style Formating

String objects have one special implicit activity: the % administrator (modulo). This is otherwise called the string designing or interjection administrator. Given design % values (where configuration is a string),...

3 minutes read.

Python program to add two number

Python program to add two number This program will add the two numbers and display their sum on the screen. Example: Input: Number1 = 20        Number2 = 30   Output: Sum =...

2 minutes read.

Python reversed() Function

Python reversed() Function The reversed() in Python returns a reverse iterator. Syntax reversed(seq) Parameter seq: This parameter represents any iterable object. Return This function returns a reversed iterator object. Example 1 # Python Program describing # the reversed() function ...

1 minute read.