pymysql 增加数据
时间: 2023-10-23 20:15:07 浏览: 75
使用 PyMySQL 模块可以方便地向 MySQL 数据库中增加数据。下面是一个简单的示例:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test')
# 创建游标对象
cursor = conn.cursor()
# 执行 SQL 语句
sql = "INSERT INTO student(name, age, gender) VALUES (%s, %s, %s)"
data = ('Tom', 20, 'male')
cursor.execute(sql, data)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
```
在上述代码中,首先使用 `pymysql.connect()` 方法连接到 MySQL 数据库。然后,使用 `conn.cursor()` 方法创建游标对象。接着,使用 `cursor.execute()` 方法执行 SQL 语句,并传入参数值。最后,使用 `conn.commit()` 方法提交事务,并使用 `cursor.close()` 和 `conn.close()` 方法关闭游标和连接。
相关问题
pymysql 保存股票数据
pymysql是一个Python连接和操作MySQL数据库的库。若要使用pymysql保存股票数据,首先需要在Python环境中安装pymysql库。
安装好pymysql后,可以使用以下步骤来保存股票数据:
1. 导入必要的库和模块:
```
import pymysql
```
2. 连接到MySQL数据库:
```
db = pymysql.connect(host='localhost', user='root', password='123456', database='stock_data')
```
需要提供MySQL数据库的主机名、用户名、密码以及要连接的数据库名称。
3. 创建一个游标对象:
```
cursor = db.cursor()
```
4. 创建一个表来存储股票数据:
```
sql = '''CREATE TABLE IF NOT EXISTS stocks (
id INT PRIMARY KEY AUTO_INCREMENT,
symbol VARCHAR(10) NOT NULL,
date DATE NOT NULL,
close FLOAT NOT NULL,
volume INT NOT NULL
)'''
cursor.execute(sql)
```
在此示例中,我们创建了一个名为stocks的表,它包含股票代码(symbol)、日期(date)、收盘价(close)和交易量(volume)的列。
5. 插入股票数据:
```
data = [
('AAPL', '2021-01-01', 135.0, 1000000),
('AAPL', '2021-01-02', 136.0, 1500000),
('AAPL', '2021-01-03', 134.0, 1200000)
]
sql = "INSERT INTO stocks (symbol, date, close, volume) VALUES (%s, %s, %s, %s)"
try:
cursor.executemany(sql, data)
db.commit()
print("数据插入成功")
except:
db.rollback()
print("数据插入失败")
```
这里我们需要提供股票数据的元组列表,每个元组包含股票代码、日期、收盘价和交易量。
6. 关闭数据库连接:
```
db.close()
```
以上是使用pymysql保存股票数据的基本步骤。根据具体需求,我们可以进一步优化代码,增加异常处理、查询和更新等操作。
pymysql 数据库增删
pymysql是一个Python连接MySQL数据库的库。它提供了一些方法来执行数据库的增删操作。在使用pymysql之前,你需要先创建数据库和表。你可以使用以下代码来创建数据库和表:
引用\[1\]:
```python
import pymysql
# 创建数据库
db = pymysql.connect(host='localhost', user='root', password='123456', port=3306)
cursor = db.cursor()
cursor.execute("CREATE DATABASE job2 DEFAULT CHARACTER SET utf8")
db.close()
# 建表
db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='job2')
cursor = db.cursor()
sql = 'CREATE TABLE IF NOT EXISTS items (id VARCHAR(255) NOT NULL,title VARCHAR(255) NOT NULL,content VARCHAR(255),state VARCHAR(255) NOT NULL,add_time VARCHAR(255) NOT NULL,end_time VARCHAR(255) NOT NULL,PRIMARY KEY (id))'
cursor.execute(sql)
db.close()
```
在使用pymysql进行数据库操作时,可以先定义一个执行SQL语句的函数,方便重复使用。以下是一个示例:
引用\[2\]:
```python
import pymysql
class MysqlPool(object):
client = ''
cursor = ''
def __init__(self):
# 建立数据库连接
self.client = pymysql.connect(host='localhost', port=3306, db='library', user='你的user', password='你的密码')
# 使用cursor()方法获取操作游标
self.cursor = self.client.cursor()
def __del__(self):
# 关闭数据库连接
self.client.close()
```
对于数据库的增删操作,你可以使用以下方法:
- 增加数据:
```python
def insert_one(self, data):
""" 实现插入 """
sql = "INSERT INTO `table_name` (column1, column2, ...) VALUES (%s, %s, ...)"
return self.cursor.execute(sql, (value1, value2, ...))
```
- 删除数据:
```python
def delete_one(self, id):
""" 实现删除 """
sql = "DELETE FROM `table_name` WHERE id = %s"
return self.cursor.execute(sql, (id,))
```
请注意,上述代码中的`table_name`应替换为你要操作的表名,`column1, column2, ...`应替换为你要插入的列名,`value1, value2, ...`应替换为你要插入的值。
希望以上信息对你有所帮助。如果还有其他问题,请随时提问。
#### 引用[.reference_title]
- *1* [【pymysql操作数据库(增删查改)】](https://blog.csdn.net/weixin_60446605/article/details/122504078)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Python Mysql增删改查操作](https://blog.csdn.net/json_ligege/article/details/127995164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文