文章目錄
- 前言
- 一、系統數據庫
- 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 數據庫。