Учебники

55) Python с MySQL

Чтобы работать с MySQL, используя Python, вы должны иметь некоторые знания SQL

Прежде чем углубляться, давайте разберемся

Что такое MySQL?

MySQL — это база данных с открытым исходным кодом и один из лучших типов СУБД (реляционная система управления базами данных). Соучредителем MySQLdb является Майкл Видениус, а также имя MySQL происходит от дочери Майкла.

Как установить MySQL

Установите MySQL в Linux / Unix:

Загрузите RPM-пакет для Linux / Unix с официального сайта: https://www.mysql.com/downloads/

В терминале используйте следующую команду

rpm  -i <Package_name>
Example   rpm -i MySQL-5.0.9.0.i386.rpm

Проверить в линуксе

mysql --version

Установите MySQL в Windows

Скачайте exe базы данных MySQL с официального сайта и установите обычную обычную установку программного обеспечения в Windows. Обратитесь к этому руководству за пошаговым руководством

Установите MySQL Connector Library для Python

Для Python 2.7 или ниже установите pip как:

pip install mysql-connector

Для Python 3 или более поздней версии установите с помощью pip3 как:

pip3 install mysql-connector 

Проверьте соединение базы данных MySQL с Python

Для проверки соединения с базой данных здесь мы используем предустановленный коннектор MySQL и передаем учетные данные в функцию connect (), такую ​​как host, username и password.

Синтаксис для доступа к MySQL через Python:

	import mysql.connector
	db_connection = mysql.connector.connect(
  	host="hostname",
  	user="username",
  	passwd="password"
    )

Пример,

import mysql.connector
db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root"
)
print(db_connection)

Вывод:

<mysql.connector.connection.MySQLConnection object at 0x000002338A4C6B00>

Здесь вывод показывает успешно созданное соединение.

Создание базы данных в MySQL с использованием Python

Синтаксис для создания новой базы данных в SQL

CREATE DATABASE "database_name"

Теперь мы создаем базу данных с использованием Python в MySQL

  import mysql.connector
  db_connection = mysql.connector.connect(
  host= "localhost",
  user= "root",
  passwd= "root"
  )
# creating database_cursor to perform SQL operation
db_cursor = db_connection.cursor()
# executing cursor with execute method and pass SQL query
db_cursor.execute("CREATE DATABASE my_first_db")
# get list of all databases
db_cursor.execute("SHOW DATABASES")
#print all databases
for db in db_cursor:
	print(db)

Вывод:

Здесь выше изображение показывает, что база данных my_first_db создана

Создать таблицу в MySQL с Python

Let’s create a simple table «student» which has two columns.

SQL Syntax:

CREATE  TABLE student (id INT, name VARCHAR(255))

Example:

  import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as student'
db_cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")
#Get database table'
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)

Output:

 ('student',) 

Create a Table with Primary Key

Let’s create an Employee table with three different columns. We will add a primary key in id column with AUTO_INCREMENT constraint

SQL Syntax,

CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))

Example,

  import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here creating database table as employee with primary key
db_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")
#Get database table
db_cursor.execute("SHOW TABLES")
for table in db_cursor:
	print(table)	

Output:

('employee',) ('student',)

ALTER table in MySQL with Python

Alter command is used for modification of Table structure in SQL. Here we will alter Student table and add a primary key to the id field.

SQL Syntax,

ALTER TABLE student MODIFY id INT PRIMARY KEY

Example,

  import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
#Here we modify existing column id
db_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")

Output:

Here below you can see the id column is modified.

Insert Operation with MySQL in Python:

Давайте выполним операцию вставки в таблицу базы данных MySQL, которую мы уже создали. Мы вставим данные таблицы STUDENT и таблицы EMPLOYEE.

Синтаксис SQL,

INSERT INTO student (id, name) VALUES (01, "John")
INSERT INTO employee (id, name, salary) VALUES(01, "John", 10000)

Пример,

  import mysql.connector
  db_connection = mysql.connector.connect(
  host="localhost",
  user="root",
  passwd="root",
  database="my_first_db"
  )
db_cursor = db_connection.cursor()
student_sql_query = "INSERT INTO student(id,name) VALUES(01, 'John')"
employee_sql_query = " INSERT INTO employee (id, name, salary) VALUES (01, 'John', 10000)"
#Execute cursor and pass query as well as student data
db_cursor.execute(student_sql_query)
#Execute cursor and pass query of employee and data of employee
	db_cursor.execute(employee_sql_query)
db_connection.commit()
print(db_cursor.rowcount, "Record Inserted")

Вывод:

 2 Record Inserted