Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thao tác INSERT cơ sở dữ liệu trong Python


Cần thiết khi bạn muốn tạo bản ghi của mình vào một bảng cơ sở dữ liệu.

Ví dụ

Ví dụ sau thực thi câu lệnh SQL INSERT để tạo một bản ghi vào bảng EMPLOYEE:

#!/usr/bin/python
import MySQLdb

# Mở kết nối cơ sở dữ liệu
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB")

# Chuẩn bị đối tượng con trỏ sử dụng phương thức cursor()
cursor = db.cursor()

# Chuẩn bị truy vấn SQL để CHÈN một bản ghi vào cơ sở dữ liệu
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
       LAST_NAME, AGE, SEX, INCOME)
       VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""

try:
    # Thực thi lệnh SQL
    cursor.execute(sql)
    # Commit thay đổi trong cơ sở dữ liệu
    db.commit()
except:
    # Rollback nếu có bất kỳ lỗi nào
    db.rollback()

# Ngắt kết nối từ máy chủ
db.close()

Ví dụ trên có thể viết như sau để tạo truy vấn SQL động:

#!/usr/bin/python
import MySQLdb

# Mở kết nối cơ sở dữ liệu
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB")

# Chuẩn bị đối tượng con trỏ sử dụng phương thức cursor()
cursor = db.cursor()

# Chuẩn bị truy vấn SQL để CHÈN một bản ghi vào cơ sở dữ liệu
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)

try:
    # Thực thi lệnh SQL
    cursor.execute(sql)
    # Commit thay đổi trong cơ sở dữ liệu
    db.commit()
except:
    # Rollback nếu có bất kỳ lỗi nào
    db.rollback()

# Ngắt kết nối từ máy chủ
db.close()

Ví dụ

Đoạn mã sau là hình thức thực thi khác nơi bạn có thể truyền tham số trực tiếp:

..................................
user_id = "test123"
password = "password"
con.execute('insert into Login values("%s", "%s")' % \
            (user_id, password))
..................................