Для того, щоб працювати з MySQL за допомогою Python, ви повинні мати певні знання SQL
Перш ніж зануритися вглиб, давайте розберемось
Що таке MySQL?
MySQL - це база даних з відкритим кодом і один з найкращих типів СУБД (Реляційна система управління базами даних). Співзасновником MySQLdb є Майкл Віденій, а також ім'я MySQL походить від дочки Майкла.
Як встановити MySQL
Встановіть MySQL в Linux / Unix:
Завантажте пакет RPM для Linux / Unix з офіційного сайту: https://www.mysql.com/downloads/
У терміналі використовуйте наступну команду
rpm -i
Example rpm -i MySQL-5.0.9.0.i386.rpm
Щоб перевірити Linux
mysql --version
Встановіть MySQL в Windows
Завантажте базу даних MySQL exe з офіційного сайту та встановіть, як зазвичай, звичайну інсталяцію програмного забезпечення в Windows. Зверніться до цього посібника для покрокового керівництва
Встановіть бібліотеку MySQL Connector для Python
Для встановлення Python 2.7 або старішої версії, використовуючи pip як:
pip install mysql-connector
Для версії Python 3 або новішої версії встановіть за допомогою pip3 як:
pip3 install mysql-connector
Перевірте підключення бази даних MySQL за допомогою Python
Для тестування з'єднання з базою даних ми використовуємо попередньо встановлений роз'єм MySQL і передаємо облікові дані у функцію connect (), як-от хост, ім'я користувача та пароль.
Синтаксис доступу до MySQL за допомогою Python:
import mysql.connectordb_connection = mysql.connector.connect(host="hostname",user="username",passwd="password")
Приклад,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root")print(db_connection)
Вихід:
Тут висновок показує підключення, створене успішно.
Створення бази даних у MySQL за допомогою Python
Синтаксис для створення нової бази даних у SQL є
CREATE DATABASE "database_name"
Тепер ми створюємо базу даних за допомогою Python в MySQL
import mysql.connectordb_connection = mysql.connector.connect(host= "localhost",user= "root",passwd= "root")# creating database_cursor to perform SQL operationdb_cursor = db_connection.cursor()# executing cursor with execute method and pass SQL querydb_cursor.execute("CREATE DATABASE my_first_db")# get list of all databasesdb_cursor.execute("SHOW DATABASES")#print all databasesfor db in db_cursor:print(db)
Вихід:
Тут вище зображення показано, що створена база даних my_first_db
Створіть таблицю в MySQL за допомогою Python
Давайте створимо просту таблицю "студент", яка має два стовпці.
Синтаксис SQL:
CREATE TABLE student (id INT, name VARCHAR(255))
Приклад:
import mysql.connectordb_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)
Вихід:
('student',)
Створіть таблицю з первинним ключем
Давайте створимо таблицю Employee з трьома різними стовпцями. Ми додамо первинний ключ у стовпець ідентифікатора з обмеженням AUTO_INCREMENT
Синтаксис SQL,
CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))
Приклад,
import mysql.connectordb_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 keydb_cursor.execute("CREATE TABLE employee(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")#Get database tabledb_cursor.execute("SHOW TABLES")for table in db_cursor:print(table)
Вихід:
('employee',) ('student',)
Таблиця ALTER в MySQL з Python
Команда Alter використовується для модифікації структури таблиці в SQL. Тут ми змінимо таблицю Студента і додамо первинний ключ до поля ідентифікатора .
Синтаксис SQL,
ALTER TABLE student MODIFY id INT PRIMARY KEY
Приклад,
import mysql.connectordb_connection = mysql.connector.connect(host="localhost",user="root",passwd="root",database="my_first_db")db_cursor = db_connection.cursor()#Here we modify existing column iddb_cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")
Вихід:
Тут нижче ви можете побачити змінений стовпець id .
Вставити операцію з MySQL в 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.connectordb_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 datadb_cursor.execute(student_sql_query)#Execute cursor and pass query of employee and data of employeedb_cursor.execute(employee_sql_query)db_connection.commit()print(db_cursor.rowcount, "Record Inserted")
Вихід:
2 Record Inserted