Python MySQL 插入数据
你可以使用 INSERT INTO 语句向MySQL的一个现有表添加新的行。在此,你需要指定表的名称、列名和值(与列名顺序相同)。
语法
以下是MySQL的INSERT INTO语句的语法。
INSERT INTO TABLE_NAME (column1, column2,column3,...columnN)
VALUES (value1, value2, value3,...valueN);
例子
下面的查询在名为EMPLOYEE的表中插入了一条记录。
INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES ('
Mac', 'Mohan', 20, 'M', 2000
);
你可以在插入操作后使用SELECT语句验证表的记录,如-
mysql> select * from Employee;
+------------+-----------+------+------+--------+
| FIRST_NAME | LAST_NAME | AGE | SEX | INCOME |
+------------+-----------+------+------+--------+
| Mac | Mohan | 20 | M | 2000 |
+------------+-----------+------+------+--------+
1 row in set (0.00 sec)
并非一定要指定列的名称,如果你按照表的列的相同顺序传递记录的值,你可以在没有列名的情况下执行SELECT语句,如下所示
INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000);
使用python在MySQL表中插入数据
execute() 方法(在游标对象上调用)接受一个查询作为参数并执行给定的查询。要插入数据,你需要把MySQL的INSERT语句作为一个参数传给它。
cursor.execute("""INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME)
VALUES ('Mac', 'Mohan', 20, 'M', 2000)""")
使用python向MySQL中的表插入数据-
- 输入 mysql. connector包。
-
使用 mysql.connector.connect() 方法创建一个连接对象,将用户名、密码、主机(可选默认:localhost)和数据库(可选)作为参数传递给它。
-
通过对上面创建的连接对象调用 cursor() 方法,创建一个游标对象。
-
然后,通过将 INSERT 语句作为参数传递给 execute() 方法来执行该语句。
例子
下面的例子执行了SQL INSERT语句,向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()
动态插入值
你也可以在MySQL的 INSERT 查询中使用”%s “代替数值,并将数值作为列表传递给他们,如下图所示
cursor.execute("""INSERT INTO EMPLOYEE VALUES ('Mac', 'Mohan', 20, 'M', 2000)""",
('Ramya', 'Ramapriya', 25, 'F', 5000))
例子
下面的例子是动态插入一条记录到雇员表中。
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()
输出
Data inserted