成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

原來Python自帶了數據庫,用起來真方便!

開發 開發工具
Python作為數據科學主流語言,被廣泛用于數據讀存、處理、分析、建模,可以說是無所不能。

 Python作為數據科學主流語言,被廣泛用于數據讀存、處理、分析、建模,可以說是無所不能。

數據一般存放在本地文件或者數據庫里,之前介紹過如何使用python讀取本地文件,也對# PyMySQL、cx_Oracle等數據庫連接庫做過簡單的使用分享。

教你使用Python玩轉MySQL數據庫,大數據導入不再是難題!

干貨!python與MySQL數據庫的交互實戰

這次推薦一個python自帶的輕量級數據庫模塊-sqlite3,先要弄清楚什么是SQLite:

SQLite是一種用C寫的小巧的嵌入式數據庫,它的數據庫就是一個文件。SQLite 不需要一個單獨的服務器進程或操作的系統,不需要配置,這意味著不需要安裝或管理,所有的維護都來自于SQLite 軟件本身。

sqlite3模塊不同于PyMySQL模塊,PyMySQL是一個python與mysql的溝通管道,需要你在本地安裝配置好mysql才能使用,而SQLite是python自帶的數據庫,不需要任何配置,使用sqlite3模塊就可以驅動它。

本文我們將進行連接 SQLite數據庫、創建表、插入數據、讀取數據、修改數據等操作。

1. 導入sqlite3模塊

sqlite3是內置模塊,所以不需要安裝的,直接import導入即可:

 

  1. import sqlite3 

2. 創建與SQLite數據庫的連接

使用sqlite3.connect()函數連接數據庫,返回一個Connection對象,我們就是通過這個對象與數據庫進行交互。數據庫文件的格式是filename.db,如果該數據庫文件不存在,那么它會被自動創建。該數據庫文件是放在電腦硬盤里的,你可以自定義路徑,后續操作產生的所有數據都會保存在該文件中。

 

  1. # 創建與數據庫的連接 
  2. conn = sqlite3.connect('test.db'

還可以在內存中創建數據庫,只要輸入特殊參數值:memory:即可,該數據庫只存在于內存中,不會生成本地數據庫文件。

  1. conn = sqlite3.connect(':memory:'

建立與數據庫的連接后,需要創建一個游標cursor對象,該對象的.execute()方法可以執行sql命令,讓我們能夠進行數據操作。

 

  1. #創建一個游標 cursor 
  2. cur = conn.cursor() 

3. 在SQLite數據庫中創建表

這里就要執行sql的建表語句了,我們先創建一張如下的學生成績表-scores:

該表目前只有字段名和數據類型,沒有數據,執行以下語句實現:

 

  1. # 建表的sql語句 
  2. sql_text_1 = '''CREATE TABLE scores 
  3.            (姓名 TEXT, 
  4.             班級 TEXT, 
  5.             性別 TEXT, 
  6.             語文 NUMBER, 
  7.             數學 NUMBER, 
  8.             英語 NUMBER);''
  9. # 執行sql語句 
  10. cur.execute(sql_text_1) 

4. 向表中插入數據

建完表-scores之后,只有表的骨架,這時候需要向表中插入數據:

執行以下語句插入單條數據:

 

  1. # 插入單條數據 
  2. sql_text_2 = "INSERT INTO scores VALUES('A', '一班', '男', 96, 94, 98)" 
  3. cur.execute(sql_text_2) 

執行以下語句插入多條數據:

 

  1. data = [('B''一班''女', 78, 87, 85), 
  2.         ('C''一班''男', 98, 84, 90), 
  3.         ] 
  4. cur.executemany('INSERT INTO scores VALUES (?,?,?,?,?,?)', data) 
  5. # 連接完數據庫并不會自動提交,所以需要手動 commit 你的改動conn.commit() 

5. 查詢數據

我們已經建好表,并且插入了三條數據,現在來查詢特定條件下的數據:

 

  1. # 查詢數學成績大于90分的學生 
  2. sql_text_3 = "SELECT * FROM scores WHERE 數學>90" 
  3. cur.execute(sql_text_3) 
  4. # 獲取查詢結果 
  5. cur.fetchall() 

返回:

備注:獲取查詢結果一般可用.fetchone()方法(獲取第一條),或者用.fetchall()方法(獲取所有條)。

6. 其他操作

對數據庫做改動后(比如建表、插數等),都需要手動提交改動,否則無法將數據保存到數據庫。

 

  1. # 提交改動的方法 
  2. conn.commit() 

使用完數據庫之后,需要關閉游標和連接:

 

  1. # 關閉游標 
  2. cur.close() 
  3. # 關閉連接 
  4. conn.close() 

附連接connection和游標cursor的API方法:

 

責任編輯:華軒 來源: Python大數據分析
相關推薦

2023-11-01 15:45:29

DBMPython

2025-03-25 08:40:00

前端開發Axios

2024-07-04 11:33:33

2021-06-30 09:20:18

NuShell工具Linux

2024-09-05 09:38:55

SpringActuator應用程序

2021-03-10 09:54:43

RustNuShell系統

2012-07-11 09:34:39

微軟云計算

2022-05-22 21:16:46

TypeScriptOmit 工具

2022-01-19 07:32:11

數據庫插件IDEA

2020-11-27 14:28:13

數據分析工具數據庫

2009-04-08 09:17:54

Windows MobWINCE數據庫

2010-11-19 10:38:26

Oracle XE自帶

2021-09-18 08:52:45

人工智能

2024-05-21 10:28:51

API設計架構

2020-01-06 15:00:43

Linux電腦發行版

2021-09-29 07:13:12

編程 Python Merge

2021-04-18 07:18:31

Chrome

2021-10-29 11:25:41

代碼編程語言Java

2022-12-27 17:56:40

ack機制RocketMQ

2020-07-06 15:13:16

安卓AirDrop無線傳輸
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久国产精品人 | 亚洲国产一区二区三区 | 日韩精品视频一区二区三区 | 欧美美女一区二区 | 日韩免费网站 | 久热精品在线观看视频 | 国产成人精品一区二 | 视频一区二区三区中文字幕 | 香蕉国产在线视频 | 免费看欧美一级片 | 中文字幕在线观看精品 | 日韩不卡在线观看 | 日韩成人免费视频 | 成人免费在线观看 | 国产免费拔擦拔擦8x高清 | 亚洲一区二区三区免费在线 | 一级看片免费视频囗交动图 | 亚洲精品久久久一区二区三区 | 欲色av| 9久9久9久女女女九九九一九 | 中文字幕av中文字幕 | 久久亚洲国产精品日日av夜夜 | 中文字幕 在线观看 | 久久久毛片 | 成人片网址 | 国产成人综合久久 | 91久久婷婷 | 亚洲精品久久久久久久久久吃药 | 成人在线电影网站 | 欧美伊人久久久久久久久影院 | 欧美aⅴ| 日韩在线欧美 | h视频免费在线观看 | 欧美一区二区三区的 | 亚洲婷婷一区 | 在线播放国产一区二区三区 | 日日夜夜免费精品 | 成年人在线观看 | 91精品国产综合久久久久久 | 亚洲精品乱码久久久久久久久 | 精品国产免费人成在线观看 |