python對sqlite資料庫的操作

2022-08-26 06:36:06 字數 3293 閱讀 5974

對資料做更改必須得使用conn.commit()語句變更才生效。

為了使語句安全,使用這樣的格式,傳變數。symbol = 'rhat' c.execute("select * from stocks where symbol = '%s'" % symbol)

使用完後記得關閉資料庫,使用conn.close()語句。

in [1]:

import

sqlite3

conn

=sqlite3.connect('example.db')

c

=conn.cursor()

# 建立表

c.execute('''create table stocks

(date text, trans text, symbol text, qty real, price real)''')

# 插入一行資料

c.execute("insert into stocks values ('2006-01-05','buy','rhat',100,35.14)")

# 儲存(提交)資料

conn.commit()

# 我們也可以關閉連線,如果我們完成了它。

# 只要確保所有的更改都已提交,否則它們將丟失。

conn.close()

in [2]:

conn

=sqlite3.connect('example.db')

c

=conn.cursor()

symbol

='rhat'

c.execute("select * from stocks where symbol = '%s'"

%symbol)

print(c.fetchone())

('2006-01-05', 'buy', 'rhat', 100.0, 35.14)

in [3]:

conn.close()

in [15]:

conn

=sqlite3.connect('example.db')

c

=conn.cursor()

purchases

= [('2006-03-28', 'buy', 'ibm', 1000, 45.00),

('2006-04-05', 'buy', 'msft', 1000, 72.00),
('2006-04-06', 'sell', 'ibm', 500, 53.00),
]
c.executemany('insert into stocks values (?,?,?,?,?)', purchases)
conn.commit()
conn.close()

in [79]:

conn

=sqlite3.connect('example.db')

c

=conn.cursor()

c.execute('select * from stocks')
print(c.fetchmany(10))
conn.close()

[('2006-01-05', 'buy', 'rhat', 100.0, 35.14), ('2006-03-28', 'buy', 'ibm', 1000.0, 45.0), ('2006-04-05', 'buy', 'msft', 1000.0, 72.0), ('2006-04-06', 'sell', 'ibm', 500.0, 53.0), ('2006-03-28', 'buy', 'ibm', 1000.0, 45.0), ('2006-04-05', 'buy', 'msft', 1000.0, 72.0), ('2006-04-06', 'sell', 'ibm', 500.0, 53.0), ('2006-03-28', 'buy', 'ibm', 1000.0, 45.0), ('2006-04-05', 'buy', 'msft', 1000.0, 72.0), ('2006-04-06', 'sell', 'ibm', 500.0, 53.0)]

in [111]:

conn

=sqlite3.connect('example.db')

c

=conn.cursor()

t

= ('rhat',20,'buy') #使用元組的方式,使資料更加安全。

c.execute('select * from stocks where symbol=? and price>? and trans=?', t)
#print(c.fetchall()) #顯示全部記錄。

#print(c.fetchmany(10)) #顯示多條記錄。

print(c.fetchone()) #顯示一條記錄。

conn.close()

('2006-01-05', 'buy', 'rhat', 100.0, 35.14)

in [112]:

import

hashlib

def

md5sum(t):

return

hashlib.md5(t).hexdigest()

con

=sqlite3.connect(":memory:")

con.create_function("md5", 1, md5sum)
cur

=con.cursor()

cur.execute("select md5(?)", (b"foo",))
print(cur.fetchone()[0])

con.close()

acbd18db4cc2f85cedef654fccc4a4d8

Android對SQLite批量新增資料

有人去面試的時候面試官問這麼乙個問題。如何將大量的資料同時插入到sqlite?或者說批量資料插入資料庫?本人總結了一下幾種方法,重點注意後面那一點 1.使用contentvalues插入 db.begintransaction 手動設定開始事務 for contentvalues v list db...

Python 操作sqlite資料庫

sqlite是一種輕量級的資料庫,它最大的特點就是無需安裝。資料庫本身以乙個單獨的檔案的形式存放。sqlite只有5種資料型別 null 值是乙個 null 值。integer 值是乙個帶符號的整數,根據值的大小儲存在 1 2 3 4 6 或 8 位元組中。real 值是乙個浮點值,儲存為 8 位元...

Python連線SQLite資料庫

sqlite作為一款輕型資料庫,管理工具有很多,比如sqlite expert professional,很適合用來儲存python 爬蟲的相關資料,下面列出基本的增刪查改操作 讀取操作 conn1 sqlite3.connect board.databasepath conn1.row facto...