操作SQLite3創建表
import sqlite3
con = sqlite3.connect('first.db') # 在硬盤上創建連接
cur = con.cursor() # 創建遊標對象,執行sql
# sql語句
sql = '''create table t_person(
pno INTEGER primary key autoincrement,
pname VARCHAR not null,
age INTEGER
)'''
try:
# 執行sql
cur.execute(sql)
print('創建成功')
except Exception as e:
print(e)
print('創建失敗')
finally:
#關閉遊標
cur.close()
#關閉連接
con.close()
插入數據
import sqlite3
con = sqlite3.connect('first.db') # 在硬盤上創建連接
cur = con.cursor() # 創建遊標對象,執行sql
# sql語句
sql = 'insert into t_person(pname, age) values (?,?)'
# 在創建表時,設置主鍵自增,這裏就不插入pno的值了
try:
# 執行sql
cur.execute(sql,('zp_2', 22))
# 插入多條數據
cur.executemany(sql, [('zp_3', 22), ('zp_4', 22), ('zp_5', 22)])
# 提交事務
con.commit()
print('插入成功')
except Exception as e:
print(e)
print('插入失敗')
con.rollback() #回滾
finally:
#關閉遊標
cur.close()
#關閉連接
con.close()
查看一下
查詢數據
import sqlite3
con = sqlite3.connect('first.db') # 在硬盤上創建連接
cur = con.cursor() # 創建遊標對象,執行sql
# sql語句
sql = 'select * from t_person'
try:
# 執行sql
cur.execute(sql)
# 獲取結果
person_one = cur.fetchone()
print('打印第一條數據')
print(person_one)
person_all = cur.fetchall()
print('打印剩餘全部數據')
print(person_all)
print('查詢成功')
except Exception as e:
print(e)
print('查詢失敗')
finally:
#關閉遊標
cur.close()
#關閉連接
con.close()
修改刪除數據
import sqlite3
con = sqlite3.connect('first.db') # 在硬盤上創建連接
cur = con.cursor() # 創建遊標對象,執行sql
# sql語句
sql = 'select * from t_person'
update_sql = 'update t_person set pname=? where pno=?'
delete_sql = 'delete from t_person where pno=?'
try:
# 執行sql
cur.execute(sql)
person_one = cur.fetchone()
print('打印第一條數據')
print(person_one)
cur.execute(update_sql,('update_1', 1)) #修改第一條數據
#提交
con.commit()
print('修改成功')
cur.execute(sql)
person_one = cur.fetchone()
print('打印第一條數據')
print(person_one)
cur.execute(sql)
person_all = cur.fetchall()
print('打印全部數據')
print(person_all)
# 刪除第一條數據
cur.execute(delete_sql, (1,)) #參數時元組類型,需要加逗號
con.commit()
print('刪除成功')
cur.execute(sql)
person_all = cur.fetchall()
print('打印全部數據')
print(person_all)
except Exception as e:
print(e)
print('修改失敗')
con.rollback()
finally:
#關閉遊標
cur.close()
#關閉連接
con.close()
結果