第一种:直接执行,没有参数的。
先链接数据库,之前的博客有写,这里不赘述:
例如查询全部:
conn = pymysql.connect(host=server,user=user,password=password,database=database,charset="utf8")
db = conn.cursor()#获取游标
sqlstr= "select * from 表名;"
db.execute(sqlstr)
conn.commit()#提交数据
第二种有参数的:
例如插入数据:
conn = pymysql.connect(host=server,user=user,password=password,database=database,charset="utf8")
db = conn.cursor()#获取游标
sqlstr= "INSERT INTO ElementsData (ELEM,MAT,TYP,REL,ESY,SEC,NODE1,NODE2,NODE3,NODE4,NODE5,NODE6,NODE7,NODE8)\
VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);"
db.execute(sqlstr,[str(line.split()[0]),str(line.split()[1]),str(line.split()[2]),str(line.split()[3]),str(line.split()[4]),\
str(line.split()[5]),str(line.split()[6]),str(line.split()[7]),str(line.split()[8]),str(line.split()[9]),\
str(line.split()[10]),str(line.split()[11]),str(line.split()[12]),str(line.split()[13])])#一行一行写入
conn.commit()#提交数据
第三种:在sql字符串上加变量;
比如动态创建表
tableName是变量。
sql = """Create Table If Not Exists """ + tableName + """ (
DTame DOUBLE NOT NULL PRIMARY KEY,
MaxPS DOUBLE,
2ndPS DOUBLE,
MinPS DOUBLE,
UResult DOUBLE
);"""
print(sql)
db.execute(sql)
conn.commit()