Чтобы работать с 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