21 天 Python 计划:MySQL 表相关操作
文章目录
- 一、存储引擎介绍
- 示例:查看当前数据库的存储引擎
- 二、表介绍
- 示例:创建一个简单的用户表
- 三、创建表
- 示例:创建一个订单表
- 四、查看表结构
- 示例:查看表结构
- 五、数据类型
- 示例:创建包含多种数据类型的表
- 六、表完整性约束
- 示例:添加约束
- 七、修改表 ALTER TABLE
- 示例:添加新列
- 示例:修改列类型
- 示例:删除列
- 八、复制表
- 示例:复制表
- 九、删除表
- 示例:删除表
- 结语
Python是一种强大且易于学习的编程语言。通过这个21天的计划,我们将逐步深入并发编程。无论你是初学者还是有一定基础的开发者,这个计划都将帮助你巩固和扩展你的Python知识。
在学习本篇之前,我们先复习一下前面的内容:
day1:Python下载和开发工具介绍
day2:数据类型、字符编码、文件处理
day3:基础语法与课外练习
day4:函数简单介绍
day5:模块与包
day6:常用模块介绍
day7:面向对象
day8:面向对象高级
day9:异常处理
day10:网络编程
day11:并发编程
day12:MySQL 数据库初识
day13:MySQL 库相关操作
一、存储引擎介绍
MySQL 支持多种存储引擎,每种引擎都有其特定的特性和用途。最常用的存储引擎包括:
- InnoDB:支持事务、行级锁和外键,适合高并发的应用。
- MyISAM:不支持事务,表级锁,适合读多写少的场景。
- Memory:数据存储在内存中,速度快,但数据在重启后丢失。
示例:查看当前数据库的存储引擎
SHOW ENGINES;
二、表介绍
在 MySQL 中,表是数据的基本存储结构。每个表由行和列组成,行表示记录,列表示字段。
示例:创建一个简单的用户表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 用户ID
username VARCHAR(50) NOT NULL, -- 用户名
email VARCHAR(100) NOT NULL UNIQUE, -- 用户邮箱
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 创建时间
) ENGINE=InnoDB; -- 使用InnoDB存储引擎
三、创建表
创建表的基本语法如下:
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
...
) ENGINE=storage_engine;
示例:创建一个订单表
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY, -- 订单ID
user_id INT NOT NULL, -- 用户ID
product_name VARCHAR(100) NOT NULL, -- 产品名称
quantity INT NOT NULL, -- 数量
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 订单日期
FOREIGN KEY (user_id) REFERENCES users(id) -- 外键约束
) ENGINE=InnoDB;
四、查看表结构
可以使用 DESCRIBE 或 SHOW CREATE TABLE命令查看表的结构。
示例:查看表结构
DESCRIBE users;
-- 或者
SHOW CREATE TABLE users;
五、数据类型
MySQL 支持多种数据类型,包括:
- 整数类型:INT, TINYINT, SMALLINT, BIGINT
- 浮点数类型:FLOAT, DOUBLE, DECIMAL
- 字符串类型:CHAR, VARCHAR, TEXT, BLOB
- 日期和时间类型:DATE, TIME, DATETIME, TIMESTAMP
示例:创建包含多种数据类型的表
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
六、表完整性约束
完整性约束用于确保数据的准确性和一致性。常见的约束包括:
- NOT NULL:字段不能为空。
- UNIQUE:字段值唯一。
- PRIMARY KEY:主键,唯一标识一条记录。
- FOREIGN KEY:外键,引用其他表的主键。
示例:添加约束
ALTER TABLE users
ADD CONSTRAINT uc_email UNIQUE (email); -- 添加唯一约束
七、修改表 ALTER TABLE
使用 ALTER TABLE可以修改表的结构,如添加、删除或修改列。
示例:添加新列
ALTER TABLE users
ADD COLUMN age INT; -- 添加年龄列
示例:修改列类型
ALTER TABLE users
MODIFY COLUMN age TINYINT; -- 修改年龄列类型
示例:删除列
ALTER TABLE users
DROP COLUMN age; -- 删除年龄列
八、复制表
可以使用 CREATE TABLE … AS SELECT语句复制表的结构和数据。
示例:复制表
CREATE TABLE users_backup AS
SELECT * FROM users; -- 复制users表到users_backup
九、删除表
使用 DROP TABLE可以删除表及其所有数据。
示例:删除表
DROP TABLE users; -- 删除users表
结语
通过这个21天的Python计划,我们涵盖了MySQL 表相关操作,包括存储引擎、表的创建与管理、数据类型、完整性约束等。希望这些内容能帮助你更好地理解和使用Python。继续学习和实践,你将成为一名优秀的Python开发者!