1. 创建数据表
基本语法
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) CHARACTER SET 字符集 COLLATE 校验规则 ENGINE 存储引擎;
参数说明
-
field:列名
-
datatype:列的数据类型
-
CHARACTER SET:字符集(默认为数据库字符集)
-
COLLATE:校验规则(默认为数据库校验规则)
-
ENGINE:存储引擎(如InnoDB、MyISAM)
创建表示例
CREATE TABLE users (
id INT,
name VARCHAR(20) COMMENT '用户名',
password CHAR(32) COMMENT '密码是32位的md5值',
birthday DATE COMMENT '生日'
) CHARACTER SET utf8 ENGINE MyISAM;
2. 存储引擎与物理文件
MyISAM存储引擎
创建表后会生成三个文件:
-
users.frm:表结构文件 -
users.MYD:表数据文件 -
users.MYI:表索引文件
InnoDB存储引擎
通常生成两个文件:
-
table_name.frm:表结构文件 -
table_name.ibd:表数据和索引文件
注意:不同存储引擎的文件结构和特性不同,应根据业务需求选择。
3. 查看表结构
使用DESC命令查看表的详细结构:
DESC 表名;
示例输出:
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
4. 修改表结构
在实际开发中,经常需要修改表结构来满足需求变化。
4.1 添加字段
-- 在birthday字段后添加图片路径字段
ALTER TABLE users ADD assets VARCHAR(100) COMMENT '图片路径' AFTER birthday;
特点:添加新字段不会影响现有数据,新字段的值为NULL。
4.2 修改字段
-- 将name字段长度改为60
ALTER TABLE users MODIFY name VARCHAR(60);
4.3 删除字段
-- 删除password字段(谨慎操作!)
ALTER TABLE users DROP password;
警告:删除字段会永久删除该列的所有数据,不可恢复!
4.4 重命名表
-- 将users表重命名为employee
ALTER TABLE users RENAME TO employee;
-- 或简写
ALTER TABLE users RENAME employee;
4.5 重命名字段
-- 将name字段改为xingming
ALTER TABLE employee CHANGE name xingming VARCHAR(60);
注意 :使用CHANGE时需要重新定义字段的完整属性。
5. 删除表
语法格式
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name;
示例
-- 安全删除表(如果表存在才删除)
DROP TABLE IF EXISTS t1;
6. 实战案例演示
完整操作流程
-- 1. 创建表
CREATE TABLE users (
id INT,
name VARCHAR(20),
password CHAR(32),
birthday DATE
);
-- 2. 插入数据
INSERT INTO users VALUES
(1, 'a', 'b', '1982-01-04'),
(2, 'b', 'c', '1984-01-04');
-- 3. 添加新字段
ALTER TABLE users ADD assets VARCHAR(100) AFTER birthday;
-- 4. 修改字段
ALTER TABLE users MODIFY name VARCHAR(60);
-- 5. 删除字段
ALTER TABLE users DROP password;
-- 6. 重命名表
ALTER TABLE users RENAME employee;
7. 重要注意事项
-
备份优先:在执行任何表结构修改前,建议先备份数据
-
测试环境验证:在生产环境操作前,在测试环境充分验证
-
业务低峰期操作:大表的结构修改可能锁表,选择业务低峰期进行
-
外键约束:如果表有外键关联,修改时需要特别小心
-
数据完整性:删除字段或表前,确认数据不再需要
总结
掌握MySQL表的基本操作是数据库管理的核心技能。从创建表时的存储引擎选择,到日常的表维护操作,每一步都需要谨慎考虑。特别是修改表结构时,要充分评估对现有业务的影响,做好数据备份,确保操作的安全性和稳定性。
通过本文的学习,你应该能够熟练进行表的创建、查看、修改和删除等基本操作,为后续的数据管理和查询打下坚实基础。