Python с MySQL: подключение, создание базы данных, таблица, вставка (примеры)

Содержание:

Anonim

Чтобы работать с 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 database exe с официального сайта и установите обычную установку программного обеспечения в Windows. Обратитесь к этому руководству, чтобы получить пошаговое руководство

Установите библиотеку коннекторов MySQL для 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 table в 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 Database, которую мы уже создали. Мы вставим данные из таблицы 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