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: