# 插入行
> 原文: [https://thepythonguru.com/inserting-rows/](https://thepythonguru.com/inserting-rows/)
* * *
于 2020 年 1 月 7 日更新
* * *
Insert 语句用于在 mysql 中插入记录。
**语法**: `INSERT INTO <some table> (<some column names>) VALUES("<some values>");`
**示例 1**:
```py
from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
sql = "insert into city VALUES(null, 'Mars City', 'MAC', 'MARC', 1233)"
number_of_rows = cursor.execute(sql)
db.commit() # you need to call commit() method to save
# your changes to the database
db.close()
```
该程序在城市表中插入一个新城市,注意对`db.commit()`的使用,该方法将您的更改保存到数据库中。
**示例 2**:
```py
from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
name = "Some new city"
country_code = 'PSE'
district = 'Someyork'
population = 10008
sql = "insert into city VALUES(null, '%s', '%s', '%s', %d)" % \
(name, country_code , district, population)
number_of_rows = cursor.execute(sql)
db.commit()
db.close()
```
请注意,在第 18 行中使用了反斜杠(`\`)字符。`\`字符用于将 python 语句拆分为多行。
## 插入多行
* * *
要在表中插入多行,请使用游标对象的`executemany()`方法。
**语法**: `cursor_object.executemany(statement, arguments)`
**`statement`**:包含要执行的查询的字符串。
**`arguments`**:一个包含要在`insert`语句中使用的值的序列。
让我们举个例子。
```py
from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
name = "Some new city"
country_code = 'SNC'
district = 'Someyork'
population = 10008
data = [
('city 1', 'MAC', 'distrct 1', 16822),
('city 2', 'PSE', 'distrct 2', 15642),
('city 3', 'ZWE', 'distrct 3', 11642),
('city 4', 'USA', 'distrct 4', 14612),
('city 5', 'USA', 'distrct 5', 17672),
]
sql = "insert into city(name, countrycode, district, population)
VALUES(%s, %s, %s, %s)"
number_of_rows = cursor.executemany(sql, data)
db.commit()
db.close()
```
在下一篇文章中,我们讨论[如何处理错误](/handling-errors/)。
* * *
* * *
- 初级 Python
- python 入门
- 安装 Python3
- 运行 python 程序
- 数据类型和变量
- Python 数字
- Python 字符串
- Python 列表
- Python 字典
- Python 元组
- 数据类型转换
- Python 控制语句
- Python 函数
- Python 循环
- Python 数学函数
- Python 生成随机数
- Python 文件处理
- Python 对象和类
- Python 运算符重载
- Python 继承与多态
- Python 异常处理
- Python 模块
- 高级 Python
- Python *args和**kwargs
- Python 生成器
- Python 正则表达式
- 使用 PIP 在 python 中安装包
- Python virtualenv指南
- Python 递归函数
- __name__ == "__main__"是什么?
- Python Lambda 函数
- Python 字符串格式化
- Python 内置函数和方法
- Python abs()函数
- Python bin()函数
- Python id()函数
- Python map()函数
- Python zip()函数
- Python filter()函数
- Python reduce()函数
- Python sorted()函数
- Python enumerate()函数
- Python reversed()函数
- Python range()函数
- Python sum()函数
- Python max()函数
- Python min()函数
- Python eval()函数
- Python len()函数
- Python ord()函数
- Python chr()函数
- Python any()函数
- Python all()函数
- Python globals()函数
- Python locals()函数
- 数据库访问
- 安装 Python MySQLdb
- 连接到数据库
- MySQLdb 获取结果
- 插入行
- 处理错误
- 使用fetchone()和fetchmany()获取记录
- 常见做法
- Python:如何读取和写入文件
- Python:如何读取和写入 CSV 文件
- 用 Python 读写 JSON
- 用 Python 转储对象