如果csv文件中没有什么新内容,我希望插入查询不执行任何操作,以防万一,我只想插入一个,而不是所有csv,那么任何建议都很棒!
PS:它不能与其他问题重复,因为在这里我们有“%s”没有稳定值,而在python中,语法是不同的!
cursorobject=connection.cursor()
sql2="CREATE DATABASE IF NOT EXISTS mydb"
cursorobject.execute(sql2)
sql1="CREATE TABLE IF NOT EXISTS users(id int(11) NOT NULL AUTO_INCREMENT,first_name varchar(255),last_name varchar(255),company_name varchar(255),address varchar(255),city varchar(255),country varchar(255),postal varchar(255),phone1 varchar(255),phone2 varchar(255),email varchar(255),web varchar(255),PRIMARY KEY(id))"
cursorobject.execute(sql1)
csvfile=open('Entries.csv','r')
reader = csv.reader(csvfile,delimiter=',')
for row in reader:
cursorobject.execute("INSERT INTO users(first_name,last_name,company_name,address,city,country,postal,phone1,phone2,email,web) VALUES (%s ,%s, %s,%s,%s,%s,%s,%s,%s,%s,%s)",row)
答案 0 :(得分:0)
在将记录输入数据库之前,在用户表上进行选择查询时,可能要使用名字和姓氏
答案 1 :(得分:0)
您可以使用INSERT INTO SELECT
来完成
INSERT INTO users
(first_name,last_name,company_name,address,city,country,postal,phone1,phone2,email,web)
SELECT %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s FROM users WHERE NOT EXISTS
(SELECT * FROM users WHERE first_name=%s AND last_name=%s)
注意:正如您所说的%s
不是静态值,但是如果您执行sql,%s
将根据您通过%s
传递的参数转换为实际数据/ p>