創(chuàng)建/連接數(shù)據(jù)庫
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
建立一張叫user的表
cursor.execute('create table user(id varchar(20) primary key, name verchar(20), password verchar(20), rights int)')
插入行
cursor.execute(r"insert into user values ('A00001', 'Adam', 'A00001', 0)")
cursor.execute(r"insert into user values ('A00002', 'Bart', 'A00002', 2)")
cursor.execute(r"insert into user values ('A00003', 'Lisa', 'A00003', 1)")
mess = [a, b, c, d]
cursor.execute(r"insert into user values (?, ?, ?, ?)", mess)
查詢
t = cursor.execute('select * from user where user.name!="Lisa"')
for row in t:
print(row)
# 輸出:
# ('A00001', 'Adam', 'A00001', 0)
# ('A00002', 'Bart', 'A00002', 2)
修改了表之后要commit
conn.commit()
做完了你要做的要close
cursor.close()
conn.close()
修改數(shù)據(jù)
cursor.execute("update user set name=? where id=?", ('Maya', id))
刪除一行
cursor.execute('delete from user where id=?', id)
更新表
cursor.execute("alter table table_name add clum type")
說明:ALTER TABLE和SQLite SQLite對(duì)使用ALTER TABLE執(zhí)行的操作有所限制。最重要的一個(gè)限制是洒敏,它不支持使用ALTER TABLE定義主鍵和外鍵莹规,這些必須在最初創(chuàng)建表 時(shí)指定柠座。
通配符
最常使用的通配符是百分號(hào)(%)涩僻。在搜索串中妒峦,%表示任何字符出現(xiàn)任意次數(shù)伤疙。
cursor.execute("select * from user where name like 'H%'")
cursor.execute("select * from doc where name like ? and new=1", (name, ))
我用pycharm建的數(shù)據(jù)庫不知道為什么是只讀的沐祷,用sqlitestudio建的就沒什么問題。