oracle数据库更新语句_20_手把手教你学Python之操作数据库
數(shù)據(jù)庫(kù)是數(shù)據(jù)的倉(cāng)庫(kù),將大量數(shù)據(jù)按照一定的方式組織并存儲(chǔ)起來(lái),方便進(jìn)行管理和維護(hù),例如快速檢索和統(tǒng)計(jì)等。數(shù)據(jù)庫(kù)的主要特點(diǎn):
- 以一定的方式組織、存儲(chǔ)數(shù)據(jù);
- 能為多個(gè)用戶共享;
- 與程序彼此獨(dú)立。
- ……
數(shù)據(jù)庫(kù)管理系統(tǒng)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員通過(guò)DBMS進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。主要功能包括:數(shù)據(jù)定義(創(chuàng)建數(shù)據(jù)庫(kù)、表等)、數(shù)據(jù)操縱(增刪查改等)、數(shù)據(jù)庫(kù)控制(并發(fā)、權(quán)限等)、數(shù)據(jù)庫(kù)維護(hù)(轉(zhuǎn)存、恢復(fù)等)等。
常見(jiàn)數(shù)據(jù)庫(kù)類型
當(dāng)前常見(jiàn)的數(shù)據(jù)庫(kù)類型有:關(guān)系型數(shù)據(jù)庫(kù)、鍵值存儲(chǔ)數(shù)據(jù)庫(kù)、面向文檔數(shù)據(jù)庫(kù)、圖數(shù)據(jù)庫(kù)等。
- 關(guān)系型數(shù)據(jù)庫(kù):當(dāng)前應(yīng)用最廣泛的數(shù)據(jù)庫(kù)類型,把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡(jiǎn)單的二元關(guān)系(即二維表形式),例如MySQL、SQL Server、Oracle、SQLite等;
- 鍵值存儲(chǔ)數(shù)據(jù)庫(kù):使用簡(jiǎn)單的鍵值方法來(lái)存儲(chǔ)數(shù)據(jù),其中鍵作為唯一標(biāo)記,是一種非關(guān)系數(shù)據(jù)庫(kù),例如Redis;
- 面向文檔數(shù)據(jù)庫(kù):用于存放并獲取文檔,主要是XML、JSON等具備自我描述特性、呈現(xiàn)層次結(jié)構(gòu)的文檔,例如MongoDB;
- 圖數(shù)據(jù)庫(kù):一種存儲(chǔ)圖關(guān)系的數(shù)據(jù)庫(kù),應(yīng)用圖理論存儲(chǔ)實(shí)體之間的關(guān)系信息,例如Neo4J。
關(guān)系型數(shù)據(jù)庫(kù)
關(guān)系型數(shù)據(jù)庫(kù)是指采用關(guān)系模型組織數(shù)據(jù)的數(shù)據(jù)庫(kù),它以行和列的形式存儲(chǔ)數(shù)據(jù),一系列的行和列組成了表,一組表組成了數(shù)據(jù)庫(kù)。在關(guān)系模型中,實(shí)體以及實(shí)體之間的聯(lián)系都會(huì)映射成統(tǒng)一的關(guān)系:二維表,關(guān)系型數(shù)據(jù)庫(kù)操作的對(duì)象和返回的結(jié)果都是二維表。
- 關(guān)系:可以理解為一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名,也就是表名;
- 屬性: 可以理解為二維表中的一列,在數(shù)據(jù)庫(kù)中稱為字段,屬性名就是表中的列名;
- 域:屬性值的取值范圍,數(shù)據(jù)庫(kù)中某一列的取值范圍;
- 元組:可以理解為二維表中的一行,在數(shù)據(jù)庫(kù)中稱為記錄;
- 分量:元組中的一個(gè)屬性值;
- 關(guān)鍵字:可以唯一標(biāo)識(shí)元組的屬性或?qū)傩越M,數(shù)據(jù)庫(kù)中稱為主鍵。
SQLite數(shù)據(jù)庫(kù)
SQLite是一個(gè)輕量級(jí)的關(guān)系型數(shù)據(jù)庫(kù),SQLite并沒(méi)有包含大型客戶/服務(wù)器數(shù)據(jù)庫(kù)(如Oracle、SQL Server)的所有特性,但它包含了操作本地?cái)?shù)據(jù)的所有功能,簡(jiǎn)單易用、反應(yīng)快。
SQLite本質(zhì)上就是一個(gè)文件,內(nèi)部只支持 NULL、INTEGER、REAL(浮點(diǎn)數(shù))、TEXT(字符串文本)和BLOB(二進(jìn)制對(duì)象)這五種數(shù)據(jù)類型,但實(shí)際上SQLite也接受varchar(n)等數(shù)據(jù)類型,只不過(guò)在運(yùn)算或保存時(shí)會(huì)轉(zhuǎn)成上面對(duì)應(yīng)的數(shù)據(jù)類型。
在SQLite中可以把各種類型的數(shù)據(jù)保存到任何字段中,而不用關(guān)心字段聲明的數(shù)據(jù)類型是什么。因此SQLite在解析建表語(yǔ)句時(shí),會(huì)忽略建表語(yǔ)句中跟在字段名后面的數(shù)據(jù)類型信息。
結(jié)構(gòu)化查詢語(yǔ)言SQL
結(jié)構(gòu)化查詢語(yǔ)言(Structured Query Language 簡(jiǎn)稱SQL ),是一種特殊的編程語(yǔ)言,主要用于關(guān)系型數(shù)據(jù)庫(kù)的操作,包括數(shù)據(jù)存取、查詢、更新和管理等。
SQL語(yǔ)言是一種高級(jí)的非過(guò)程化編程語(yǔ)言,用戶使用SQL對(duì)數(shù)據(jù)操作時(shí),并不需要知道數(shù)據(jù)的存儲(chǔ)方式和操作細(xì)節(jié)。不同的關(guān)系型數(shù)據(jù)庫(kù)底層存儲(chǔ)方式不同,但是可以使用相同的SQL語(yǔ)句進(jìn)行操作,對(duì)于用戶來(lái)說(shuō),操作方式類似,可以快速在不同的數(shù)據(jù)庫(kù)上進(jìn)行移植。
SQL語(yǔ)言不僅可獨(dú)立使用,還可嵌入到其他高級(jí)語(yǔ)言(如Java、Python等)中,兩種方式下SQL語(yǔ)法結(jié)構(gòu)基本一致,為用戶提供了極大的靈活性和便利性。
創(chuàng)建數(shù)據(jù)庫(kù)表時(shí),使用create table,刪除表時(shí),使用drop table,建議在建表和刪表前進(jìn)行判斷,否則創(chuàng)建一個(gè)已存在的表或刪除不存在的表都會(huì)報(bào)錯(cuò)。具體語(yǔ)法細(xì)節(jié)如下。
從數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)時(shí),使用select語(yǔ)句,通過(guò)where子句指定查詢條件,通過(guò)group by子句對(duì)查詢結(jié)果進(jìn)行分組,通過(guò)order by子句對(duì)查詢結(jié)果進(jìn)行排序。具體語(yǔ)法細(xì)節(jié)如下:
向數(shù)據(jù)庫(kù)表中插入內(nèi)容時(shí),使用insert into語(yǔ)句??梢灾付ㄗ侄我约皩?duì)應(yīng)的值,字段和值的順序需一一對(duì)應(yīng)。當(dāng)省略字段時(shí),表示按照數(shù)據(jù)庫(kù)表中字段的順序插入相應(yīng)的值。
更新數(shù)據(jù)庫(kù)表中的內(nèi)容時(shí),使用update語(yǔ)句,可以通過(guò)where子句指定需要更新的記錄,否則更新所有記錄;刪除數(shù)據(jù)庫(kù)表中的內(nèi)容時(shí),使用delete語(yǔ)句,可以通過(guò)where子句指定需要?jiǎng)h除的記錄,否則刪除所有記錄,但是并不會(huì)刪除表結(jié)構(gòu),注意和drop table之間的區(qū)別。
Python DB-API規(guī)范
Python提供了一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)API,稱為DB-API,用于處理基于SQL的數(shù)據(jù)庫(kù)的訪問(wèn)和操作。
DB-API在代碼與驅(qū)動(dòng)程序之間提供了一個(gè)抽象層,定義了一系列必需的數(shù)據(jù)庫(kù)存取方式,使得不同的數(shù)據(jù)庫(kù)擁有統(tǒng)一的訪問(wèn)接口,從而可以很方便的在不同的數(shù)據(jù)庫(kù)之間進(jìn)行切換,而無(wú)需丟棄現(xiàn)有的代碼。
Python操作SQLite流程
- 導(dǎo)入模塊:sqlite3
- 連接數(shù)據(jù)庫(kù)得到Connection對(duì)象:sqlite3. connect(文件名)
- 獲取Cursor對(duì)象:Connection對(duì)象.cursor()
- 執(zhí)行數(shù)據(jù)庫(kù)的增刪查改操作:Cursor對(duì)象.execute(sql語(yǔ)句)等
- 提交數(shù)據(jù)庫(kù)操作: Connection對(duì)象. commit()
- 關(guān)閉Cursor:Cursor對(duì)象.close()
- 關(guān)閉Connection:Connection對(duì)象.close()
注意:當(dāng)需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改時(shí),一定要調(diào)用commit()方法,否則不會(huì)更新數(shù)據(jù)庫(kù)。
Python操作數(shù)據(jù)庫(kù)案例
今日練習(xí)題
更多詳細(xì)內(nèi)容可查看視頻講解,手把手教你學(xué)Python(入門基礎(chǔ))課程完整視頻騰訊課堂鏈接:https://ke.qq.com/course/1581404?tuin=4c5cc1bc
更多Python學(xué)習(xí)資料請(qǐng)加入群、聯(lián)系助理老師或關(guān)注微信公眾號(hào)獲取,我們會(huì)不定期更新!
總結(jié)
以上是生活随笔為你收集整理的oracle数据库更新语句_20_手把手教你学Python之操作数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ddrelease64 黑苹果_GitH
- 下一篇: websocket python爬虫_p