訪問資料庫(廖py)

2021-08-18 20:50:11 字數 3046 閱讀 6909

標籤(空格分隔): mysql sqlite

當我們需要儲存自己定義的儲存格式的時候,比如成績單

姓名成績

aaa95

bbb21

可以使用文字進行儲存,或者使用json格式儲存檔案。但是這種方法並不便捷,查詢和新增時都不能滿足要求。

因此使用資料庫(database)專門集中儲存和查詢的軟體,可以通過條件快速查詢到指定的資料。

根據某個年級的id就可以查詢到所有班級的行,這種查詢語句在關聯式資料庫中成為sql語句,可以寫成

select * from classes where grade_id = 『1』

結果也是乙個表:

sqlite3已經內建在python中,可以直接import呼叫。

表是資料庫中存放關係資料的集合,乙個資料庫中通常包含多個表,比如學生表、班級表、學校表。各表之間通過外來鍵關聯。

1.要運算元據庫,首先要連線到資料庫,乙個資料庫鏈結稱為connection;

2.連線到資料庫後,需要開啟游標cursor,通過cursor執行sql語句,然後獲得執行結果。

3.python定義了一套運算元據庫的api介面,任何資料庫要連線到python,只需要提供復合python標準的資料庫驅動即可。

# 匯入sqlite驅動:

>>>

import sqlite3

# 連線到sqlite資料庫

# 資料庫檔案是test.db

# 如果檔案不存在,會自動在當前目錄建立:

>>> conn = sqlite3.connect('test.db')

# 建立乙個cursor:

>>> cursor = conn.cursor()

# 執行一條sql語句,建立user表:

>>> cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')

0x10f8aa260>

# 繼續執行一條sql語句,插入一條記錄:

>>> cursor.execute('insert into user (id, name) values (\'1\', \'michael\')')

0x10f8aa260>

# 通過rowcount獲得插入的行數:

>>> cursor.rowcount

1# 關閉cursor:

>>> cursor.close()

# 提交事務:

>>> conn.commit()

# 關閉connection:

>>> conn.close()

>>> conn = sqlite3.connect('test.db')

>>> cursor = conn.cursor()

# 執行查詢語句:

>>> cursor.execute('select * from user where id=?', ('1',))

0x10f8aa340>

# 獲得查詢結果集:

>>> values = cursor.fetchall()

>>> values

[('1', 'michael')]

>>> cursor.close()

>>> conn.close()

num

work

1.建立connection

2.設定cursor

3.通過cursor.execute執行sql語句

4.完成操作後關閉connetion,cursor

使用cursor物件執行insert,update,delete語句時,執行結果由rowcount返回影響的行數。

執行select語句時,通過fetchall()可以拿到結果集,是乙個list,每個元素都是乙個tuple對應一行記錄。

語句中有幾個佔位符?就要對應幾個引數。

cursor.execute(『select * from user where name=? and pwd=?, (『abc』, 『passward』))

其中有兩個佔位符,所以有兩個參量。當只有乙個參量時,參量輸入也要為tuple。

cursor.execute(『select * from user where id=?』, (『1』,))

sqlite中使用select * from user where ...進行判斷選擇。

可以使用between選擇區間。

排序使用select * from user order by ...,降序時使用desc關鍵字。

當需要對排序進行選擇時,使用巢狀:

cursor.execute(『select * from (select * from user order by score) where score between ? and ?』, (low ,high))

其中?作為佔位符。

import mysql.connector

conn = mysql.connector.connect(user='root', passward='pwd', database='test')

curcor = conn.cursor()

其中佔位符為%s其餘操作mysql與sqlite類似。

有sqlite教程。

訪問資料庫 訪問資料庫

程式執行的時候,資料都是在記憶體中的。當程式終止的時候,通常都需要將資料儲存到磁碟上,無論是儲存到本地磁碟,還是通過網路儲存到伺服器上,最終都會將資料寫入磁碟檔案。而如何定義資料的儲存格式就是乙個大問題。如果我們自己來定義儲存格式,比如儲存乙個班級所有學生的成績單 名字成績 michael99 bo...

訪問資料庫 資料庫並行訪問

作者姓名 neo chen 陳景峰 暱稱 netkiller 呼號 bg7nyt 手機 86 13113668890 多維度架構 知乎 www.zhihu.com 這裡主要講述有關開發中遇到的資料庫並行問題 防止並行顯示背景 我們有乙個order訂單表,工作流如下 建立訂單 訂單分配 訂單審核 批准...

py連線資料庫

py連線資料庫 18,py 連線 mysql pip install pymysql 乙太網 自動獲取ip pymysql 連線 mysql pymysql 操作 mysql增刪改查 防止sql注入 pymysql python 操作mysql 模組 pip install mysql connec...