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: