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 数据库。