news 2026/6/15 3:08:28

MySQL 进阶实验:数据库与数据表管理完全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 进阶实验:数据库与数据表管理完全指南

继上一篇 MySQL 入门实验后,这一次我们聚焦数据库和数据表的核心管理操作。无论是数据库的创建与删除,还是数据表的结构设计、修改与维护,都是数据库开发中的高频基础技能。本文将通过实验实操,详细拆解 MySQL 中数据库与数据表的全套管理方案,帮你夯实基础、熟练运用!

一、实验核心目标

  1. 精通数据库的创建、查看、选择与删除操作(SQL 语句 + 工具实操)
  2. 掌握数据表的创建、结构修改(增删改字段)、复制与删除技巧
  3. 熟悉 MySQL 常用数据类型(char、varchar、date、bit 等)的应用场景
  4. 能够根据业务需求设计数据表结构,并灵活调整表结构

二、核心知识点与实操详解

(一)数据库管理:从创建到删除的完整流程

数据库是数据表的容器,所有表操作都需基于指定数据库进行,核心操作如下:

1. 查看相关信息
  • 查看系统中所有数据库:

    sql

    SHOW DATABASES;

    执行后会列出 MySQL 中所有已创建的数据库(如默认的 mysql、sys 等)

  • 查看数据库引擎(了解存储机制):

    sql

    SHOW ENGINES;

    常用引擎包括 InnoDB(支持事务、外键)、MyISAM(查询速度快)等

2. 创建与选择数据库
  • 创建数据库(以 YGGL 和 studentsdb 为例):

    sql

    -- 创建YGGL数据库 CREATE DATABASE YGGL; -- 创建studentsdb数据库 CREATE DATABASE studentsdb;
  • 选择当前操作的数据库(必须先选择再操作表):

    sql

    -- 选择YGGL为当前数据库 USE YGGL; -- 选择studentsdb为当前数据库 USE studentsdb;
3. 删除数据库(谨慎操作!数据不可恢复)

sql

-- 删除YGGL数据库 DROP DATABASE YGGL; -- 删除studentsdb数据库 DROP DATABASE studentsdb;

(二)数据表管理:创建、修改与删除全操作

数据表是存储数据的核心载体,掌握表结构的设计与修改是关键技能。

1. 数据表创建(含数据类型应用)

创建表时需指定字段名、数据类型、是否允许为空、是否为主键等属性,常用数据类型说明:

  • char(n):固定长度字符串,适合长度固定的数据(如学号、ID)
  • varchar(n):可变长度字符串,适合长度不固定的数据(如姓名、地址)
  • date:日期类型(格式:YYYY-MM-DD),存储生日、日期等
  • bit:布尔类型(1 代表真,0 代表假),适合存储性别(男 / 女)等二值数据

实操示例 1:创建 emp 表(雇员表)

sql

-- 先选择YGGL数据库 USE YGGL; -- 创建emp表 CREATE TABLE emp( eid char(6) NOT NULL PRIMARY KEY, -- 员工ID,固定6位,非空,主键 name varchar(8) NOT NULL, -- 员工姓名,可变长度,非空 birthday date, -- 生日,日期类型,允许为空 sex bit -- 性别,布尔类型,允许为空 );

实操示例 2:创建 student_info 表(学生信息表)

sql

-- 先选择studentsdb数据库 USE studentsdb; -- 创建student_info表 CREATE TABLE student_info( 学号 char(4) NOT NULL PRIMARY KEY, -- 学号,固定4位,非空,主键 姓名 char(8) NOT NULL, -- 姓名,固定8位,非空 性别 char(2), -- 性别,固定2位,允许为空 出生日期 date, -- 出生日期,日期类型,允许为空 家庭住址 varchar(50) -- 家庭住址,可变长度,允许为空 );
2. 数据表结构修改(ALTER TABLE 核心用法)

表创建后,可根据需求修改字段(增、删、改),核心语法如下:

操作需求SQL 语法实操示例
增加字段ALTER TABLE 表名 ADD 字段名 数据类型 [是否允许为空]为 emp 表增加 deptid 字段(部门 ID):ALTER TABLE emp ADD deptid char(3);
修改字段名 + 数据类型ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型将 emp 表的 name 列改名为 ename,长度改为 10:ALTER TABLE emp CHANGE name ename varchar(10);
删除字段ALTER TABLE 表名 DROP 字段名删除 emp 表的 birthday 列:ALTER TABLE emp DROP birthday;
修改字段约束(如允许为空)ALTER TABLE 表名 MODIFY 字段名 数据类型 NULL允许 student_info 表的 “姓名” 列取空值:ALTER TABLE student_info MODIFY 姓名 char(8) NULL;
修改字段名(保留数据类型)ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名将 student_info 表的 “家庭住址” 改为 “地址”:ALTER TABLE student_info RENAME COLUMN 家庭住址 TO 地址;
3. 查看表结构

修改或创建表后,可通过以下命令查看表结构是否符合预期:

sql

-- 查看emp表结构 DESC emp; -- 查看student_info表结构 DESC student_info;
4. 数据表复制与删除
  • 复制表(含结构和数据):创建与 student_info 结构和数据完全相同的 stu 表

    sql

    CREATE TABLE stu LIKE student_info; -- 复制表结构 INSERT INTO stu SELECT * FROM student_info; -- 复制表数据 -- 简化写法(部分MySQL版本支持): CREATE TABLE stu AS SELECT * FROM student_info;
  • 删除表(谨慎操作!数据不可恢复):

    sql

    -- 删除stu表 DROP TABLE stu; -- 删除student_info表 DROP TABLE student_info;

(三)综合实操:学生信息表完整管理流程

将上述知识点串联,完成从数据库创建到表删除的全流程:

  1. 创建数据库:CREATE DATABASE studentsdb;
  2. 选择数据库:USE studentsdb;
  3. 创建表:CREATE TABLE student_info(...);(见上文示例)
  4. 修改表结构:
    • 允许 “姓名” 列空值:ALTER TABLE student_info MODIFY 姓名 char(8) NULL;
    • 改 “家庭住址” 为 “地址”:ALTER TABLE student_info RENAME COLUMN 家庭住址 TO 地址;
    • 增加 “备注” 字段:ALTER TABLE student_info ADD 备注 varchar(50);
    • 删除 “出生日期” 列:ALTER TABLE student_info DROP 出生日期;
  5. 复制表:CREATE TABLE stu AS SELECT * FROM student_info;
  6. 删除表:DROP TABLE stu; DROP TABLE student_info;
  7. 删除数据库:DROP DATABASE studentsdb;

三、实验总结与避坑指南

  1. 数据类型选择技巧:固定长度用char(效率高),可变长度用varchar(省空间);日期用date,二值数据用bit
  2. 主键设计原则:主键必须非空且唯一,建议用无业务含义的 ID(如 eid、学号),避免用姓名等可能重复的字段
  3. 修改表结构注意:修改字段名或数据类型时,需确保不影响已有数据(如将varchar(8)改为varchar(10)可兼容,反之可能截断数据)
  4. 删除操作警告:DROP DATABASEDROP TABLE会直接删除数据,且无法恢复,操作前务必确认是否需要备份
  5. 语法规范:SQL 关键字建议大写(如 CREATE、ALTER、DROP),字段名和表名尽量使用英文或中文拼音,避免特殊字符

通过本次实验,我们系统掌握了 MySQL 数据库和数据表的全生命周期管理,这些技能是后续进行数据插入、查询、更新等操作的基础。建议大家多结合实际场景练习(比如设计一个班级信息表、图书信息表),加深对表结构设计和 SQL 语法的理解。如果在操作中遇到问题,欢迎在评论区留言交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 15:30:53

MySQL 视图实战:简化查询与数据安全管控指南

在 MySQL 数据库中,视图是基于查询结果构建的虚拟表 —— 它不存储实际数据,仅保存查询逻辑,却能大幅简化复杂查询、控制数据访问权限。无论是多表关联查询的简化,还是敏感数据的隐藏,视图都能发挥重要作用。本文结合实…

作者头像 李华
网站建设 2026/6/15 13:12:33

冥想第一千七百三十六天(1736)

1.周三,周四来补日记,今天晚上跑步40分钟,项目上特别的忙,最近这一阵子项目都忙的连口水都没时间喝。 2.感谢父母,感谢朋友,感谢家人,感谢不断进步的自己。

作者头像 李华
网站建设 2026/6/15 0:05:38

即用宝典:超全面的登录功能测试点

验证登录流程判断逻辑 1 前端 账户名、密码、验证码是否为空; 密码是否符合规则(特殊字符、大小写、数字、长度……)。 2 服务端 验证码是否正确 (对应时间戳是否过期); 账户是否存在 (未注册、已注销&#xff0…

作者头像 李华
网站建设 2026/6/14 20:59:42

在算法的潮汐中:我的赞叹与疑惑

整整一天的演讲、演示和讨论,像一阵海啸般冲刷着我的认知边界。在这个智能化的浪潮面前,我发现自己正站在一个前所未有的十字路口,心中充满了矛盾的赞叹与深刻的困惑。当AI只花几分钟就能代替我花几个小时做出来的视频,当它写出我…

作者头像 李华
网站建设 2026/6/15 12:22:10

heic打不开怎么办?别慌!5个简单方法,1分钟解决

“为什么从iPhone传到电脑里的照片都打不开了?” 很多Windows用户在整理苹果手机照片时,都会遇到这个令人头疼的问题。当你看到一堆以 .heic 结尾的文件,却无法用系统自带的看图软件打开时,不必惊慌。这其实是苹果为了节省存储空间…

作者头像 李华