學習記錄

2020-10-18 14:00:17

學習記錄1:Python3 sqlite3 模組

1.在指定位置建立sqlite資料庫

例子:在C:\database目錄下建立名為datasql的資料庫

# 在建立資料庫
conn = sqlite3.connect("C:\database\datasql.db")
print("資料庫建立成功")

2.在資料庫中建立表格

例子:在 datasql.db 中建立名為 table1 的表格

學會寫sql語句:

sql = 「create table +表格名字(表頭引數 資料型別,…)」
conn = sqlite3.connect("C:\database\datasql.db")
print("資料庫建立成功")
cursor = conn.cursor()
sql = '''
    create table tabletest1(
        ID  integer primary key autoincrement,
        Name varchar ,
        Num numeric ,
        Class varchar
        )
 '''
cursor.execute(sql)
print("表格建立成功")
cursor.close()
conn.commit()
conn.close()

3.插入資料

方法1:?法 插入列表資料.

語法範例:
主要關注sql語句和cursor.execute()語句:

sql = '''insert into 表格名稱
			(表頭名稱,表頭名稱....)
			values(?,?...)
'''
cursor.execute(sql,(列表[],列表[]...))

注意:values()中可以直接放元素,元素要用" "括起來

實戰例子:把data10列表中的資料插入表格中

data10 = ["yby",18,"光電172"]
conn = sqlite3.connect("C:\database\datasql.db")
print("資料庫建立成功")
cursor = conn.cursor()
sql = '''insert into table1
            (name,num,class)
            values(?,?,?)


'''
cursor.execute(sql,(data10[0],data10[1],data10[2]))
print("資料插入成功")
cursor.close()
conn.commit()
conn.close()

方法2 :%s法 插入列表資料.

join()函數可以去掉[],把列表的資料提取出來,但是把元素的" 「也同時去掉,因此經過join()函數處理的列表元素不能直接放入values,要重新加上」 「。方法是用for遍歷把列表每個元素都加上」 "。
data10 = ["yby","18","三年2班"]
for i in range(len(data10)):
    data10[i] = "'" + data10[i] + "'"
print(data10)
conn = sqlite3.connect("C:\database\datasql.db")
print("資料庫建立成功")
cursor = conn.cursor()
sql = '''insert into table1
            (name,num,class)
            values(%s)
''' % ",".join(data10)
cursor.execute(sql)
print("資料插入成功")
cursor.close()
conn.commit()
conn.close()