Python med MySQL Anslutning: Databas och tabell [Exempel]

⚡ Smart sammanfattning

Python ansluter till en MySQL databas med hjälp av mysql-connector-biblioteket. Här lär du dig att installera connectorn, ansluta till MySQL, skapa databaser och tabeller, lägga till primärnycklar, ändra tabeller och infoga poster med exempel.

  • 🔌 Ansluta: mysql.connector.connect() länkar Python till MySQL med värd och inloggningsuppgifter.
  • 🗄️ Skapa: Kör CREATE DATABASE och CREATE TABLE med en markör.
  • ➕ Föra in: execute() en INSERT-fråga och sedan commit() för att spara poster.
  • 🤖 AI-hjälp: AI-verktyg som Copilot genererar MySQL anslutningskoden direkt.

Python med MySQL Anslutningar

För att kunna använda MySQL anslutning med Python, måste du ha viss kunskap om SQL

Innan vi dyker djupt, låt oss förstå

Vad är MySQL?

MySQL är en öppen källkodsdatabas och en av de bästa typerna av RDBMS (Relational Database Management System). Medgrundare av MySQLdb är Michael Widenius's, och också MySQL Namnet kommer från Michaels dotter.

Hur man installerar MySQL kontakt Python on Windows, Linux/Unix

installera MySQL i Linux/Unix:

Ladda ner RPM-paket för Linux/Unix från den officiella webbplatsen: https://www.mysql.com/downloads/

Använd följande kommando i terminalen

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

För att checka in Linux

mysql --version

installera MySQL in Windows

Ladda ner MySQL databas exe från officiella hemsidan och installera som vanligt normal installation av programvara i Windows. Hänvisa detta handledning, för en steg-för-steg-guide

Hur man installerar MySQL Connector Library för Python

Så här ansluter du MySQL med Python:

För Python 2.7 eller lägre installera med pip som:

pip install mysql-connector

För Python 3 eller högre version installeras med pip3 som:

pip3 install mysql-connector

Testa MySQL Databasanslutning med Python

Att testa MySQL databasanslutning i Python här kommer vi att använda förinstallerade MySQL anslutning och skicka inloggningsuppgifter till ansluta() fungerar som värd, användarnamn och lösenord som visas nedan Python MySQL kopplingsexempel.

Syntax för att komma åt MySQL med Python:

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

Exempelvis:

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

Produktion:

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

Här visar utdata anslutningen som skapats framgångsrikt.

Skapar databas i MySQL med hjälp av Python

Syntax för att skapa ny databas i SQL är

CREATE DATABASE "database_name"

Nu skapar vi databas med hjälp av databasprogrammering 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)

Produktion:

Skapar databas i MySQL

Här ovan visar bilden min_första_db databasen skapas

Skapa en tabell i MySQL med Python

Låt oss skapa en enkel tabell "student" som har två kolumner som visas i nedan MySQL kontakt Python exempel.

SQL-syntax:

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

Exempel:

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)

Produktion:

 ('student',)

Skapa en tabell med primärnyckel

Låt oss skapa en Anställd tabell med tre olika kolumner. Vi lägger till en primärnyckel id kolumn med AUTO_INCREMENT-begränsning som visas nedan Python projekt med databasanslutning.

SQL-syntax:

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

Exempelvis:

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)

Produktion:

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

ALTER-tabellen in MySQL med Python

Kommandot Alter används för att modifiera tabellstrukturen i SQL. Här kommer vi att ändra student tabell och lägg till en primär nyckel till id fältet som visas nedan Python MySQL kopplingsprojekt.

SQL-syntax:

ALTER TABLE student MODIFY id INT PRIMARY KEY

Exempelvis:

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

Produktion:

Här nedan kan du se id kolumnen ändras.

ALTER-tabellen in MySQL

Insert Operation med MySQL in Python:

Låt oss utföra insättningsoperationen i MySQL Databastabell som vi redan skapar. Vi kommer att infoga data från STUDENTtabellen och ANSTÄLLDAtabellen.

SQL-syntax:

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

Exempelvis:

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

Produktion:

 2 Record Inserted

Vanliga frågor

Installera mysql-connector med pip, anropa sedan mysql.connector.connect() med din värd, användarnamn och lösenord för att få ett anslutningsobjekt.

Skapa en markör och kör sedan cursor.execute('CREATE DATABASE name'). Använd VISA DATABASER för att bekräfta att den skapades.

Anslut, skapa en markör och kör en CREATE TABLE-sats. Lägg till AUTO_INCREMENT PRIMARY KEY för att automatiskt numrera id-kolumnen.

Kör en SELECT-fråga med markören och anropa sedan fetchall() för alla rader eller fetchone() för en enskild rad.

Kör en UPDATE- eller DELETE-sats med cursor.execute() och sedan commit(). Lägg alltid till en WHERE-sats för att rikta in sig på specifika rader.

AI-assistenter som GitHub Copilot kompletterar automatiskt kopplingskod, genererar CRUD-frågor och föreslår parametriserade uttalanden som förhindrar SQL-injektion.

Ja. AI-drivna verktyg skriver kopplings- och CRUD-funktioner, mappar tabeller till klasser och lägger till felhantering för misslyckade frågor.

commit() sparar ändringar permanent. Utan den återställs INSERT-, UPDATE- och DELETE-operationerna när anslutningen stängs, vilket förlorar data.

Sammanfatta detta inlägg med: