1. MySQL基础操作入门指南
作为关系型数据库的典型代表,MySQL在企业级应用中扮演着重要角色。我结合多年数据库管理经验,整理出这套面向新手的MySQL操作指南。不同于官方文档的抽象描述,这里每个操作都附带实战场景解析和避坑建议。
1.1 环境准备与基础概念
在开始操作前,建议安装MySQL 8.0+版本。通过以下命令检查版本并登录:
bash复制mysql --version
mysql -u root -p
关系型数据库的核心是表(Table),它由行(Row)和列(Column)组成。每个表应有明确的主键(Primary Key),如员工表中的id字段。MySQL的数据类型选择直接影响存储效率和查询性能:
- 整数类型:TINYINT(1字节)、INT(4字节)
- 字符串:VARCHAR(可变长度)、CHAR(定长)
- 时间类型:DATE(日期)、DATETIME(日期时间)
注意:VARCHAR(10)表示最大10个字符(非字节),UTF-8编码下中文占3个字符
2. 表操作全流程详解
2.1 创建表的最佳实践
创建员工表的完整语法如下:
sql复制CREATE TABLE emp(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键',
workno VARCHAR(10) UNIQUE NOT NULL COMMENT '工号',
name VARCHAR(10) NOT NULL COMMENT '姓名',
gender ENUM('男','女') COMMENT '性别枚举',
age TINYINT UNSIGNED DEFAULT 18 COMMENT '年龄',
idcard CHAR(18) COMMENT '身份证号',
workaddress VARCHAR(50) DEFAULT '总部' COMMENT '工作地址',
entrydate DATE NOT NULL COMMENT '入职时间',
INDEX idx_name (name),
UNIQUE INDEX uk_idcard (idcard)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工表';
关键改进点:
- 添加PRIMARY KEY和AUTO_INCREMENT实现自增主键
- 使用ENUM限制性别取值范围
- 设置NOT NULL约束强制必填字段
- 添加DEFAULT值减少插入工作量
- 建立普通索引和唯一索引提升查询效率
- 显式指定存储引擎和字符集
2.2 表结构修改技巧
实际工作中经常需要调整表结构:
sql复制-- 添加薪资字段
ALTER TABLE emp ADD COLUMN salary DECIMAL(10,2) COMMENT '月薪';
-- 修改字段类型
ALTER TABLE emp MODIFY COLUMN name VARCHAR(20);
-- 删除字段(谨慎操作)
ALTER TABLE emp DROP COLUMN idcard;
-- 重命名表
RENAME TABLE emp TO employee;
警告:生产环境修改大表结构可能导致锁表,建议在低峰期操作
3. 数据操
解锁全文
加入我们的会员,获取最新、最热、最精彩的开发者技术内容