Python MySQL - Chèn dữ liệu
Bạn có thể thêm hàng mới vào bảng MySQL hiện có bằng cách sử dụng INSERT INTOtuyên bố. Trong trường này, bạn cần chỉ định tên bảng, tên cột và giá trị (theo thứ tự như tên cột).
Cú pháp
Sau đây là cú pháp của câu lệnh INSERT INTO của MySQL.
INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)
VALUES (value1, value2, value3,...valueN);
Thí dụ
Truy vấn sau sẽ chèn một bản ghi vào bảng có tên là EMPLOYEE.
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
Mac', 'Mohan', 20, 'M', 2000
);
Bạn có thể xác minh các bản ghi của bảng sau khi thao tác chèn bằng cách sử dụng câu lệnh SELECT dưới dạng:
mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mac | Mohan | 20 | M | 2000 |
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)
Không bắt buộc phải luôn luôn chỉ định tên của các cột, nếu bạn chuyển các giá trị của một bản ghi theo cùng thứ tự của các cột trong bảng, bạn có thể thực hiện câu lệnh SELECT mà không có tên cột như sau:
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
Chèn dữ liệu vào bảng MySQL bằng python
Các execute()phương thức (được gọi trên đối tượng con trỏ) chấp nhận một truy vấn làm tham số và thực hiện truy vấn đã cho. Để chèn dữ liệu, bạn cần chuyển câu lệnh MySQL INSERT làm tham số cho nó.
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
Để chèn dữ liệu vào bảng trong MySQL bằng python -
nhập khẩu mysql.connector gói hàng.
Tạo một đối tượng kết nối bằng cách sử dụng mysql.connector.connect() bằng cách chuyển tên người dùng, mật khẩu, máy chủ lưu trữ (mặc định tùy chọn: localhost) và, cơ sở dữ liệu (tùy chọn) làm tham số cho nó.
Tạo một đối tượng con trỏ bằng cách gọi cursor() phương thức trên đối tượng kết nối được tạo ở trên
Sau đó, thực hiện INSERT bằng cách chuyển nó dưới dạng một tham số cho execute() phương pháp.
Thí dụ
Ví dụ sau thực hiện câu lệnh SQL INSERT để chèn bản ghi vào bảng EMPLOYEE -
import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Preparing SQL query to INSERT a record into the database.
sql = """INSERT INTO EMPLOYEE(
FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
# Executing the SQL command
cursor.execute(sql)
# Commit your changes in the database
conn.commit()
except:
# Rolling back in case of error
conn.rollback()
# Closing the connection
conn.close()
Chèn giá trị động
Bạn cũng có thể sử dụng “% s” thay vì các giá trị trong INSERT truy vấn MySQL và chuyển các giá trị cho chúng dưới dạng danh sách như hình dưới đây -
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
Thí dụ
Ví dụ sau sẽ chèn động một bản ghi vào bảng Nhân viên.
import mysql.connector
#establishing the connection
conn = mysql.connector.connect(
user='root', password='password', host='127.0.0.1', database='mydb')
#Creating a cursor object using the cursor() method
cursor = conn.cursor()
# Preparing SQL query to INSERT a record into the database.
insert_stmt = (
"INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)"
"VALUES (%s, %s, %s, %s, %s)"
)
data = ('Ramya', 'Ramapriya', 25, 'F', 5000)
try:
# Executing the SQL command
cursor.execute(insert_stmt, data)
# Commit your changes in the database
conn.commit()
except:
# Rolling back in case of error
conn.rollback()
print("Data inserted")
# Closing the connection
conn.close()
Đầu ra
Data inserted