import pyodbc server = '127.0.0.1' database = 'SQL_PLC' username = 'sa' password = 'bme12345' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' + password) cursor = cnxn.cursor() cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", 10, 20, 30, 40, 50) cnxn.commit()错误
时间: 2023-12-25 19:03:15 浏览: 134
看起来你在使用 pyodbc 连接 SQL Server 数据库并插入数据,但是代码中存在错误。具体来说,cursor.execute() 方法的参数中缺少一个元组,你需要将要插入的数据作为参数传递给该方法,如下所示:
```python
cursor.execute("INSERT INTO plcdata (出水压力,瞬时流量,总流量,当日运行次数,运行总次数) VALUES (?, ?, ?, ?, ?)", (10, 20, 30, 40, 50))
```
注意,需要将要插入的数据放在一个元组中,并将该元组作为参数传递给 execute() 方法。另外,如果插入的数据值为字符串类型,需要用单引号或双引号将其括起来。最后,记得调用 cnxn.commit() 方法提交数据。
相关问题
连接mysql数据库 # mysql_conn = mysql.connector.connect(host='172.16.2.246', # port='33060', # user='root', # password='8ach4b6f9c', # database='testdata_analyse', # ) # 连接SqlServer数据库 # sqlserver_conn = pyodbc.connect( # "Driver={ODBC Driver 17 for SQL Server};" # "Server=127.0.0.1,34333;" # "Database=56_User;" # "Uid=56newstrc20161126UID;" # "Pwd=dfsalf5656^$($)RPRFK;" # 获取 SQL Server 数据 # sql_query = "SELECT i_ui_identifier,nvc_user_name FROM t_user_info" # sql_server_df = pd.read_sql(sql_query, sqlserver_conn) # ) # 连接MongoDB数据库 # mongo_client = pymongo.MongoClient("mongodb://127.0.0.1:27017/") # mongo_db = mongo_client["ywb_distribution"] # mongo_collection = mongo_db["payCondition"] # mongo_data = mongo_collection.find() # 使用 pandas 将数据转换为 DataFrame 格式 # import pandas as pd # # mongo_df = pd.DataFrame(mongo_data) # sql_server_df = pd.DataFrame(sql_server_data) # # # 将两个 DataFrame 进行左连接 # result_df = pd.merge(mongo_df, sql_server_df, how='left', left_on='userId', right_on='i_ui_identifier') 怎么将查询结果插入到mysql数据库中,如何编写代码??
可以使用 pandas 库中的 to_sql() 方法将查询结果直接插入到 MySQL 数据库中。下面是示例代码:
```python
import pandas as pd
import mysql.connector
# 连接 MySQL 数据库
mysql_conn = mysql.connector.connect(
host='172.16.2.246',
port='33060',
user='root',
password='8ach4b6f9c',
database='testdata_analyse'
)
# 执行查询操作,查询结果保存在 result_df 变量中
result_df = pd.read_sql("SELECT * FROM table_name", mysql_conn)
# 将查询结果插入到 MySQL 数据库中
result_df.to_sql(name='new_table_name', con=mysql_conn, if_exists='replace', index=False)
# 关闭连接
mysql_conn.close()
```
其中,name 参数指定要插入的表名,con 参数指定要使用的连接对象,if_exists 参数指定当目标表已经存在时的行为,index 参数指定是否将 DataFrame 的索引作为一列插入到表中。在上面的代码中,if_exists 参数的值为 'replace',表示如果目标表已经存在,则先删除表中的数据再插入新数据。如果要追加数据而不是替换,请将 if_exists 参数的值设置为 'append'。
# import pyodbc # import mysql.connector # import schedule # import time # import pymongo # def job(): # 连接SqlServer数据库 # sqlserver_conn = pyodbc.connect( # "Driver={ODBC Driver 17 for SQL Server};" # "Server=127.0.0.1,34333;" # "Database=56_User;" # "Uid=56newstrc20161126UID;" # "Pwd=dfsalf5656^$($)RPRFK;" # ) # 连接MongoDB数据库 # mongo_client = pymongo.MongoClient("mongodb://127.0.0.1:27017/") # mongo_db = mongo_client["ywb_distribution"] # mongo_collection = mongo_db["payCondition"] # mongo_data = mongo_collection.find() # 使用 pandas 将数据转换为 DataFrame 格式 # import pandas as pd # # mongo_df = pd.DataFrame(mongo_data) # sql_server_df = pd.DataFrame(sql_server_data) # # # 将两个 DataFrame 进行左连接 # result_df = pd.merge(mongo_df, sql_server_df, how='left', left_on='userId', right_on='i_ui_identifier') 将这个查询结果进行插入,怎么写python代码
你这段代码存在一些问题,缺少了从 SQL Server 中获取数据的代码,因此无法完成左连接操作。此外,在代码中也没有插入数据到 MongoDB 数据库的代码。以下是一个简单的示例,首先获取 SQL Server 中的数据,然后将数据插入到 MongoDB 数据库中:
```python
import pyodbc
import pymongo
import pandas as pd
# 连接SqlServer数据库
sqlserver_conn = pyodbc.connect(
"Driver={ODBC Driver 17 for SQL Server};"
"Server=127.0.0.1,34333;"
"Database=56_User;"
"Uid=56newstrc20161126UID;"
"Pwd=dfsalf5656^$($)RPRFK;"
)
# 获取 SQL Server 数据
sql_query = "SELECT * FROM table_name"
sql_server_df = pd.read_sql(sql_query, sqlserver_conn)
# 连接MongoDB数据库
mongo_client = pymongo.MongoClient("mongodb://127.0.0.1:27017/")
mongo_db = mongo_client["ywb_distribution"]
mongo_collection = mongo_db["payCondition"]
# 将数据插入到 MongoDB 数据库
mongo_collection.insert_many(sql_server_df.to_dict('records'))
```
请将 `table_name` 替换为你要查询的表名,也可以根据需要修改其他参数。注意,这只是一个简单的示例,实际情况下可能需要根据具体需求进行修改。
阅读全文