Python中sqlite3的学习,基础操作(二)增删改查--增(插入数据)

插入数据的第一种方法和第二种方法(单行数据的插入以及循环插入多行的数据)

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('插入数据完毕')

插入是一一对应的,结果如下:

Python中sqlite3的学习,基础操作(二)增删改查--增(插入数据)_第1张图片 插入数据的第三种方法executemany(多行数据的插入)

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

删除之前的数据,运行,结果如下:

Python中sqlite3的学习,基础操作(二)增删改查--增(插入数据)_第2张图片

 本人新手,若有错误,请多指正,谢谢!

你可能感兴趣的:(python,sqlite,学习,python)