news 2026/4/6 3:52:09

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/28 9:53:57

2025年商业生态系统中的战略协同与价值创造

在2025年的商业生态系统中,战略协同与价值创造成为企业成功的关键要素。随着市场环境的变化和技术的进步,企业意识到单打独斗已无法满足日益复杂的需求。因此,跨界合作和资源共享逐渐成为主流趋势。通过建立多方协作网络,不同企业…

作者头像 李华
网站建设 2026/4/2 15:13:42

【建议收藏】GCC 编译器常用选项速查表(附助记词)

作者:嵌入式兔哥 简介:在嵌入式开发中,GCC 是我们最忠实的伙伴。很多兄弟可能只习惯用 IDE 的一键编译,但一旦转战 Linux 环境或编写 Makefile,理解 GCC 的这些参数就成了基本功。今天兔哥帮大家整理了一份“不求人”的…

作者头像 李华
网站建设 2026/3/28 21:38:15

区块链相关知识

一、区块链的简介 区块链可视为一种特殊的分布式数据库。 首先,区块链的主要作用是存储信息,任何需要保存的信息,都可以写入区块链,也可以从中读取信息,所以视它为数据库。 其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界中没有中心节点,…

作者头像 李华
网站建设 2026/4/4 8:30:50

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

一、背景意义 随着全球人口的不断增长和生活水平的提高,食品安全与营养健康问题日益受到关注。食品种类繁多,消费者在选择食品时不仅关注其营养成分,还对食品的来源、品质和安全性提出了更高的要求。在此背景下,食品分类与检测技术…

作者头像 李华
网站建设 2026/3/27 6:05:45

【英飞凌 CY8CKIT-062S2-AI评测】-开发环境搭建与开发

过21IC网,申请到了英飞凌 CY8CKIT-062S2-AI开发板,该开发板是英飞凌的PSOC6系列的人工智能评估套件,它有一套创新工具用来原型制作和收集真实数据,以快速构建机器学习模型。硬件尺寸很小巧35mm*45mm,基于它可以建构边缘…

作者头像 李华