Bài 3 – Tạo bảng cho cơ sở dữ liệu MySQL trong Python
Như chúng ta biết, trong mỗi cơ sở dữ liệu thường có nhiều bảng dùng để chứa dữ liệu và để tạo bảng bằng câu lệnh SQL sẽ như sau: CREATE TABLE và để không tạo bảng trùng tên với các bảng đã có trong cơ sở dữ liệu chúng ta sẽ hiển thị toàn bộ bảng đã có bằng câu lệnh SQL như sau: SHOW TABLES
Hiển thị toàn bộ bảng đã có trong cơ sở dữ liệu
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SHOW TABLES")
for x in mycursor:
print(x)
Tạo bảng trong cơ sở dữ liệu MySQL
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
try:
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
except:
mydb.rollback()
Tạo bảng có chứa khóa chính Primary Key, dữ liệu của khóa chính không được giống nhau giữa các bản ghi. Chúng ta sẽ sử dụng cú pháp “INT AUTO_INCREMENT PRIMARY KEY” thì dữ liệu của khóa chính sẽ tự động được điền các giá trị duy nhất từ 1 đến số bản ghi cuối cùng.
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
try:
mycursor.execute("CREATE TABLE customers (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), address VARCHAR(255))")
except:
mydb.rollback()
Thêm cột cho bảng đã có trong cơ sở dữ liệu
Trong quá trình chúng ta tạo ra bảng, có thể chưa có cột nào đó, do đó chúng ta có thể bổ sung cột đó vào bảng bằng câu lệnh ALTER TABLE, ví dụ thêm cột id như sau:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
try:
mycursor.execute("ALTER TABLE customers ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY")
except:
mydb.rollback()