21 天 Python 計劃:MySQL 庫相關操作

文章目錄

    • 前言
    • 一、系統數據庫
      • 1. information_schema
      • 2. performance_schema
      • 3. mysql
      • 4. test
    • 二、創建數據庫
      • 1. 語法
      • 2. 數據庫命名規則
    • 三、數據庫相關操作
      • 1. 查看數據庫
      • 2. 選擇數據庫
      • 3. 刪除數據庫
      • 4. 修改數據庫
    • 總結

前言

Python是一種強大且易于學習的編程語言。通過這個21天的計劃,我們將逐步深入MySQL庫相關操作。無論你是初學者還是有一定基礎的開發者,這個計劃都將幫助你鞏固和擴展你的Python知識。

在學習本篇之前,我們先復習一下前面的內容:
day1:Python下載和開發工具介紹
day2:數據類型、字符編碼、文件處理
day3:基礎語法與課外練習
day4:函數簡單介紹
day5:模塊與包
day6:常用模塊介紹
day7:面向對象
day8:面向對象高級
day9:異常處理
day10:網絡編程
day11:MySQL 數據庫初識

一、系統數據庫

在使用 MySQL 數據庫時,了解系統數據庫的結構和功能,掌握數據庫的創建、查看、修改和刪除等操作是非常重要的。本文將詳細介紹 MySQL 中的系統數據庫,以及如何進行數據庫的創建和相關操作。MySQL 中有幾個重要的系統數據庫,它們各自承擔著不同的功能。

1. information_schema

這是一個虛擬庫,不占用磁盤空間。它存儲的是數據庫啟動后的一些參數,包括用戶表信息、列信息、權限信息、字符信息等。以下是一些常用的表及其用途:

  • TABLES 表:提供了關于數據庫中的表的信息。
mysql> use information_schema;
mysql> select * from tables limit 1\G;
mysql> select * from tables where TABLE_NAME='city'\G;
  • COLUMNS 表:提供了關于數據庫中表的列的信息。
mysql> select * from columns\G;
  • STATISTICS 表:存儲表索引的信息。
  • COLLATIONS 表:提供校驗規則和字符集對應關系。

下面是 TABLES表中一些重要字段的含義:

  • Table_catalog:數據表登記目錄
  • Table_schema:數據表所屬的數據庫名
  • Table_name:表名稱
  • Table_type:表類型,如 system view(系統表)或 base table(數據表)
  • Engine:使用的數據庫引擎,如 MyISAM、CSV、InnoDB
  • Version:版本,默認值 10
  • Row_format:行格式,如 Compact、Dynamic、Fixed
  • Table_rows:表里所存多少行數據
  • Avg_row_length:平均行長度
  • Data_length:數據長度
  • Max_data_length:最大數據長度
  • Index_length:索引長度
  • Data_free:空間碎片,剛剛用過的暫時不再使用
  • Auto_increment:做自增主鍵的自動增量當前值,可以通過導出再導入數據進行釋放
  • Create_time:表的創建時間
  • Update_time:表的更新時間
  • Check_time:表的檢查時間
  • Table_collation:表的字符校驗編碼集
  • Checksum:校驗和
  • Create_options:創建選項
  • Table_comment:表的注釋、備注

我們還可以在創建表時添加列注釋和表注釋,示例如下:

CREATE TABLE student(gid int primary key COMMENT '列注釋') COMMENT='表注釋';

2. performance_schema

這是 MySQL 5.5 開始新增的一個數據庫,主要用于收集數據庫服務器性能參數,記錄處理查詢請求時發生的各種事件、鎖等現象。

3. mysql

這是一個授權庫,主要存儲系統用戶的權限信息。

4. test

這是 MySQL 數據庫系統自動創建的測試數據庫。

二、創建數據庫

1. 語法

可以使用以下語法創建數據庫:

CREATE DATABASE 數據庫名 charset utf8;

2. 數據庫命名規則

  • 可以由字母、數字、下劃線、@、#、$ 組成。
  • 區分大小寫。
  • 具有唯一性。
  • 不能使用關鍵字,如 create、select等。
  • 不能單獨使用數字。
  • 最長 128 位。

三、數據庫相關操作

1. 查看數據庫

  • show databases;:顯示所有數據庫。
  • show create database db1;:顯示指定數據庫(如 db1)的創建語句。
  • select database();:顯示當前使用的數據庫。

2. 選擇數據庫

使用 USE 數據庫名語句來選擇要使用的數據庫,例如:

USE db1;

3. 刪除數據庫

使用 DROP DATABASE 數據庫名;語句來刪除指定的數據庫,例如:

DROP DATABASE db1;

4. 修改數據庫

可以使用 alter database語句來修改數據庫的字符集,例如:

alter database db1 charset utf8;

總結

通過本文的介紹,我們了解了 MySQL 中的系統數據庫,包括 information_schema、performance_schema、mysql和 test的功能和用途。同時,我們也掌握了數據庫的創建、查看、選擇、刪除和修改等操作。這些知識對于管理和使用 MySQL數據庫非常重要,希望大家在實際應用中能夠靈活運用。

在 Python 中,我們可以使用 mysql-connector-python 庫來執行上述 SQL 語句,以下是一個簡單的示例:

import mysql.connector# 連接到 MySQL 服務器
mydb = mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword"
)# 創建一個游標對象
mycursor = mydb.cursor()# 創建數據庫
mycursor.execute("CREATE DATABASE testdb charset utf8")# 查看所有數據庫
mycursor.execute("SHOW DATABASES")
for x in mycursor:print(x)# 選擇數據庫
mycursor.execute("USE testdb")# 創建表
mycursor.execute("CREATE TABLE student(gid int primary key COMMENT '列注釋') COMMENT='表注釋'")# 關閉連接
mydb.close()

這個示例展示了如何使用 Python 連接到 MySQL 服務器,創建數據庫和表,并查看所有數據庫。希望這個示例能幫助你更好地理解如何在 Python 中操作 MySQL 數據庫。

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

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

相關文章

手撕LLM(二):從源碼出發,探索LoRA加載、推理全流程

接上回接著說,前面我們通過分析源碼,了解了大模型推理的詳細流程,包括提示詞從輸入,到對話模版包裝,到tokenID轉換,到Embedding詞向量轉換;通過大模型推理,再將大模型輸出進行最后一…

WPS宏開發手冊——常見問題

目錄 系列文章6、常見問題 系列文章 使用、工程、模塊介紹 JSA語法 JSA語法練習題 Excel常用Api Excel實戰 常見問題 附錄 6、常見問題 6.1、編輯完宏后會自動保存,下次打開文件會提醒是否啟用宏,點擊啟用會自動加載上次編輯的…

【Android安卓移動計算】實現項目一[模擬器啟動項目]

文章目錄 新建項目項目結構介紹說明程序自動生成:圖片和樣式文件夾:Training1\app\src\main\res\drawable布局文件文件夾:Training1\app\src\main\res\layoutJava文件夾:Training1\app\src\main\java\com\example\training1Androi…

快 速 冪

暴力肯定會超時 3^10 9^5 9*9^4 9*81^2 9*18^2^1 先對b判斷奇偶 偶數:對b/2,對a平方 奇數:先*a,再對a平方,b/2 取余注意:(3^10)%k( 9 * 18^2^1)%k(( 9%k )%k * (18^2^1)%k)%k

網絡釣魚攻擊的威脅和執法部門的作用(第二部分)

執法部門在打擊網絡釣魚中的作用 雖然網絡釣魚可能始于一封欺騙性的電子郵件或短信,但其后果可能遠遠超出個人收件箱的范圍,影響企業、經濟甚至國家安全。隨著網絡釣魚攻擊的規模和復雜性不斷增加,執法機構站在前線,努力預防、調…

Data_Socket和UDP_Socket

Data_Socket 和 UDP_Socket 是兩種不同類型的網絡套接字,它們用于不同的協議和應用場景。以下是它們的主要區別: 協議類型: UDP_Socket:使用的是 UDP(User Datagram Protocol) 協議,這是一種無連…

2025高頻面試算法總結篇【排序】

文章目錄 直接刷題鏈接直達把數組排成最小的數刪除有序數組中的重復項求兩個排序數組的中位數求一個循環遞增數組的最小值數組中的逆序對如何找到一個無序數組的中位數鏈表排序從一大段文本中找出TOP K 的高頻詞匯 直接刷題鏈接直達 把一個數組排成最大的數 劍指 Offer 45. 把…

模型壓縮技術從零到一

模型壓縮是深度學習中的重要技術,旨在減小模型尺寸和計算需求,特別適合在移動設備或嵌入式系統上部署。 要點 模型壓縮技術可以顯著減小模型尺寸和計算需求,適合資源受限設備。主要技術包括剪枝、量化、知識蒸餾、低秩分解和輕量級模型設計…

浮點數精度問題

目錄 ieee754標準解決方法 和c語言一樣,所有以ieee754標準的語言都有浮點數精度問題,js也有浮點數精度問題,并且因為是弱類型語言這個問題更嚴重,js的Number類型的數據都被視為浮點數 ieee754標準 js的數字類型就相當于c語言doub…

超大規模數據場景(思路)——面試高頻算法題目

目錄 用4KB內存尋找重復元素 從40個億中產生不存在的整數【位】 如果只讓用10MB空間存儲? 初次遍歷 二次遍歷 用2GB內存在20億個整數中查找出現次數最多的數【分塊】 從億萬個URL中查找問題【分塊 堆】 40億個非負整數中找出現兩次的數【位 不過多個位哈】 …

開源身份和訪問管理方案之keycloak(三)keycloak健康檢查(k8s)

文章目錄 開源身份和訪問管理方案之keycloak(三)keycloak健康檢查啟用運行狀況檢查 健康檢查使用Kubernetes下健康檢查Dockerfile 中 HEALTHCHECK 指令 健康檢查Docker HEALTHCHECK 和 Kubernetes 探針 開源身份和訪問管理方案之keycloak(三&…

FATFS備忘

概述 FATFS文件系統可以掛載SD卡也可以掛載FLASH eMMC等設備 SD卡需要格式化為FAT32模式 塊大小默認即可 移植 SD卡 SD卡扇區大小是 512B SD卡 SDIO模式 可以直接在cubeMX里一鍵設置 先設置好SD卡的設置 這個是選擇支持中文 其余是默認 這個是檢測引腳可以留空 當SD卡插入拔出…

唯美社區源碼AM社區同款源碼

源碼介紹 唯美社區源碼AM社區同款源碼 后端修改application.properties文件內容為你的數據庫 前端修改/config/config.js文件內容為你的后端地址 這兩個文件里要修改的地方我已經用中文標注出來了 截圖 源碼免費下載 唯美社區源碼AM社區同款源碼

現代Web應用的多標簽選擇組件:設計哲學與工程實踐

引言:標簽選擇的重要性與挑戰 在信息爆炸時代,標簽系統已成為內容組織的核心基礎設施。研究表明: 使用標簽系統的平臺用戶留存率提高35% 良好的標簽選擇體驗可提升內容發現效率58% 80%的用戶更傾向于使用提供可視化標簽選擇的應用 本文將…

P3799 小 Y 拼木棒

題目背景 上道題中,小 Y 斬了一地的木棒,現在她想要將木棒拼起來。 題目描述 有 n 根木棒,現在從中選 4 根,想要組成一個正三角形,問有幾種選法? 答案對 1097 取模。 輸入格式 第一行一個整數 n。 第…

Perl 條件語句

Perl 條件語句 引言 在編程中,條件語句是執行分支邏輯的關鍵部分。Perl 作為一種強大的腳本語言,提供了豐富的條件語句,使得開發者能夠根據不同的條件執行不同的代碼塊。本文將深入探討 Perl 中的條件語句,包括 if、unless、els…

流量特征分析-蟻劍流量分析

任務: 木馬的連接密碼是多少 這是分析蟻劍流量,可能是網站的,wireshark過濾http 追蹤流http得到 1就是連接密碼 flag{1}黑客執行的第一個命令是什么 取最后的執行命令。base64解密得 除了id不是蟻劍自帶的命令,其他的都是&…

問題1:Sinal 4在開啟PAC檢查的設備崩潰

? 問題信息 硬件不支持PAC(Pointer Authentication),此類錯誤就是signal 11的錯誤,崩潰信息如下: Build fingerprint: google/sdk_gphone64_arm64/emu64a:16/BP22.250221.010/13193326:userdebug/dev-keys Revision: 0 ABI: arm64 Timestamp: 2025-04-06 11:33:13.923…

FreeRTOS移植筆記:讓操作系統在你的硬件上跑起來

一、為什么需要移植? FreeRTOS就像一套"操作系統積木",但不同硬件平臺(如STM32、ESP32、AVR等)的CPU架構和外設差異大,需要針對目標硬件做適配配置。移植工作就是讓FreeRTOS能正確管理你的硬件資源。 二、…

【C++11(下)】—— 我與C++的不解之緣(三十二)

前言 隨著 C11 的引入,現代 C 語言在語法層面上變得更加靈活、簡潔。其中最受歡迎的新特性之一就是 lambda 表達式(Lambda Expression),它讓我們可以在函數內部直接定義匿名函數。配合 std::function 包裝器 使用,可以…