Python MySQL 插入数据

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程