news 2026/3/10 3:15:33

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/3/4 1:34:33

电子会计档案管理系统:档案宝如何发挥会计档案的价值?

一、引言:电子会计档案时代,档案宝的价值定位在数字化转型浪潮下,会计档案已从传统纸质存储的 “历史凭证”,转变为企业决策的 “数据资产”。电子会计档案管理系统 “档案宝”,打破了传统档案管理的时空限制与效率瓶颈…

作者头像 李华
网站建设 2026/3/5 15:54:37

计算广告:智能时代的营销科学与实践(二十一)

目录 11.2 担保式投送系统 11.2.1 流量预测 11.2.2 频次控制 11.3 在线分配 11.3.1 在线分配问题 11.3.2 在线分配问题举例 11.3.3 极限性能研究 11.3.4 实用优化算法 总结 11.2 担保式投送系统 担保式投送(Guaranteed Delivery, GD&#xff09…

作者头像 李华
网站建设 2026/3/5 7:19:49

计算广告:智能时代的营销科学与实践(二十三)

目录 第13章 竞价广告核心技术 13.1 竞价广告计价算法 1. 从密封竞价到广义第二价格:市场的进化 2. VCG拍卖:理论上的完美与现实的差距 3. 计价算法的工程实现与考量 4. 计价的演进:从CPC到oCPX 13.2 搜索广告系统 13.2.1 查询扩展 1…

作者头像 李华
网站建设 2026/3/4 12:55:53

【完整源码+数据集+部署教程】食品物品检测系统源码分享[一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]

一、背景意义 随着全球经济的快速发展和生活水平的不断提高,食品消费市场日益繁荣,食品安全问题也随之凸显。食品物品的检测与识别不仅是保障消费者权益的重要环节,也是提升食品产业链效率的关键因素。传统的食品检测方法多依赖人工检查&…

作者头像 李华
网站建设 2026/3/5 12:24:55

Java小白求职互联网大厂:面试官的技术挑战与业务思考

文章简述 在这篇文章中,我们将模拟一个互联网大厂Java小白求职者的面试场景。面试官通过一系列技术问题,考察求职者的Java核心技术、微服务架构、缓存技术、日志处理等能力,并引导其思考实际业务场景中的应用。本文将详细解析每个问题的答案&…

作者头像 李华
网站建设 2026/3/5 14:26:54

函数模板.

闲谈:上一篇初识模板我也只是初略了解,这一次我在整理一下。模板模板是C支持泛型程序设计的工具,通过它可以实现参数化多态性。参数化多态性:就是将程序所处理的对象的类型参数化,使得一段程序可以处理多种不同类型的对…

作者头像 李华