MySQL 创建数据库表实战:别只会点鼠标,真正会建表的人都在写 SQL
2026/4/21 11:13:37 网站建设 项目流程


学数据库,很多人一开始最喜欢做的事,就是打开 Navicat,然后一路右键:

  • 新建数据库
  • 新建表
  • 填字段
  • 点确定

这么做不是不行,问题是你会发现一个很现实的情况:

一旦离开图形界面,你就不会了。

尤其是做网络安全、靶场搭建、环境恢复、SQL 注入分析、数据库排障时,很多场景根本不会给你一个舒服的图形化界面。这个时候,真正有用的是你能不能自己写出一条完整的建表 SQL。

今天这篇文章,我们就把MySQL 创建数据库表这件事讲透,讲明白,而且尽量讲得接地气。你不需要一开始背太多理论,只要把这篇内容跟着练一遍,至少你会真正搞懂这些问题:

  • 数据库表到底是什么
  • 行和列在数据库里分别叫什么
  • 表名该怎么起
  • 字段该怎么设计
  • intvarcharchardate分别怎么用
  • 怎么用 SQL 创建一张学生表
  • 怎么查看表结构
  • 怎么查看表里有没有数据
  • 怎么反查建表语句

另外,文章里我会把容易混淆的地方一起讲清楚,顺手把一些常见写法纠正过来,避免初学时越学越乱。


一、数据库表到底是什么?别一上来就记术语,先把画面感建立起来

你平时在 Excel 里见过表格吧?

比如一张学生信息表,可能长这样:

学号姓名性别年龄
17071401张三20
17071402李四19

这其实就是数据库表最容易理解的样子。

数据库里最常见的数据组织形式,就是这种二维表结构
也就是:

  • 横向一行一行
  • 纵向一列一列

这就是关系型数据库管理数据的基本方式。


在数据库里,行和列怎么叫?

这个必须记住:

  • 一行数据,叫一条记录
  • 一列数据,叫一个字段

比如下面这条数据:

17071401 张三 男 20

它在数据库里,就是一条完整的学生记录。

而“学号”“姓名”“性别”“年龄”这些列名,就是字段。


为什么这个概念特别重要?

因为你后面无论做这些事:

  • 建表
  • 插入数据
  • 写查询语句
  • 分析 SQL 注入
  • 看后台用户表
  • 理解 CMS 数据结构

本质上都在围绕两个东西打转:

  • 字段
  • 记录


二、创建表之前,先学会设计表,不然 SQL 写出来也没意义

很多人一上来就急着写:

CREATETABLE...

但真正的问题是:
你这张表到底要存什么信息?

比如我们现在准备创建一张学生表,那你至少得先想清楚这张表要包含哪些字段。常见设计一般会有:

  • 学号
  • 姓名
  • 性别
  • 年龄
  • 入学日期
  • 班级名称
  • 邮箱

你会发现,建表这件事其实不是先写 SQL,而是先做“信息建模”。

也就是说:

你想保存什么数据,就先设计什么字段。


表名怎么起?

表名这事,看起来小,实际很影响后期维护。

很多公司喜欢给表加一个前缀,比如:

t_student t_user t_order

这里的t_就是table的缩写,表示“这是一张表”。

这不是强制规定,但确实是开发里很常见的一种命名习惯。
如果你不喜欢加前缀,也可以直接叫:

student user order

都可以。

但建议是:

  • 尽量见名知意
  • 尽量统一风格
  • 别今天student,明天tb_student,后天t_stu

三、先创建数据库,再创建表,这个顺序别搞反了

表是放在数据库里的,不是凭空存在的。

所以在创建表之前,通常要先准备好一个数据库。
比如我们先创建一个测试数据库,名字叫:

mytestdb

为什么字符集建议直接选 utf8mb4?

这是初学者最容易忽略,但后面最容易踩坑的地方。

建议创建数据库时直接使用:

utf8mb4

原因很简单:

  • 它对中文更友好
  • 能更完整支持 Unicode
  • 能兼容更多字符
  • 比 MySQL 早期那个“残血版 utf8”更稳

很多人以为 MySQL 里的utf8就是完整 UTF-8,其实不是。
在 MySQL 中,真正更完整、更稳妥的选择,一般是:

utf8mb4

创建数据库 SQL 示例

CREATEDATABASEmytestdbDEFAULTCHARACTERSETutf8mb4;

运行结果示例

Query OK, 1 row affected (0.01 sec)

这说明数据库已经创建成功。


切换到这个数据库

USEmytestdb;

运行结果

Database changed

只有切换到目标数据库后,后续创建的表才会建在这个库里。


四、创建表最核心的一步:字段和类型怎么写

真正开始建表时,最关键的不是表名,而是字段设计和类型选择。

因为数据库并不是一个“随便丢数据”的仓库。
每个字段都要告诉 MySQL:

  • 这个字段叫什么
  • 它存什么类型的数据
  • 允许多长
  • 以后怎么解释

我们准备创建的学生表字段如下

</
字段名含义建议类型
sno学号int
sname姓名varchar
sex性别char

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询