python 链接mysql的con=con1的数据库,读取每一张表格,给每张表格增加两列,列名称为a和b,数据类型为小数.,如果a和b列存在则跳过
时间: 2023-12-24 20:06:02 浏览: 126
python链接mysql数据库
3星 · 编辑精心推荐
可以使用Python中的`pymysql`库来连接MySQL数据库,并使用`pandas`库来读取每个表格和增加列。
首先需要安装`pymysql`和`pandas`库,可以使用以下命令:
```
pip install pymysql
pip install pandas
```
然后,可以使用以下代码连接到MySQL数据库:
```python
import pymysql
# 连接数据库
con = pymysql.connect(host='localhost', user='root', password='password', db='database_name')
```
其中,`host`是数据库地址,`user`和`password`是登录数据库的用户名和密码,`db`是要连接的数据库名称。
接下来,可以使用`pandas`库的`read_sql`函数来读取每个表格:
```python
import pandas as pd
# 读取表格
df = pd.read_sql('SELECT * FROM table_name', con=con)
```
其中,`table_name`是要读取的表格的名称。
然后,可以使用`pandas`库的`DataFrame`方法来增加列:
```python
if 'a' not in df.columns:
df['a'] = 0.0
if 'b' not in df.columns:
df['b'] = 0.0
```
这里使用了`if`语句来判断`a`和`b`列是否已经存在,如果不存在则使用`DataFrame`的方法增加列。注意,这里将`a`和`b`列的初始值都设置为0.0,可以根据实际需要修改。
最后,可以使用`pandas`库的`to_sql`函数将修改后的数据保存回数据库:
```python
# 将修改后的数据保存回数据库
df.to_sql('table_name', con=con, if_exists='replace', index=False)
```
其中,`table_name`是要保存到的表格的名称,`if_exists`参数指定了如果表格已经存在,则替换原有表格。
完整代码如下:
```python
import pymysql
import pandas as pd
# 连接数据库
con = pymysql.connect(host='localhost', user='root', password='password', db='database_name')
# 获取所有表格名称
cursor = con.cursor()
cursor.execute('SHOW TABLES')
tables = cursor.fetchall()
# 遍历每个表格
for table in tables:
table_name = table[0]
# 读取表格
df = pd.read_sql('SELECT * FROM {}'.format(table_name), con=con)
# 增加列
if 'a' not in df.columns:
df['a'] = 0.0
if 'b' not in df.columns:
df['b'] = 0.0
# 将修改后的数据保存回数据库
df.to_sql(table_name, con=con, if_exists='replace', index=False)
# 关闭数据库连接
con.close()
```
阅读全文