python3 SQLite3

操作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()

結果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章