Hướng dẫn create table in python - tạo bảng trong python



Create table

Trong bài này, chúng ta sẽ tạo ra một bảng MySQL mới có tên là Employee. Chúng ta có thể tạo bảng mới bằng cách sử dụng câu lệnh CREATE TABLE của SQL. Bảng Empoyee sẽ có bốn cột bao gồm name, id, salary và department_id.

Câu lệnh SQL sau được sử dụng để tạo bảng Employee:

create table Employee (
    name varchar(20) not null, 
    id int primary key, 
    salary float not null, 
    dept_Id int not null
)

Ví dụ:

import mysql.connector

# tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
        passwd = "1234567890", database = "PythonDB")
  
# tạo đối tượng cursor
cur = myconn.cursor()  
  
try:
    # tạo bảng Employee gồm 4 cột name, id, salary, và department id  
    dbs = cur.execute("create table Employee(name varchar(20) not null, "
        + "id int(20) not null primary key, salary float not null, "
        + "dept_id int not null)")
except:
    myconn.rollback()

myconn.close()

Kết quả:

Hướng dẫn create table in python - tạo bảng trong python



Alter table

Đôi khi, chúng ta có thể quên tạo một số cột hoặc chúng tôi có thể cần cập nhật table schema. Câu lệnh ALTER được sử dụng trong trường hợp này. Ở đây, chúng ta sẽ thêm cột tên_bảng vào bảng Employee như sau.

alter table Employee 
add branch_name varchar(20) not null

Ví dụ:

import mysql.connector

# tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
        passwd = "1234567890", database = "PythonDB")
  
# tạo đối tượng cursor
cur = myconn.cursor()  
  
try:
    # thêm cột branch name vào bảng Employee
    cur.execute("alter table Employee add branch_name varchar(20) not null")
except:
    myconn.rollback()

myconn.close()

Kết quả:



Alter table

Đôi khi, chúng ta có thể quên tạo một số cột hoặc chúng tôi có thể cần cập nhật table schema. Câu lệnh ALTER được sử dụng trong trường hợp này. Ở đây, chúng ta sẽ thêm cột tên_bảng vào bảng Employee như sau. , chúng ta đang sử dụng MySQL được tích hợp sẵn trong XAMPP. Các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL.

Để học tốt bài này, các bạn cần phải biết cách kết nối MySQL trong Python. Các bạn có thể đọc lại bài Kết nối hệ quản trị cơ sở dữ liệu MySQL trong Python để biết cách kết nối với MySQL trong Python.

Lưu ý, chúng ta đang sử dụng MySQL được tích hợp sẵn trong XAMPP. Các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL.. Sử dụng công cụ phpMyAdmin để tạo database. Các bạn đọc lại phần Kết nối đến một database cụ thể trong MySQL để biết cách tạo database với phpMyAdmin.

Sau khi đã tạo một kết nối đến MySQL trong XAMPP, các bạn có 2 cách để tạo các database trong MySQL:. Sử dụng Python để thực thi câu lệnh CREATE DATABASE” để tạo database trong MySQL.

import mysql.connector

# create connection to MySQL
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password=""
)

mycursor = mydb.cursor()

mycursor.execute("CREATE DATABASE gochocit")
# disconnect from MySQL
mydb.close()

Cách 1. Sử dụng công cụ phpMyAdmin để tạo database. Các bạn đọc lại phần Kết nối đến một database cụ thể trong MySQL để biết cách tạo database với phpMyAdmin.gochocit. Lỗi này xảy ra do đã có database gochocit trong MySQL rồi nên không tạo được nữa.

mysql.connector.errors.DatabaseError: 1007 (HY000): Can't create database 'gochocit'; database exists

Cách 2. Sử dụng Python để thực thi câu lệnh “CREATE DATABASE” để tạo database trong MySQL.

mycursor.execute("CREATE DATABASE IF NOT EXISTS gochocit")

Nếu đoạn code Python thực thi không có lỗi thì tạo database thành công. Nếu gặp bất cứ lỗi nào thì tạo database không thành công. Ví dụ có một lỗi (error) bên dưới là lỗi khi tạo database gochocit. Lỗi này xảy ra do đã có database gochocit trong MySQL rồi nên không tạo được nữa.utf8_general_ci) thì sửa lại câu thực thi SQL như bên dưới.

mycursor.execute("CREATE DATABASE gochocit CHARACTER SET utf8 COLLATE utf8_general_ci")

Để tránh lỗi trên, chúng ta sử dụng câu thực thi SQL như bên dưới để kiểm tra và tạo database nếu chưa tồn tại.: Bảng mã hóa ký tự mặc định trong MySQL trong XAMPP là utf8mb4_general_ci.

Nếu muốn tạo database với bảng mã hóa ký tự cụ thể (ví dụ utf8_general_ci) thì sửa lại câu thực thi SQL như bên dưới.

Lưu ý: Bảng mã hóa ký tự mặc định trong MySQL trong XAMPP là utf8mb4_general_ci.

Sau khi đã tạo database trong MySQL, chúng ta cần kết nối đến database để thực hiện các thao tác, xử lý. Các bạn đọc lại phần Kết nối đến một database cụ thể trong MySQL để biết cách kết nối đến một database trong MySQL với Python.

import mysql.connector

# tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
        passwd = "1234567890", database = "PythonDB")
  
# tạo đối tượng cursor
cur = myconn.cursor()  
  
try:
    # tạo bảng Employee gồm 4 cột name, id, salary, và department id  
    dbs = cur.execute("create table Employee(name varchar(20) not null, "
        + "id int(20) not null primary key, salary float not null, "
        + "dept_id int not null)")
except:
    myconn.rollback()

myconn.close()
0“. Lưu ý, cần tạo kết nối đến database trong MySQL để tạo được table.

import mysql.connector

# create connection to MySQL
mydb = mysql.connector.connect(
  host="localhost",
  user="root",
  password="",
  database = "gochocit"
)
mycursor = mydb.cursor()

sql_string = """CREATE TABLE IF NOT EXISTS gochocit_posts (
                ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
                post_author VARCHAR(255),
                post_title TEXT,
                post_content TEXT,
                post_date DATETIME
                )
                """

mycursor.execute(sql_string)
# disconnect from MySQL
mydb.close()

2. Tạo table trong database trong MySQLgochocit_posts trong database gochocit. Sử dụng lệnh IF NOT EXISTS để kiểm tra table đã tồn tại chưa, nếu chưa thì sẽ tạo table.

  • Để tạo table trong database, chúng ta sử dụng Python để thực thi câu lệnh SQL là “
    import mysql.connector
    
    # tạo đối tượng connection
    myconn = mysql.connector.connect(host = "localhost", user = "root",
            passwd = "1234567890", database = "PythonDB")
      
    # tạo đối tượng cursor
    cur = myconn.cursor()  
      
    try:
        # tạo bảng Employee gồm 4 cột name, id, salary, và department id  
        dbs = cur.execute("create table Employee(name varchar(20) not null, "
            + "id int(20) not null primary key, salary float not null, "
            + "dept_id int not null)")
    except:
        myconn.rollback()
    
    myconn.close()
    
    0“. Lưu ý, cần tạo kết nối đến database trong MySQL để tạo được table.
  • Trong ví dụ trên, chúng ta tạo ra một table gochocit_posts trong database gochocit. Sử dụng lệnh IF NOT EXISTS để kiểm tra table đã tồn tại chưa, nếu chưa thì sẽ tạo table.
  • Dòng (stream) là gì? Tập tin (file) và phân loại tập tin trong lập trình
  • Sửa (update) dữ liệu và câu lệnh drop trong MySQL với PHP
  • Thêm (insert) dữ liệu trong MySQL với PHP

Lớp FileReader và FileWriter trong Java

Các hàm toán học (math function) trong PHP