Python sa MySQL Povezivost: Baza podataka i tablica [Primjeri]

⚡ Pametni sažetak

Python povezuje se s MySQL baza podataka pomoću biblioteke mysql-connector. Ovdje ćete naučiti instalirati konektor, povezati se s MySQL, stvarati baze podataka i tablice, dodavati primarne ključeve, mijenjati tablice i umetati zapise s primjerima.

  • 🔌 Spojiti: poveznice mysql.connector.connect() Python do MySQL s domaćinom i vjerodajnicama.
  • 🗄️ Stvoriti: Pokrenite CREATE DATABASE i CREATE TABLE pomoću kursora.
  • Umetnuti: execute() INSERT upita, a zatim commit() za spremanje zapisa.
  • 🤖 Pomoć umjetne inteligencije: Alati umjetne inteligencije poput Copilota generiraju MySQL kod konektora odmah.

Python sa MySQL Povezivanje

Da biste mogli koristiti MySQL povezanost sa Python, morate nešto znati SQL

Prije nego što duboko zaronimo, shvatimo

Što je MySQL?

MySQL je baza podataka otvorenog koda i jedan od najboljih tipova RDBMS-a (Relational Database Management System). Suosnivač tvrtke MySQLdb je Michael Widenius, a također MySQL ime potječe od Michaelove kćeri.

Kako instalirati MySQL konektor Python on Windows, Linux/Unix

Instalirati MySQL u Linuxu/Unixu:

Preuzmite RPM paket za Linux/Unix sa službene stranice: https://www.mysql.com/downloads/

U terminalu koristite sljedeću naredbu

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

Za provjeru u Linuxu

mysql --version

Instalirati MySQL in Windows

Preuzimanje MySQL baza podataka exe iz službena stranica i instalirajte kao i obično normalnu instalaciju softvera u Windows. Pogledajte ovo udžbenik, za vodič korak po korak

Kako instalirati MySQL Biblioteka konektora za Python

Evo kako se povezati MySQL sa Python:

Za Python 2.7 ili niži instalirajte koristeći pip kao:

pip install mysql-connector

Za Python 3 ili višu verziju instalirajte koristeći pip3 kao:

pip3 install mysql-connector

Testirajte MySQL Veza baze podataka sa Python

Testirati MySQL povezivost baze podataka u Python ovdje ćemo koristiti unaprijed instalirane MySQL konektor i proslijedite vjerodajnice u Spojiti() funkcioniraju poput hosta, korisničkog imena i lozinke kao što je prikazano u nastavku Python MySQL primjer konektora.

Sintaksa za pristup MySQL sa Python:

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

Primjer:

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

Izlaz:

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

Ovdje izlaz pokazuje uspješno stvorenu vezu.

Stvaranje baze podataka u MySQL koristeći Python

Sintaksa za stvaranje nove baze podataka u SQL-u je

CREATE DATABASE "database_name"

Sada stvaramo bazu podataka pomoću programiranja baze podataka Python

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)

Izlaz:

Stvaranje baze podataka u MySQL

Ovdje gornja slika prikazuje moj_prvi_db kreirana je baza podataka

Napravite tablicu u MySQL sa Python

Kreirajmo jednostavnu tablicu “student” koja ima dva stupca kao što je prikazano u nastavku MySQL konektor Python primjer.

SQL sintaksa:

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

Primjer:

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)

Izlaz:

 ('student',)

Napravite tablicu s primarnim ključem

Kreirajmo Zaposlenik tablica s tri različita stupca. Dodat ćemo primarni ključ id stupac s ograničenjem AUTO_INCREMENT kao što je prikazano u nastavku Python projekt s povezivanjem baze podataka.

SQL sintaksa:

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

Primjer:

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)

Izlaz:

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

ALTER stol u MySQL sa Python

Alter naredba se koristi za modificiranje strukture tablice u SQL-u. Ovdje ćemo promijeniti student tablicu i dodajte a Osnovni ključ prema id polje kao što je prikazano u nastavku Python MySQL projekt konektora.

SQL sintaksa:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Primjer:

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")

Izlaz:

Ovdje ispod možete vidjeti id stupac je izmijenjen.

ALTER stol u MySQL

umetak Operacija s MySQL in Python:

Izvršimo operaciju umetanja u MySQL Tablica baze podataka koju smo već izradili. Umetnut ćemo podatke u tablicu STUDENT i tablicu DJELATNIK.

SQL sintaksa:

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

Primjer:

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")

Izlaz:

 2 Record Inserted

Pitanja i odgovori

Instalirajte mysql-connector s pip-om, a zatim pozovite mysql.connector.connect() sa svojim hostom, korisnikom i lozinkom kako biste dobili objekt veze.

Napravite kursor, a zatim pokrenite cursor.execute('CREATE DATABASE name'). Koristite SHOW DATABASES za potvrdu da je kreiran.

Povežite se, stvorite kursor i izvršite naredbu CREATE TABLE. Dodajte AUTO_INCREMENT PRIMARY KEY za automatsko numeriranje stupca s ID-om.

Izvršite SELECT upit s kursorom, a zatim pozovite fetchall() za sve retke ili fetchone() za jedan redak.

Pokrenite naredbu UPDATE ili DELETE s cursor.execute(), a zatim commit(). Uvijek dodajte klauzulu WHERE za ciljanje određenih redaka.

AI asistenti poput GitHub Copilota automatski dovršavaju kod konektora, generiraju CRUD upite i predlažu parametrizirane naredbe koje sprječavaju SQL injekciju.

Da. Alati pokretani umjetnom inteligencijom pišu funkcije povezivanja i CRUD funkcije, mapiraju tablice u klase i dodaju obradu pogrešaka za neuspješne upite.

commit() trajno sprema promjene. Bez njega, INSERT, UPDATE i DELETE operacije se poništavaju kada se veza zatvori, gubeći podatke.

Sažmite ovu objavu uz: