oracle數據庫更新語句_20_手把手教你學Python之操作數據庫

6281f74f67008ca12027e4a9e5a60c0e.png

數據庫是數據的倉庫,將大量數據按照一定的方式組織并存儲起來,方便進行管理和維護,例如快速檢索和統計等。數據庫的主要特點:

  • 以一定的方式組織、存儲數據;
  • 能為多個用戶共享;
  • 與程序彼此獨立。
  • ……

數據庫管理系統是一種操縱和管理數據庫的大型軟件。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用戶通過DBMS訪問數據庫中的數據,數據庫管理員通過DBMS進行數據庫的維護工作。主要功能包括:數據定義(創建數據庫、表等)、數據操縱(增刪查改等)、數據庫控制(并發、權限等)、數據庫維護(轉存、恢復等)等。

常見數據庫類型

當前常見的數據庫類型有:關系型數據庫鍵值存儲數據庫面向文檔數據庫圖數據庫等。

  • 關系型數據庫:當前應用最廣泛的數據庫類型,把復雜的數據結構歸結為簡單的二元關系(即二維表形式),例如MySQLSQL ServerOracleSQLite等;
  • 鍵值存儲數據庫:使用簡單的鍵值方法來存儲數據,其中鍵作為唯一標記,是一種非關系數據庫,例如Redis
  • 面向文檔數據庫:用于存放并獲取文檔,主要是XML、JSON等具備自我描述特性、呈現層次結構的文檔,例如MongoDB
  • 圖數據庫:一種存儲圖關系的數據庫,應用圖理論存儲實體之間的關系信息,例如Neo4J

關系型數據庫

關系型數據庫是指采用關系模型組織數據的數據庫,它以行和列的形式存儲數據,一系列的行和列組成了表,一組表組成了數據庫。在關系模型中,實體以及實體之間的聯系都會映射成統一的關系二維表,關系型數據庫操作的對象和返回的結果都是二維表

  • 關系:可以理解為一張二維表,每個關系都有一個關系名,也就是表名;
  • 屬性: 可以理解為二維表中的一列,在數據庫中稱為字段,屬性名就是表中的列名;
  • 域:屬性值的取值范圍,數據庫中某一列的取值范圍;
  • 元組:可以理解為二維表中的一行,在數據庫中稱為記錄
  • 分量:元組中的一個屬性值
  • 關鍵字:可以唯一標識元組的屬性或屬性組,數據庫中稱為主鍵

SQLite數據庫

SQLite是一個輕量級的關系型數據庫,SQLite并沒有包含大型客戶/服務器數據庫(如Oracle、SQL Server)的所有特性,但它包含了操作本地數據的所有功能,簡單易用、反應快

SQLite本質上就是一個文件,內部只支持 NULLINTEGERREAL浮點數)、TEXT(字符串文本)和BLOB(二進制對象)這五種數據類型,但實際上SQLite也接受varchar(n)等數據類型,只不過在運算或保存時會轉成上面對應的數據類型

在SQLite中可以把各種類型的數據保存到任何字段中,而不用關心字段聲明的數據類型是什么。因此SQLite在解析建表語句時,會忽略建表語句中跟在字段名后面的數據類型信息

結構化查詢語言SQL

結構化查詢語言(Structured Query Language 簡稱SQL ),是一種特殊的編程語言,主要用于關系型數據庫的操作,包括數據存取、查詢、更新和管理等

SQL語言是一種高級的非過程化編程語言,用戶使用SQL對數據操作時,并不需要知道數據的存儲方式和操作細節。不同的關系型數據庫底層存儲方式不同,但是可以使用相同的SQL語句進行操作,對于用戶來說,操作方式類似,可以快速在不同的數據庫上進行移植

SQL語言不僅可獨立使用,還可嵌入到其他高級語言(如Java、Python等)中,兩種方式下SQL語法結構基本一致,為用戶提供了極大的靈活性和便利性

創建數據庫表時,使用create table,刪除表時,使用drop table,建議在建表和刪表前進行判斷,否則創建一個已存在的表刪除不存在的表都會報錯。具體語法細節如下。

35bcfee9d8c3a815b526633dadb923d7.png

從數據庫中查詢數據時,使用select語句,通過where子句指定查詢條件,通過group by子句對查詢結果進行分組,通過order by子句對查詢結果進行排序。具體語法細節如下:

d50678b9c009ff8ba1b12e9fa6e81995.png

2e98c99559cb0d35155dde8a855ded59.png

b59e1b9c5d149cd8e383df759b62d4c1.png

向數據庫表中插入內容時,使用insert into語句。可以指定字段以及對應的值,字段和值的順序需一一對應。當省略字段時,表示按照數據庫表中字段的順序插入相應的值

6ac499a3e82c6aadc3b346b4010faee8.png

更新數據庫表中的內容時,使用update語句,可以通過where子句指定需要更新的記錄,否則更新所有記錄;刪除數據庫表中的內容時,使用delete語句,可以通過where子句指定需要刪除的記錄,否則刪除所有記錄,但是并不會刪除表結構,注意和drop table之間的區別

af3f7b2b94c7c47cda51083131ce6bb4.png

Python DB-API規范

Python提供了一個標準數據庫API,稱為DB-API,用于處理基于SQL的數據庫的訪問和操作

c209097d382dc871e5fd2fa1ee5458fa.png

DB-API在代碼與驅動程序之間提供了一個抽象層,定義了一系列必需的數據庫存取方式,使得不同的數據庫擁有統一的訪問接口,從而可以很方便的在不同的數據庫之間進行切換,而無需丟棄現有的代碼。

82b611043e68927d974bf04988e456fd.png

Python操作SQLite流程

  • 導入模塊:sqlite3
  • 連接數據庫得到Connection對象:sqlite3. connect(文件名)
  • 獲取Cursor對象:Connection對象.cursor()
  • 執行數據庫的增刪查改操作:Cursor對象.execute(sql語句)等
  • 提交數據庫操作: Connection對象. commit()
  • 關閉Cursor:Cursor對象.close()
  • 關閉Connection:Connection對象.close()

注意:當需要對數據庫進行修改時,一定要調用commit()方法,否則不會更新數據庫

Python操作數據庫案例

fae625663b8d22729a05b6a5c84e3407.png

d40f1961d3f0d5f4df202938a468596f.png

f4cf29292c3155c6c89caec704e71f54.png

今日練習題

72b347727758112abf95d5c0f8faede6.png

更多詳細內容可查看視頻講解,手把手教你學Python(入門基礎)課程完整視頻騰訊課堂鏈接:https://ke.qq.com/course/1581404?tuin=4c5cc1bc

089c048a2a5a06b948ebfb9a4090e08c.png

更多Python學習資料請加入群、聯系助理老師或關注微信公眾號獲取,我們會不定期更新!

6e575a53d8eb792d76f2a88bd34e7328.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457958.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457958.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第十周學習進度

第十周 所花時間(包括上課) 10小時 代碼量(行) 0行 博客量(篇) 4篇 了解到的知識點 對各組進行評價;思考并回復各組 轉載于:https://www.cnblogs.com/qwer111/p/5470819.html

嵌入式常見筆試題總結(3)

1:設float a2, b4, c3;,以下C語言表達式與代數式 (ab)c計算結果不一致的是 A.(ab)*c/2 B.(1/2)*(ab)*c C.(ab)*c*1/2 D.c/2*(ab) 參考答案:B,因為a,b,c三個變量都是浮點數,所以在B答案中其結果是0,因為…

查詢Oracle正在執行的sql語句

--查詢Oracle正在執行的sql語句及執行該語句的用戶 [sql] view plaincopy SELECT b.sid oracleID, b.username 登錄Oracle用戶名, b.serial#, spid 操作系統ID, paddr, sql_text 正在執行的SQL, b.machine 計算機名 FROM v$p…

WinForm 清空界面控件值的小技巧

WinForm 清空界面控件值的小技巧 原文:WinForm 清空界面控件值的小技巧在WinForm里面有時候需要清空自己輸入內容或是選擇的選項,以便重新操作流程,那么一般你是怎么清空界面各個控件值的呢?如果窗體里面控件,尤其是TextBox控件比…

int 取值范圍_一定范圍內的隨機數

老司機的新問題,取得[min, max]范圍的隨機數。C版本的rand函數很不容易用對,直接用rand() % (max - min 1) min,這個公式不對。這個公式與取最低位的算法相同,而隨機數的最低幾位不一定等概率。Donald Knuth博士教導我們正確的用…

virsh的使用

2019獨角獸企業重金招聘Python工程師標準>>> ###這里最先要完成的是對網卡的配置(os ubuntu14.04) 目的是實現vm上是以橋接的方式聯網 修改/etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback #auto eth0…

嵌入式常見筆試題總結(4)

1:用C語言實現大小端的測試 Int CheckCpu() { union { int a; char b; }c; c.a1; if(c.b1) printf(“小端”); else printf(“大端”); } 2:volatile的作用有哪些? Volatile第一變量相當于告訴編…

《java入門第一季》之類String類小案例

String類有許多獲取方法,API文檔里面可查看。針對獲取方法,給出小案例。 /** 需求:遍歷獲取字符串中的每一個字符* 分析: 用到兩個方法:char charAt(int index) 表示獲取字符串指定索引的字符int length() …

同字母異序詞 python_49. 字母異位次分組(Python)

題目 給定一個字符串數組,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字符串。 說明 所有輸入均為小寫字母。 不考慮答案輸出的順序。 示例 輸入: ["eat", "tea", "tan", "ate", "nat&quo…

嵌入式常見筆試題總結(5)

1、 如何在C中初始化一個字符數組。這個問題看似很簡單,但是我們要將最簡單的問題用最嚴謹的態度來對待。關鍵的地方:初始化、字符型、數組。最簡單的方法是char array[];。這個問題看似解決了,但是在初始化上好像還欠缺點什么,個…

SQL Server - 高可用與災難恢復(HADR)技術 -- AlwaysOn可用性組(理論篇)

因為篇幅原因,AlwaysOn可用性組被拆成了兩部分:理論部分和實戰部分。而實戰部分又被拆成了準備工作和AlwaysOn可用性組搭建。 三篇文章各自的鏈接: SQL Server ->> 高可用與災難恢復(HADR)技術 -- AlwaysOn&…

嵌入式常見筆試題總結(6)

一、常識理論題 1、 簡述嵌入式操作系統有哪些,你用過哪幾種,簡述其特點、優勢及劣勢?(5分) 2、 請描述控制及提高嵌入式軟件質量有哪些辦法,在開發過程中怎么才能保證嵌入式軟件的可靠性?(5分)…

python 3.6.5編譯安裝_Linux系統安裝Python3.6.5

Linux系統安裝Python3.6.5 1、下載Python3.6.5 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 如果報command not found則執行:yum -y install wget命令后再進行下載 也可下載好安裝包進行手動上傳 2、安裝Python3.6可能使用的依賴 yum install o…

從傳統運維到云運維演進歷程之軟件定義存儲(一)

運維是企業業務系統從規劃、設計、實施、交付到運維的最后一個步驟,也是重要的步驟。運維從橫向、縱向分可以分為多個維度和層次,本文試圖拋開這紛繁復雜的概念,講述一個傳統的企業級運維人員轉型到云運維人員,尤其是軟件定義存儲…

Abp Uow 設計

初始化入口 在AbpKernelModule類中&#xff0c;通過UnitOfWorkRegistrar.Initialize(IocManager) 方法去初始化 1 /// <summary>2 /// This class is used to register interceptor for needed classes for Unit Of Work mechanism.3 /// </summary>4 …

python3.8 實現鼠標自動移動_“新生報到”!【移動機器人 HD-1500】負載1500kg,實現了重型貨物運輸的自動化...

2020年第三季度歐姆龍自動化&#xff08;中國&#xff09;有限公司新品【移動機器人 HD-1500】即日起在中國市場首次對外發布&#xff0c;實現了重型貨物運輸的自動化。這款最新的自動化移動機器人重型載荷能力為1500 kg&#xff01;更高的載荷能力可以令客戶實現以前無法實現的…

Linux 關閉服務后 鼠標 鍵盤用不了

大部分情況下我們做實驗都是使用虛擬機&#xff0c;但是個人比較本實在太老了&#xff0c;性能有限&#xff0c;所以虛擬機里面的系統啟動神慢&#xff0c;怎么辦&#xff1f;把系統中自己用不到的服務全部關閉掉唄&#xff0c;如下for i in chkconfig --list | awk {print $1}…

對session的理解

java Servlet API引入session 機制來跟蹤客戶的狀態&#xff0c;session指的是在一段時間內&#xff0c;單個客戶和web服務器之間一連串的交互過程&#xff0c;在一個session中&#xff0c;一個客戶可能會多次請求同一個網頁&#xff0c;也可能請求多個不同服務器資源&#xff…

android 監聽本機網絡請求_fiddler如何抓取https請求實現fiddler手機抓包-證書安裝失敗100%解決...

一、HTTP協議和HTTPS協議。(1) HTTPS協議HTTP協議SSL協議&#xff0c;默認端口&#xff1a;443(2) HTTP協議&#xff08;HyperText Transfer Protocol&#xff09;&#xff1a;超文本傳輸協議。默認端口&#xff1a;80&#xff0c;其中包含請求和響應兩部分&#xff0c;其中請求…

c語言筆試題總結2

下列各題A)、B)、C)、D)四個選項中&#xff0c;只有一個選項是正確的&#xff0c;請將正確選項涂寫在答題卡相應位置上&#xff0c;答在試卷上不得分。(1)算法的時間復雜度是指_______。A)執行算法程序所需要的時間B)算法程序的長度C)算法執行過程中所需要的基本運算次數D)算法…