import sqlite3
# 插入数据 insert into(基于已经创建了数据库和表)
conn = sqlite3.connect('study.db')
cur = conn.cursor()
# 第一种方法
sql1 = '''
insert into company(id,name,age,address,salary)
values (1,'张三',32,'西湖',5000)
'''
sql2 = '''
insert into company(id,name,age,address,salary)
values (2,'李四',22,'南昌',15000)
'''
cur.execute(sql1)
cur.execute(sql2)
# 第二种方法
content = [3, '张三', 32, '西湖', 5000]
sql3 = ''' insert into company values (?,?,?,?,?) '''
cur.execute(sql3, content) # 插入过的数据,再插入会报错(主键约束)
# 也可将content换成(3, '张三', 32, '西湖', 5000)
contentList = [
(4, '张三', 32, '西湖', 5000),
(5, '李四', 22, '南昌', 15000),
]
for i in range(len(contentList)):
cur.execute(sql3, contentList[i])
conn.commit()
conn.close()
print('插入数据完毕')
插入是一一对应的,结果如下:
import sqlite3
# 插入数据第三钟方法executemany
conn = sqlite3.connect('study.db')
cur = conn.cursor()
contentList = [
(1, '张三', 32, '西湖', 5000),
(2, '李四', 22, '南昌', 15000),
(3, '张三', 32, '西湖', 5000),
(4, '李四', 22, '南昌', 15000),
]
sql = '''
insert into company values (?,?,?,?,?)
'''
cur.executemany(sql, contentList) # 对多行数据进行插入
conn.commit()
conn.close()
因为插入数据的id与之前插入的数据相同,会报错:sqlite3.IntegrityError: UNIQUE constraint failed: company.id
删除之前的数据,运行,结果如下:
本人新手,若有错误,请多指正,谢谢!