五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

什么是數(shù)據(jù)庫?Python操作數(shù)據(jù)庫難嗎(19)

2023-03-30 07:30 作者:和貓妹學(xué)Python  | 我要投稿

小朋友們好,大朋友們好!

我是貓妹,一名愛上Python編程的小學(xué)生。

歡迎和貓妹一起,趣味學(xué)Python。

今日主題

今天我們學(xué)習(xí)下什么是數(shù)據(jù)庫,以及如何用Python操作數(shù)據(jù)庫。

數(shù)據(jù)庫=數(shù)據(jù)+庫

庫,漢語常用字(一級字),讀作kù,最早見于戰(zhàn)國文字,會意兼形聲字。

原義為收藏兵車及其他武器的處所;后來泛指收藏各種物品的處所;又指監(jiān)獄。

車庫是存放車的場所。

糧庫是存放糧的場所。

水庫是存放水的場所。

小金庫是存放錢的場所。

數(shù)據(jù)庫呢?

自然是存放數(shù)據(jù)的場所。

數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫”。是一個長期存儲在計算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。

小點的數(shù)據(jù)可能放在記事本中、word、ppt等軟件中,大量的數(shù)據(jù)呢?

一般都是保存到數(shù)據(jù)庫中。

數(shù)據(jù)庫其實就在我們身邊,你想想,你登錄一個網(wǎng)站或是APP,輸入用戶名和密碼,點擊下回車,信息正確登錄成功,信息錯誤登錄失敗。

幾百萬、幾千萬、甚至上億的信息存放在哪里呢?

這些信息就存放在數(shù)據(jù)庫中,這些信息包括用戶名、密碼、性別、地址、商品描述、圖片等諸多信息。

如何在幾百萬、幾千萬、上億的海量數(shù)據(jù)中,瞬間找到你輸入的數(shù)據(jù),然后判斷是否匹配,想想就是搞科技啊!

的確,數(shù)據(jù)庫是一門高科技。

常見的數(shù)據(jù)庫

常見的數(shù)據(jù)庫有哪些呢?

我們一起學(xué)習(xí)下。

Oracle應(yīng)該是世界上最大的數(shù)據(jù)庫公司,一般超大規(guī)模數(shù)據(jù)會用到oracle。

微軟的SQl Server,一般中等規(guī)模數(shù)據(jù)會用到SQL Server。

微軟的商業(yè)化產(chǎn)品,微軟sql語句兼容性好,商業(yè)化成熟度高。

微軟的Access,小巧,簡單易用,office系列之一。


MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型和大型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。

MySQL 在 2008 年被Sun以10億美金所收購,2009年4月20日Sun被甲骨文收購。

SQLite,是一款輕量型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。

它的設(shè)計目標(biāo)是嵌入式的,而且已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,可能只需要幾百K的內(nèi)存就夠了。

它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。

MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。

操作數(shù)據(jù)庫

上面一下子粗略介紹了那么多數(shù)據(jù)庫,是不是有點懵?

對于非專業(yè)人員來講,只要會簡單使用就可以了。

專業(yè)人員,要學(xué)習(xí)很多知識呢。

咱們今天就用SQLite為例子,學(xué)習(xí)下數(shù)據(jù)庫的常用操作。

其他的數(shù)據(jù)庫需要下載安裝軟件,咱們今天只是簡單了解,?就不下載安裝包了。

Python本身已經(jīng)內(nèi)置了SQLite,不需要安裝,可以直接使用哦!

數(shù)據(jù)庫、數(shù)據(jù)表、字段、記錄等,我們先對這幾個名字有個大概的印象。

舉個例子,貓妹班級的語文成績、英語成績、數(shù)學(xué)成績。

先有個數(shù)據(jù)庫,貓妹班級成績。

數(shù)據(jù)庫中是數(shù)據(jù)表,這里有三張表,語文成績、數(shù)學(xué)成績、英語成績。

表中有字段和記錄,語文成績中的學(xué)號、姓名、成績是字段。

學(xué)號01,姓名貓妹,成績85,這表示語文成績表中的一條記錄。

學(xué)號不允許有重復(fù)值,可以作為主鍵。

創(chuàng)建數(shù)據(jù)庫


  • 1行:需要導(dǎo)入sqlite3模塊。

  • 4行:需要先用connnect創(chuàng)建一個connection對象。

    如果數(shù)據(jù)庫文件lvye.db存在,則連接上它。

    如果不存在,則創(chuàng)建后連接上它。

  • 6行:創(chuàng)建cursor,中文是游標(biāo),我們都是通過游標(biāo)來訪問數(shù)據(jù)表的,比如增刪改查。

  • 8行:執(zhí)行sql語句,這些語句是創(chuàng)建了一個表table,這個表中有id(主鍵)、姓名name、年齡age。

    啥是主鍵呢?就是不能重復(fù)。

    比如身份證號可以作為主鍵,而姓名不可以。

    id類型是int,name類型是varchar,age類型是int。

  • 12行:關(guān)閉游標(biāo)。

  • 14行:關(guān)閉connection。

如果再次運行會報如下錯誤:

這是因為該數(shù)據(jù)中已經(jīng)存在 student table了,同一個數(shù)據(jù)庫中不能存在兩個同名的數(shù)據(jù)表。

增刪查操作

數(shù)據(jù)庫中存放的是數(shù)據(jù)表,數(shù)據(jù)表中存放的是數(shù)據(jù)。

對數(shù)據(jù)表操作,最頻繁的就是增刪改查操作了。

增刪改查指的是在表中增加一條記錄、刪除一條記錄、修改一條記錄、查詢一條記錄。



insert into student (id, name, age) values (1, '李雷', 21)

表示向數(shù)據(jù)表student中添加一條數(shù)據(jù),這條數(shù)據(jù)的內(nèi)容是?(1, '李雷', 21),這些內(nèi)容的格式是(id, name, age)。

關(guān)閉數(shù)據(jù)庫連接之前一定要調(diào)用conn.commit(),否則數(shù)據(jù)更新不成功。


select * from student表示從數(shù)據(jù)表student中獲取所有數(shù)據(jù)。

它的返回值是一個列表,該列表的每一個元素都是一個元組。


update student set name='貓妹' where id=3

表示更新一條記錄,這條記錄的id是3,將其name改為貓妹。



delete from student where id=3

表示從數(shù)據(jù)表中刪除一條記錄,這條記錄的id是3。

怎么樣?

不難吧?

你學(xué)會了吧?

和數(shù)據(jù)庫連接、斷開等這些都是固定的格式,遵守就可以了。

sql語句則學(xué)問很多,要精通需要多學(xué)習(xí)多練習(xí),它是一門編程語言,有沒有覺得它和咱們?nèi)祟愓Z言很接近?

SQL即結(jié)構(gòu)化查詢語言(Structured Query Language),是一種數(shù)據(jù)庫查詢和程序設(shè)計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。

好了,我們今天就學(xué)到這里吧!

如果遇到什么問題,咱們多多交流,共同解決。

我是貓妹,咱們下次見!


什么是數(shù)據(jù)庫?Python操作數(shù)據(jù)庫難嗎(19)的評論 (共 條)

分享到微博請遵守國家法律
青铜峡市| 甘谷县| 星子县| 万宁市| 辽中县| 宁陕县| 苗栗市| 安平县| 吉林省| 新平| 班戈县| 龙里县| 龙陵县| 金阳县| 双流县| 稻城县| 黄骅市| 康平县| 耿马| 武山县| 布拖县| 呼伦贝尔市| 远安县| 阿荣旗| 鄂伦春自治旗| 汝阳县| 山西省| 洛扎县| 曲周县| 朝阳区| 嘉峪关市| 温泉县| 乳山市| 宜兰县| 遂平县| 鹿泉市| 临沂市| 新干县| 辽阳县| 尉氏县| 青岛市|