MySQL Python

MySQL Python : About MySQL

  • MySQL is a fast, easy to use relational database. It is currently the most popular open-source database
  • MySQL is used for many small and big businesses. It is developed, marketed and supported by MySQL AB, a Swedish company. It is written in C and C++.
  • MySQL is an open-source database, so you don’t have to pay a single penny to use it.

MySQL Features

  • MySQL is a fast, easy to use relational database.
  • MySQL is used for many small and big businesses.
  • MySQL is an open-source database, so you don’t have to pay for it.

Download MySQL

Follow these steps:

Go to MySQL official website http://www.mysql.com/downloads/

Choose the version number for MySQL community server which you want.

MySQL Python Connector

MySQL Python Connector is used to access the MySQL database from Python, you need a database driver. MySQL Connector/Python is a standardized database driver provided by MySQL.

To check it wether mysql.connector is available or not we type following command

>>> import mysql.connector

MySQL with Python 1

After typing this we clearly say that No Module Named as a MySQL is present.

Then we have to install MySQL. Connector for Python. Python needs a MySQL driver to access the MySQL database.

So, in next we download the mysql-connector with use of pip

C:\Users\Nitin Arvind Shelke>pip install mysql-connector

MySQL with Python 2

After installation we test it whether it work or not, lets check with the following command

>>> import mysql.connector

MySQL with Python 3

The above line imports the MySQL Connector Python module in your program, so you can use this module’s API to connect MySQL.

If the above code was executed with no errors, the we can say that “MySQL Connector” is installed properly and get ready to use of it.

>>>from mysql.connector import Error

MySQL connector Error object is used to show us an error when we failed to connect Databases or if any other database error occurred while working with the database.

Power BI Training

Creating a connection to the database.

After installing the MySQL Python connector, we need to test it to make sure that it is working correctly, and you can connect to the MySQL database server without any problems. To verify the installation, you use the following steps:

Type the following line of code

>>> import mysql.connector

To establish a connection to the database we should know the following parameters,

Host= localhost (In general it is same for all)

Database=mysql (You can set as per your wish)

User=root (It is a username)

Password= root@123 (password set by me while installation of MyQL)

>>> mysql.connector.connect( host = 'localhost', database = 'mysql', user = 'root', password = 'root@123')

MySQL with Python 4
Show the available Database

You can check if a database exists on your system by listing all databases in your system by using the “SHOW DATABASES” statement:

>>> my_database = mysql.connector.connect( host = 'localhost', database = 'mysql', user = 'root', password = 'root@123')

>>> cursor = my_database.cursor()

>>> cursor.execute( " show databases " )

>>> for db in cursor:

...  print(db)

...

Output

('bank',)

('information_schema',)

('mysql',)

('performance_schema',)

('sakila',)

('sys',)

('world',)

>>>

MySQL with Python 5

Creating a Database

To create a database in MySQL, we use the “CREATE DATABASE” statement to create the database named as “college”:

>>> my_database = mysql.connector.connect( host = 'localhost', user = 'root', password = 'root@123' )

>>> cursor = my_database.cursor()

>>> cursor.execute( " CREATE DATABASE college "  )

>>> for db in cursor:

...  print(db)

...

>>> cursor.execute( " show databases " )

>>> for db in cursor:

...  print(db)

...

MySQL with Python 6

Creating the Tables

Next, we create the tables for the ‘college’ database.

It is compulsory to define the name of the database while creating the tables for it.

Syntax to create the table is

create table_name(

column 1 datatype,

column 2 datatype,

column 3 datatype,

…………………………………………,

column n datatype

)

Let’s create the table students, department and faculty for the database college.

>>> my_database = mysql.connector.connect ( host = 'localhost', database = 'college', user = 'root', password = 'root@123' )

>>> cursor = my_database.cursor()

>>>cursor. execute( " CREATE TABLE students ( stud_id varchar(200), stud_name VARCHAR(215), address VARCHAR(215), city char(100)) " )

>>> cursor. execute( " CREATE TABLE department ( dept_id varchar(200), dept_name VARCHAR(215)) " )

>>> cursor.execute( "CREATE TABLE faculty (  faculty_id varchar(200),faculty_name VARCHAR(215) )"  )

Show the tables

To display the tables, we will have to use the “SHOW TABLES”

Following code display the all the tables present in the database “college”

>>> cursor. execute ( " SHOW TABLES " )

>>> for x in cursor:

...      print(x)

...

('department',)

('faculty',)

('students',)

MySQL with Python 7

Assign Primary key in table

Primary key : It is a minimal set of attributes (columns) in a table or relation that can uniquely identifies tuples (rows) in that table.

For example, Student (Stud_Roll_No,  Stud_Name,  Addr)

In the student relation, attribute Stud_Roll_No alone is a primary key as each student has a unique id that can identify the student record in the table.

>>> my_database = mysql.connector.connect ( host = 'localhost', database = 'college', user = 'root', password = 'root@123' )

>>> cursor = my_database.cursor()

>>>cursor. execute( " CREATE TABLE students2 ( stud_id varchar(200) PRIMARY KEY, stud_name VARCHAR(215), address VARCHAR(215), city char(100)) " )

If the table already exists, use the ALTER TABLE keyword:

>>> my_database = mysql.connector.connect ( host = 'localhost', database = 'college', user = 'root', password = 'root@123' )

>>> cursor = my_database.cursor()

>>>cursor.execute( " ALTER TABLE student ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY " )

Describe the created tables

Desc keyword is used to describe the table in MySQL.

Following code describe the students table from the database college

>>> cursor.execute("desc students")

>>> for x in cursor:

...     print(x)

...

('stud_id', 'varchar(200)', 'YES', '', None, '')

('stud_name', 'varchar(215)', 'YES', '', None, '')

('address', 'varchar(215)', 'YES', '', None, '')

('city', 'char(100)', 'YES', '', None, '')

>>>

Example 2

Following code describe the students2 (where stud_id is mentioned as primary key) table from the database college

>>> cursor.execute("desc students2")

>>> for x in cursor:

...     print(x)

...

('stud_id', 'varchar(200)', 'NO', 'PRI', None, '')

('stud_name', 'varchar(215)', 'YES', '', None, '')

('address', 'varchar(215)', 'YES', '', None, '')

('city', 'char(100)', 'YES', '', None, '')

>>>

MySQL with Python 8

Insert data into the Table

To insert the data into the table, “insert into” statement is used,

Let’s insert the data into the table students of college database,

>>> my_database = mysql.connector.connect ( host = 'localhost', database = 'college', user = 'root', password = 'root@123' )

>>> stm = " INSERT INTO students ( stud_id, stud_name, address, city ) VALUES ('101','Nitin Shelke', 'Congress Nagar', 'Amravati' ) "

>>> cursor = my_database.cursor()

>>> cursor.execute(stm)

Display or select the inserted data from the Table

>>> cursor.execute(" select * from students")

>>> for x in cursor:

...     print(x)

...

('101', 'Nitin Shelke', 'Congress Nagar', 'Amravati')

MySQL with Python 9

Alternate way is to use the fetchall() method

>>> cursor.fetchall()

[(‘101’, ‘Nitin Shelke’, ‘Congress Nagar’, ‘Amravati’)]

MySQL with Python 10

Leave a reply:

Your email address will not be published.

Site Footer