python 使用pymysql连接daily,读取每一张表,并且给每一张表格增加两列,表名需要使用反引号,列名是a和b,格式是小数,如果a和b列存在,则跳过
时间: 2023-11-15 09:06:24 浏览: 81
python连接mysql数据库并读取数据的实现
好的,可以使用以下代码实现:
```python
import pymysql
# 建立连接
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='daily')
# 获取游标
cursor = conn.cursor()
# 获取所有表名
cursor.execute("show tables")
tables = cursor.fetchall()
# 遍历每张表格
for table in tables:
table_name = table[0]
# 查询表格中所有列名
cursor.execute(f"select column_name from information_schema.columns where table_name='{table_name}'")
columns = cursor.fetchall()
# 判断a和b列是否存在
if ('a',) in columns and ('b',) in columns:
continue
# 如果a和b列不存在,则增加这两列
cursor.execute(f"alter table `{table_name}` add column a decimal(10,2), add column b decimal(10,2)")
# 提交修改并关闭连接
conn.commit()
conn.close()
```
这段代码会连接到daily数据库,获取所有表名,并遍历每张表格。对于每张表格,首先查询其中所有列名,判断a和b列是否存在。如果a和b列都存在,则跳过;如果其中有一个或两个不存在,则使用ALTER TABLE语句给表格增加这两列。最后提交修改并关闭连接。
阅读全文