Python med MySQL Tilkobling: Database og tabell [Eksempler]

⚡ Smart oppsummering

Python kobles til en MySQL databasen ved hjelp av mysql-connector-biblioteket. Her lærer du å installere koblingen, koble til MySQL, opprette databaser og tabeller, legge til primærnøkler, endre tabeller og sette inn poster med eksempler.

  • 🔌 Koble: mysql.connector.connect()-lenker Python til MySQL med vert og påloggingsinformasjon.
  • 🗄️ Skape: Kjør CREATE DATABASE og CREATE TABLE med en markør.
  • Sett inn: execute() en INSERT-spørring, og deretter commit() for å lagre poster.
  • 🤖 AI-hjelp: AI-verktøy som Copilot genererer MySQL koblingskode umiddelbart.

Python med MySQL Tilkobling

For å kunne bruke MySQL tilkobling med Python, må du ha litt kunnskap om SQL

Før du dykker dypt, la oss forstå

Hva er MySQL?

MySQL er en åpen kildekode-database og en av de beste typene RDBMS (Relational Database Management System). Medgründer av MySQLdb er Michael Widenius sin, og også MySQL Navnet kommer fra datteren til Michael.

Slik installerer MySQL Connector Python on Windows, Linux/Unix

Install MySQL i Linux/Unix:

Last ned RPM-pakke for Linux/Unix fra den offisielle siden: https://www.mysql.com/downloads/

I terminal bruk følgende kommando

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

For å sjekke inn Linux

mysql --version

Install MySQL in Windows

Last ned MySQL database exe fra offisielle nettsted og installer som vanlig normal installasjon av programvare i Windows. Henvis dette tutorial, for en trinnvis veiledning

Slik installerer MySQL Koblingsbibliotek for Python

Her er hvordan du kobler til MySQL med Python:

Til Python 2.7 eller lavere installer med pip som:

pip install mysql-connector

Til Python 3 eller høyere versjon installer med pip3 som:

pip3 install mysql-connector

Test MySQL Databaseforbindelse med Python

Å teste MySQL database tilkobling i Python her vil vi bruke forhåndsinstallert MySQL kobling og gi legitimasjon til koble() funksjon som vert, brukernavn og passord som vist nedenfor Python MySQL eksempel på kobling.

Syntaks for å få tilgang MySQL med Python:

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

Eksempel:

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

Produksjon:

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

Her viser utdata tilkoblingen som ble opprettet.

Opprette database i MySQL ved hjelp av Python

Syntaks for å opprette ny database i SQL er

CREATE DATABASE "database_name"

Nå lager vi database ved hjelp av databaseprogrammering i 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)

Produksjon:

Opprette database i MySQL

Her viser bildet over min_første_db databasen er opprettet

Lag en tabell i MySQL med Python

La oss lage en enkel tabell "student" som har to kolonner som vist nedenfor MySQL kontakt Python eksempel.

SQL-syntaks:

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

Eksempel:

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)

Produksjon:

 ('student',)

Lag en tabell med primærnøkkel

La oss lage en Ansatt tabell med tre forskjellige kolonner. Vi legger til en primærnøkkel id kolonne med AUTO_INCREMENT-begrensning som vist nedenfor Python prosjekt med databasetilkobling.

SQL-syntaks:

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

Eksempel:

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)

Produksjon:

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

ALTER-tabell inn MySQL med Python

Alter-kommandoen brukes til å modifisere tabellstrukturen i SQL. Her vil vi endre Student tabell og legg til en primærnøkkel til id feltet som vist nedenfor Python MySQL koblingsprosjekt.

SQL-syntaks:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Eksempel:

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

Produksjon:

Her under kan du se id kolonnen er endret.

ALTER-tabell inn MySQL

innfelt Operasjon med MySQL in Python:

La oss utføre innsettingsoperasjon i MySQL Databasetabell som vi allerede oppretter. Vi vil legge inn data fra STUDENTtabell og ANSATTEtabell.

SQL-syntaks:

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

Eksempel:

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

Produksjon:

 2 Record Inserted

Spørsmål og svar

Installer mysql-connector med pip, og kall deretter mysql.connector.connect() med verten, brukeren og passordet ditt for å få et tilkoblingsobjekt.

Opprett en markør, og kjør deretter cursor.execute('CREATE DATABASE name'). Bruk VIS DATABASER for å bekrefte at den ble opprettet.

Koble til, opprett en markør og utfør en CREATE TABLE-setning. Legg til AUTO_INCREMENT PRIMARY KEY for å automatisk nummerere id-kolonnen.

Kjør en SELECT-spørring med markøren, og kall deretter fetchall() for alle rader eller fetchone() for en enkelt rad.

Kjør en UPDATE- eller DELETE-setning med cursor.execute(), og deretter commit(). Legg alltid til en WHERE-klausul for å målrette spesifikke rader.

AI-assistenter som GitHub Copilot autofullfører koblingskode, genererer CRUD-spørringer og foreslår parameteriserte setninger som forhindrer SQL-injeksjon.

Ja. AI-drevne verktøy skriver tilkoblings- og CRUD-funksjoner, tilordner tabeller til klasser og legger til feilhåndtering for mislykkede spørringer.

commit() lagrer endringer permanent. Uten den vil INSERT-, UPDATE- og DELETE-operasjonene bli tilbakestilt når forbindelsen lukkes, noe som vil føre til tap av data.

Oppsummer dette innlegget med: