За да работите с MySQL с помощта на Python, трябва да имате известни познания по SQL
Преди да се потопите дълбоко, нека разберем
Какво е MySQL?
MySQL е база данни с отворен код и един от най-добрите видове RDBMS (Релационна система за управление на база данни). Съосновател на 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 Library за 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',)
Създайте таблица с първичен ключ
Нека създадем таблица на служител с три различни колони. Ще добавим първичен ключ в колона id с ограничение 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. Тук ще променим таблицата на Student и ще добавим първичен ключ към полето id .
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, която вече създаваме. Ще вмъкнем данни o таблица 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