Python SQLlite
SQLlite是一個不需要安裝的本地端資料庫,不少的app也都會運用到它!
在python中也是一直內建的lib,直接import sqllite3就可以使用了!
之前在讀mis2000老師的書(asp.net)的時候,老師說的很清楚也簡單,資料庫的使用來來去去就是那幾招『connection、open、cmd、close』,這心法,我僅記在心不敢有忘。
在sqllite這邊也是一樣的。
import sqllite3
def sql_Createdb(dbname,sqlcmd):
conn = sqllite3.connect(dbname)
c = conn.cursor()
c.execute(sqlcmd)
conn.commit()
conn.close()
def sql_Createdb(dbname,sqlcmd):
conn = sqllite3.connect(dbname)
c = conn.cursor()
c.execute(sqlcmd)
conn.commit()
conn.close()
if __name__ == '__main__'
db_name = 'python' # 預計建置的db名稱
cmd = 'create table tablename (id integer primarty key autoincrement,cell1 text,cell2 integer,cell3 text)'
sql_Createdb(db_name,cmd)
cmd = 'create table tablename (id integer primarty key autoincrement,cell1 text,cell2 integer,cell3 text)'
sql_Createdb(db_name,cmd)
這樣子就可以直接去建置一個資料庫跟資料表了!
如果是要select的話
def sql_Selectdb(dbname,sqlcmd):
conn = sqllite3.connect(dbname)
c = conn.cursor()
c.execute(sqlcmd)
rows = c.fetchall()
conn.close()
return rows
以select的話,會回傳資料,所以會把整個rows拋回來給前端!conn = sqllite3.connect(dbname)
c = conn.cursor()
c.execute(sqlcmd)
rows = c.fetchall()
conn.close()
return rows
這時候再透過迴圈,就可以處理回來的資料了!
cmd = 'select * from tablename'
for row in sql_Selectdb(dbname,cmd):
print(row)
for row in sql_Selectdb(dbname,cmd):
print(row)
當然你也可以透過讀取csv檔去把csv檔的資料一次寫入sqllite
with open('xxx.csv', 'r', encoding='依實際格式') as f:
reader = csv.DictReader(f)
for row in reader:
cmd = 'insert into xxx (a, b, c) values ("%d","%s","%s") ' % (row[xx],row[xx],row[xx])
sql_Createdb(dbname_cmd)
reader = csv.DictReader(f)
for row in reader:
cmd = 'insert into xxx (a, b, c) values ("%d","%s","%s") ' % (row[xx],row[xx],row[xx])
sql_Createdb(dbname_cmd)
簡單說明!
沒有留言:
張貼留言