Python สีสดสวย MySQL การเชื่อมต่อ: ฐานข้อมูลและตาราง [ตัวอย่าง]

⚡ สรุปอย่างชาญฉลาด

Python เชื่อมต่อกับไฟล์ MySQL การใช้งานฐานข้อมูลโดยใช้ไลบรารี mysql-connector ในที่นี้คุณจะได้เรียนรู้วิธีการติดตั้งตัวเชื่อมต่อและเชื่อมต่อกับฐานข้อมูล MySQLสร้างฐานข้อมูลและตาราง เพิ่มคีย์หลัก แก้ไขตาราง และแทรกระเบียนพร้อมตัวอย่าง

  • 🔌 เชื่อมต่อ: mysql.connector.connect() เชื่อมโยง Python ไปยัง MySQL พร้อมด้วยโฮสต์และข้อมูลประจำตัว
  • 🗄️ สร้าง: เรียกใช้คำสั่ง CREATE DATABASE และ CREATE TABLE ผ่านเคอร์เซอร์
  • ➕ แทรก: เรียกใช้เมธอด execute() เพื่อเรียกใช้คำสั่ง INSERT จากนั้นเรียกใช้เมธอด commit() เพื่อบันทึกข้อมูล
  • 🤖 ความช่วยเหลือจาก AI: เครื่องมือ AI เช่น Copilot สร้างขึ้น MySQL รหัสตัวเชื่อมต่อทันที

Python สีสดสวย MySQL การเชื่อมต่อ

เพื่อที่จะใช้ MySQL การเชื่อมต่อกับ Pythonคุณต้องมีความรู้เกี่ยวกับ SQL

ก่อนจะดำน้ำลึกมาทำความเข้าใจกันก่อน

ความหมายของ MySQL?

MySQL เป็นฐานข้อมูลโอเพ่นซอร์สและเป็นหนึ่งใน RDBMS (Relational Database Management System) ที่ดีที่สุด ผู้ร่วมก่อตั้ง MySQLdb เป็นของ Michael Widenius และด้วย MySQL ชื่อนี้ได้มาจากลูกสาวของไมเคิล

วิธีการติดตั้ง MySQL เชื่อมต่อ Python on Windows, ลินุกซ์/ยูนิกซ์

การติดตั้ง MySQL ในลินุกซ์/ยูนิกซ์:

ดาวน์โหลดแพ็คเกจ RPM สำหรับ Linux/Unix จากเว็บไซต์อย่างเป็นทางการ: https://www.mysql.com/downloads/

ในเทอร์มินัลให้ใช้คำสั่งดังต่อไปนี้

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

เพื่อตรวจสอบใน Linux

mysql --version

การติดตั้ง MySQL in Windows

ดาวน์โหลด MySQL ฐานข้อมูล exe จาก เว็บไซต์อย่างเป็นทางการ และติดตั้งซอฟต์แวร์ตามปกติตามปกติ Windows- อ้างอิงสิ่งนี้ เกี่ยวกับการสอนสำหรับคำแนะนำทีละขั้นตอน

วิธีการติดตั้ง MySQL ไลบรารีตัวเชื่อมต่อสำหรับ Python

นี่คือวิธีการเชื่อมต่อ MySQL สีสดสวย Python:

ใช้เพื่อการ Python ติดตั้งเวอร์ชัน 2.7 หรือต่ำกว่าโดยใช้ pip เป็น:

pip install mysql-connector

ใช้เพื่อการ Python ติดตั้งเวอร์ชัน 3 หรือสูงกว่าโดยใช้ pip3 เป็น:

pip3 install mysql-connector

ทดสอบไฟล์ MySQL การเชื่อมต่อฐานข้อมูลด้วย Python

ทดสอบ MySQL การเชื่อมต่อฐานข้อมูลใน Python ในที่นี้เราจะใช้งานแบบติดตั้งไว้ล่วงหน้า MySQL เชื่อมต่อและส่งข้อมูลรับรองเข้า เชื่อมต่อ () ทำหน้าที่เหมือนกับโฮสต์ ชื่อผู้ใช้ และรหัสผ่าน ดังภาพด้านล่าง Python MySQL ตัวอย่างตัวเชื่อมต่อ

ไวยากรณ์ในการเข้าถึง MySQL สีสดสวย Python:

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

ตัวอย่าง:

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

เอาท์พุต:

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

ผลลัพธ์ที่นี่แสดงการเชื่อมต่อที่สร้างสำเร็จ

การสร้างฐานข้อมูลใน MySQL ด้วย Python

ไวยากรณ์ในการสร้างฐานข้อมูลใหม่ใน SQL คือ

CREATE DATABASE "database_name"

ตอนนี้เราสร้างฐานข้อมูลโดยใช้การเขียนโปรแกรมฐานข้อมูลมา 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)

เอาท์พุต:

การสร้างฐานข้อมูลใน MySQL

ภาพด้านบนนี้แสดงให้เห็น my_first_db สร้างฐานข้อมูลแล้ว

สร้างตารางใน MySQL สีสดสวย Python

เรามาสร้างตารางง่ายๆ “student” ซึ่งมี 2 คอลัมน์ดังภาพด้านล่าง MySQL ตัวเชื่อมต่อ Python ตัวอย่าง.

ไวยากรณ์ SQL:

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

ตัวอย่าง:

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)

เอาท์พุต:

 ('student',)

สร้างตารางด้วยคีย์หลัก

มาสร้างอัน ลูกจ้าง ตารางที่มีสามคอลัมน์ที่แตกต่างกัน เราจะเพิ่มคีย์หลักเข้าไป id คอลัมน์ที่มีข้อจำกัด AUTO_INCREMENT ดังแสดงด้านล่าง Python โครงการที่มีการเชื่อมต่อฐานข้อมูล

ไวยากรณ์ SQL:

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

ตัวอย่าง:

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)

เอาท์พุต:

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

แก้ไขตารางใน MySQL สีสดสวย Python

คำสั่ง Alter ใช้สำหรับแก้ไขโครงสร้างตารางใน SQL ที่นี่เราจะเปลี่ยนแปลง นักเรียน ตารางและเพิ่ม คีย์หลัก ไป id ฟิลด์ตามที่แสดงด้านล่าง Python MySQL โครงการเชื่อมต่อ

ไวยากรณ์ SQL:

ALTER TABLE student MODIFY id INT PRIMARY KEY

ตัวอย่าง:

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

เอาท์พุต:

ที่นี่ด้านล่างคุณสามารถดู id คอลัมน์ได้รับการแก้ไข

แก้ไขตารางใน MySQL

สิ่งที่ใส่เข้าไป Operaอยู่กับ MySQL in Python:

มาทำการแทรกกันใน MySQL ตารางฐานข้อมูลที่เราสร้างไว้แล้ว เราจะแทรกข้อมูล oi ตาราง STUDENT และตาราง EMPLOYEE

ไวยากรณ์ SQL:

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

ตัวอย่าง:

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

เอาท์พุต:

 2 Record Inserted

คำถามที่พบบ่อย

ติดตั้ง mysql-connector ด้วย pip จากนั้นเรียกใช้ mysql.connector.connect() โดยระบุโฮสต์ ชื่อผู้ใช้ และรหัสผ่านของคุณ เพื่อรับอ็อบเจ็กต์การเชื่อมต่อ

สร้างเคอร์เซอร์ จากนั้นเรียกใช้คำสั่ง cursor.execute('CREATE DATABASE name') ใช้คำสั่ง SHOW DATABASES เพื่อยืนยันว่าฐานข้อมูลถูกสร้างขึ้นแล้ว

เชื่อมต่อ สร้างเคอร์เซอร์ และเรียกใช้คำสั่ง CREATE TABLE เพิ่ม AUTO_INCREMENT PRIMARY KEY เพื่อกำหนดหมายเลขให้กับคอลัมน์ id โดยอัตโนมัติ

เรียกใช้คำสั่ง SELECT ด้วยเคอร์เซอร์ จากนั้นเรียกใช้ fetchall() สำหรับทุกแถว หรือ fetchone() สำหรับแถวเดียว

เรียกใช้คำสั่ง UPDATE หรือ DELETE ด้วย cursor.execute() จากนั้นจึงเรียกใช้ commit() อย่าลืมเพิ่มเงื่อนไข WHERE เพื่อกำหนดเป้าหมายไปยังแถวที่ต้องการเสมอ

ผู้ช่วย AI เช่นโค้ดตัวเชื่อมต่อการเติมข้อความอัตโนมัติของ GitHub Copilot จะสร้างคำสั่ง CRUD และแนะนำคำสั่งที่มีพารามิเตอร์ซึ่งป้องกันการโจมตีแบบ SQL injection

ใช่แล้ว เครื่องมือที่ขับเคลื่อนด้วย AI จะสร้างฟังก์ชันการเชื่อมต่อและ CRUD แมปตารางไปยังคลาส และเพิ่มการจัดการข้อผิดพลาดสำหรับคำสั่งค้นหาที่ล้มเหลว

คำสั่ง `commit()` จะบันทึกการเปลี่ยนแปลงอย่างถาวร หากไม่มีคำสั่งนี้ การดำเนินการ `INSERT`, `UPDATE` และ `DELETE` จะยกเลิกการเปลี่ยนแปลงเมื่อการเชื่อมต่อถูกปิด ทำให้ข้อมูลสูญหาย

สรุปโพสต์นี้ด้วย: