Cách chèn đầu vào của người dùng vào cơ sở dữ liệu trong Python

Quan trọng. Chú ý tuyên bố.

INSERT INTO EMPLOYEE[FIRST_NAME, LAST_NAME, AGE, SEX, INCOME] VALUES ['
   Mac', 'Mohan', 20, 'M', 2000
];
0. Cần phải thực hiện các thay đổi, nếu không thì không có thay đổi nào được thực hiện đối với bảng

Chèn nhiều hàng

Để chèn nhiều hàng vào một bảng, hãy sử dụng phương thức

INSERT INTO EMPLOYEE[FIRST_NAME, LAST_NAME, AGE, SEX, INCOME] VALUES ['
   Mac', 'Mohan', 20, 'M', 2000
];
1

Tham số thứ hai của phương thức

INSERT INTO EMPLOYEE[FIRST_NAME, LAST_NAME, AGE, SEX, INCOME] VALUES ['
   Mac', 'Mohan', 20, 'M', 2000
];
1 là danh sách các bộ, chứa dữ liệu bạn muốn chèn

Tôi muốn lấy thông tin như tuổi và tên từ người dùng và lưu trữ nó trong cơ sở dữ liệu. Để làm điều đó tôi đang sử dụng mã dưới đây

nhập sqlite3

kết nối = sqlite3. connect["Sinh viên. db"]

con trỏ = kết nối. con trỏ[]

sql_command = """

TẠO BẢNG age_name [

tuổi KHÓA CHÍNH INTEGER,

tên VARCHAR[50]];"""

con trỏ. thực thi [sql_command]

cho s trong phạm vi [0,20]

student_name=input['Tên sinh viên. ']

student_age=input['Tuổi học sinh. ']

new_data = ["""CHÈN VÀO age_name [student_age, student_name]

GIÁ TRỊ [{},{}];""". định dạng [tuổi, tên]]

con trỏ. thực thi [new_data]

tôi đang gặp lỗi

con trỏ. thực thi [new_data]

lỗi hoạt động. không có cột như vậy. 'James'

Bạn có thể thêm các hàng mới vào bảng MySQL hiện có bằng cách sử dụng câu lệnh INSERT INTO. Trong phần 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âu lệnh INSERT INTO của MySQL

INSERT INTO TABLE_NAME [column1, column2,column3,...columnN]
VALUES [value1, value2, value3,...valueN];

Ví dụ

Truy vấn sau chèn một bản ghi vào bảng có tên 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 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 chỉ định tên của các cột, nếu bạn chuyển các giá trị của bản ghi theo cùng thứ tự của các cột trong bảng, bạn có thể thực thi câu lệnh SELECT mà không cần 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

Phương thức exec[] [đượ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 truyền câu lệnh INSERT của MySQL 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 một bảng trong MySQL bằng python -

  • nhập mysql. gói kết nối

  • Tạo một đối tượng kết nối bằng mysql. kết nối. connect[], bằng cách chuyển tên người dùng, mật khẩu, máy chủ [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 phương thức con trỏ [] trên đối tượng kết nối được tạo ở trên

  • Sau đó, thực thi câu lệnh INSERT bằng cách chuyển nó làm tham số cho phương thức exec[]

Ví dụ

Ví dụ sau thực thi câu lệnh SQL INSERT để chèn một 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 cho các giá trị trong truy vấn INSERT của MySQL và chuyển các giá trị cho chúng dưới dạng danh sách như hình dưới đây –

Giả sử tôi có bảng sau trong cơ sở dữ liệu có tên là

INSERT INTO EMPLOYEE[FIRST_NAME, LAST_NAME, AGE, SEX, INCOME] VALUES ['
   Mac', 'Mohan', 20, 'M', 2000
];
3

CREATE TABLE species 
[
    species_id int PRIMARY KEY,    -- NCBI taxonomic code
    abbrev character[2],
    latin  character varying[50],
    common character varying[20]
];

Làm cách nào tôi có thể thêm dữ liệu mới vào cơ sở dữ liệu này theo cách thủ công từ Python bằng SQL?

Chức năng đầu vào sẽ trông giống như thế này

Please define a 'species_id', that should be inserted to the database: 
Please define a 'latin', that should be inserted to the database: 
Please define a 'abbrev' that should be inserted to the database:

Mã tôi đã thử trông như thế này

________số 8

CHỈNH SỬA - cập nhật dựa trên phản hồi

def data_add[conn, cursor, species_id, latin, abbrev]:
    species_id = input["Please define a 'species_id':"]
    latin      = input["Please define a 'latin':"]
    abbrev     = input["Please define a 'abbrev':"]

    sql = "insert into species[species_id, latin, abbrev] value [?, ?, ?];"
    cursor.execute[sql, [species_id, latin, abbrev]];

Làm cách nào để lưu trữ đầu vào của người dùng trong cơ sở dữ liệu bằng Python?

Chèn dữ liệu vào bảng MySQL bằng python .
nhập mysql. gói kết nối
Tạo một đối tượng kết nối bằng mysql. kết nối. .
Tạo một đối tượng con trỏ bằng cách gọi phương thức con trỏ [] trên đối tượng kết nối được tạo ở trên
Sau đó, thực thi câu lệnh INSERT bằng cách chuyển nó làm tham số cho phương thức exec[]

Làm cách nào để lấy đầu vào của người dùng trong SQL Python?

Mã Python. db' ] con trỏ = conn. con trỏ [] #tạo con trỏ bảng nhân viên bán hàng. exec["TẠO BẢNG nhân viên bán hàng[salesman_id n[5], tên char[30], thành phố char[35], hoa hồng thập phân[7,2]];"] s_id = input['ID nhân viên bán hàng. '] s_name = input['Tên. '] s_city = input['Thành phố. '] s_commision = input['Hoa hồng. '] con trỏ.

Làm cách nào để chèn đầu vào của người dùng vào bảng SQL?

Chèn thông tin vào bảng .
Trên màn hình Enter SQL Statements, nhập INSERT và nhấn F4 [Prompt]. .
Nhập tên bảng và tên lược đồ vào các trường đầu vào như được hiển thị
Thay đổi lời nhắc Chọn cột để chèn INTO thành Có

Làm cách nào để chèn dữ liệu vào cơ sở dữ liệu MySQL từ tệp văn bản Python?

Bước 1. Chuẩn bị tệp CSV. Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào MySQL. .
Bước 2. Nhập tệp CSV vào DataFrame. .
Bước 3. Kết nối với MySQL bằng Python và tạo Cơ sở dữ liệu. .
Bước 4. Tạo bảng và Nhập dữ liệu CSV vào bảng MySQL. .
Bước 5. Truy vấn bảng

Chủ Đề