内容正文:
举一反三考点练
《数据库原理与应用技术-MySQL》MySQL数据表管理-讲义
1. 掌握MySQL 数据表的创建(CREATE TABLE)
2. 熟悉使用 Navicat 图形化创建与维护表
3. 掌握查看数据表结构(SHOW COLUMNS 与 Navicat 结构图)
知识点一 MySQL 数据表的创建(CREATE TABLE)
1.前置条件
使用 USE 数据库名; 把目标库设为当前库,否则报错 “NO database selected”。
2.最小语法
3.命名规范
表名 ≤64 字节,可用字母、数字、_、$,禁止中文与关键字。
同一库内表名唯一;列名在同一表内唯一,但可跨表重复。
4.列定义七要素
① 数据类型(INT、VARCHAR、BLOB…)
② NULL | NOT NULL
③ DEFAULT 默认值
④ AUTO_INCREMENT(仅整数,一个表只能有一个)
⑤ PRIMARY KEY(非空+唯一,可单字段或复合)
⑥ UNIQUE KEY(可空,但只能一个NULL)
⑦ COMMENT ‘中文注释’
5.表级属性
ENGINE:MyISAM(查询快)、InnoDB(事务+外键,默认)、MEMORY(内存表)。
CHARSET & COLLATE:常用 utf8mb4 / utf8mb4_general_ci,避免中文乱码。
6.创建流程示例
a. 建库:CREATE DATABASE db_student;
b. 选库:USE db_student;
c. 建表:
7.常见错误
末尾多写逗号;使用保留字未加反引号;字符集与校验规则不匹配;无主键导致后续维护困难。
(多项选择题)使用 CREATE TABLE 创建数据表时,列定义中可以同时出现的约束有( )
A. NOT NULL 与 DEFAULT B. AUTO_INCREMENT 与 PRIMARY KEY
C. UNIQUE 与 NULL D. COMMENT 与 REFERENCES
【答案】ABC
【解析】一条列定义可同时写 NOT NULL+DEFAULT;AUTO_INCREMENT 常配合主键;UNIQUE 允许一个 NULL;COMMENT 可与外键同时存在,但 REFERENCES 需表级定义,写法上仍放列后,故允许同时出现。
【要点】列约束的组合合法性。
1.(单项选择题)下列表名在 MySQL 中合法且不会与关键字冲突的是( )
A. order B. 2_student C. tb_score D. select
【答案】C
【解析】order、select 均为保留字;2_student 以数字开头非法;tb_score 符合命名规范。
【要点】表名合法性与关键字避让。
2.(单项选择题)建表时若未写 ENGINE 子句,则 MySQL 默认使用的存储引擎是( )
A. MyISAM B. InnoDB C. MEMORY D. ARCHIVE
【答案】B
【解析】5.5 版本之后默认引擎为 InnoDB。
【要点】默认存储引擎记忆。
3.(多项选择题)关于 AUTO_INCREMENT 属性,下列说法正确的有( )
A. 一个表只能有一个 AUTO_INCREMENT 列 B. 该列必须建立索引
C. 允许与 DECIMAL 类型同时使用 D. 默认起始值为 1,步长为 1
【答案】ABD
【解析】AUTO_INCREMENT 仅适用于整数类型,必须被索引;DECIMAL 为非整数,不能使用;起始与步长默认均为 1。
【要点】自增列使用限制。
1.(填空题)在创建表语句中,用于给列添加中文说明的关键字是 ______。
【答案】COMMENT
【解析】COMMENT '文本' 可为列或表添加注释。
【要点】注释关键字。
2.(填空题)若要在建表时把字符集设为 utf8mb4 并把校对规则设为 utf8mb4_general_ci,应写的表级子句是 ______。
【答案】DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
【解析】表级字符集与排序规则一次性设定。
【要点】表级字符集写法。
3.(判断题)创建表时,主键列可以显式写 NULL 值表示暂时空缺( )
【答案】×
【解析】PRIMARY KEY 隐含 NOT NULL,不允许出现 NULL。
【要点】主键与 NULL 的关系。
· USE 库名 先选库
· 模板:CREATE TABLE [IF NOT EXISTS] 表(列 类型 约束,…) ENGINE=InnoDB CHARSET=utf8mb4;
· 列约束:NOT NULL、DEFAULT、AUTO_INCREMENT、PRIMARY KEY、UNIQUE、COMMENT
· 命名避关键字、≤64 字节、统一英文
知识点二 使用 Navicat 图形化创建与维护表
1.连接与选库
启动 Navicat → 新建连接(MySQL)→ 双击打开 db_student。
2.进入设计器
右键“表”→“新建表”或工具栏“新建表”按钮,打开表结构设计窗口。
3.字段可视化设置
· 名:英文列名(stuid、stuname…)。
· 类型:INT、VARCHAR、BLOB 等,填写长度/小数点。
· 不是 null:勾选即 NOT NULL。
· 键:下拉选 PRIMARY、UNIQUE 或留空。
· 默认:可填常量或函数。
· 自动递增、无符号、填充零:一键勾选。
· 注释:中文业务含义,利于后续维护。
4.顺序调整
· 工具栏“↑下移/↓上移”可拖动字段顺序;“+添加字段”“插入字段”“删除字段”实时生效。
5.保存与命名
· 点击“保存”→ 弹出“表名”对话框 → 输入 school→ 确定,即完成物理创建。
6.后续快速维护
· 右键表名 →“设计表”可再次打开结构器修改列属性;
· “复制表”可快速生成备份;
· “导出向导”可直接生成 Excel/SQL 脚本,方便数据迁移。
7.图形化优势
· 杜绝手写拼写错误;
· 自动匹配字符集、引擎,避免版本差异;
· 可视化注释与索引管理,降低团队协作门槛。
(多项选择题)在 Navicat 中通过图形界面新建数据表时,下列设置可以直接在“表设计器”中完成的有( )
A. 选择存储引擎 B. 调整字段顺序 C. 设置列的 COMMENT 注释 D. 建立外键关系
【答案】ABCD
【解析】Navicat 表设计器支持在“选项/外键”页签选择引擎、用↑↓按钮拖动排序、在“注释”列填中文说明及通过“外键”标签创建外键。
【要点】Navicat 可视化建表功能覆盖完整性。
1.(单项选择题)在 Navicat 中完成字段设置后,下一步应点击哪个按钮才能为表命名并物理创建( )
A. 运行 B. 保存 C. 设计表 D. 导出向导
【答案】B
【解析】点击“保存”即弹出“表名”对话框,输入名称后正式生成数据表。
【要点】“保存”是图形化建表的最后一步。
2.(单项选择题)若要在 Navicat 中把已存在的表 old_stu 快速复制一份结构备份,最便捷的操作是( )
A. 右键→“设计表”→另存 SQL B. 右键→“复制表”
C. 右键→“导出向导” D. 右键→“重命名”
【答案】B
【解析】“复制表”可一键生成含结构与可选数据的同名副本,无需手写 SQL。
【要点】Navicat 的表维护快捷功能。
3.(多项选择题)在 Navicat 表设计窗口的字段属性区,可以一键勾选实现的属性有( )
A. 自动递增 B. 无符号 C. 填充零 D. 虚拟列
【答案】ABCD
【解析】界面提供“自动递增”“无符号”“填充零”“虚拟”复选框,勾选即生效。
【要点】图形化设置列属性的位置。
1.(填空题)在 Navicat 中若需后续再次调整表结构,应在表名上右击并选择 ______ 命令。
【答案】设计表
【解析】“设计表”可重新打开结构器进行增删改字段、索引等维护。
【要点】表结构二次维护入口。
2.(填空题)Navicat 表设计器底部“______”页签可实时预览当前结构的 DDL 语句。
【答案】SQL 预览
【解析】“SQL 预览”会根据图形化修改即时生成对应 CREATE TABLE 或 ALTER TABLE 脚本。
【要点】图形与脚本双向对照。
3.(判断题)在 Navicat 中通过图形界面创建的表,其默认引擎和字符集由软件随机分配,无法修改。( )
【答案】×
【解析】可在“选项”页签手动指定 ENGINE 与 CHARSET,Navicat 亦会继承服务器默认值,并非随机。
【要点】图形化同样可控引擎与字符集。
· 连库→右键“表”→新建表
· 填列名、类型、长度、NOT NULL、主键、自增、注释→↑↓调顺序
· 保存即弹出命名窗口,完成创建
· 右键“设计表”可随时修改结构或导出脚本
知识点三 查看数据表结构(SHOW COLUMNS 与 Navicat 结构图)
1.命令行方式
(1)语法:SHOW [FULL] COLUMNS FROM 表名 [FROM 库名];
(2)示例:SHOW FULL COLUMNS FROM student;
(3)返回核心信息
① Field:列名
② Type:数据类型+长度
③ Null:YES / NO
④ Key:空、PRI、UNI、MUL
⑤ Default:默认值
⑥ Extra:auto_increment 等附加属性
⑦ Comment:列注释(仅 FULL 模式)
⑧ Privileges:当前用户对该列权限(FULL)
2.结果应用
(1)快速核对字段拼写、类型、主键、是否自增;
(2)结合 SHOW CREATE TABLE student\G 可查看完整建表语句、外键、索引、表级 CHARSET/ENGINE。
3.Navicat 可视化查看
(1)步骤:连接 → 双击库 → 选中表 → 右键“设计表”。
(2)界面同时展示列名、类型、长度、不是 null、键、默认值、注释,一目了然。
(3)底部“SQL 预览”页实时生成对应 DDL,方便复制到版本控制脚本。
4.对比与协同
(1)开发阶段:用 Navicat 快速建模;
(2)上线部署:用 SHOW CREATE TABLE 导出正式脚本;
(3)运维排错:用 SHOW COLUMNS 瞬间确认现场结构,无需图形界面。
(多项选择题)在 MySQL 中,使用 SHOW FULL COLUMNS 命令可以一次性看到下列哪些信息( )
A. 列名与数据类型 B. 是否允许 NULL C. 主键、唯一键标识 D. 列级注释
【答案】ABCD
【解析】SHOW FULL COLUMNS 返回 Field、Type、Null、Key、Default、Extra、Comment、Privileges 等 8 列信息,其中 Comment 只在 FULL 模式下出现。
【要点】掌握 FULL 关键字带来的额外信息。
1.(单项选择题)在 Navicat 中快速打开表结构设计窗口的鼠标操作是( )
A. 左键双击表名 B. 右键表名→“设计表”
C. 右键表名→“打开表” D. 拖拽表名到查询编辑器
【答案】B
【解析】“设计表”命令可直接打开结构器;双击表名默认进入数据浏览视图。
【要点】图形化维护入口。
2.(单项选择题)下列关于 SHOW COLUMNS 语法格式的描述,正确的是( )
A. 库名必须写在最前面并用点号连接 B. 表名后可加 FROM 库名指定数据库
C. 关键字 COLUMNS 可以省略 D. 必须大写所有关键字才能执行
【答案】B
【解析】标准写法:SHOW [FULL] COLUMNS FROM 表名 [FROM 库名]; 库名部分可选项。
【要点】FROM 库名 为可选补充。
3.(多项选择题)在 Navicat 的“设计表”窗口底部“SQL 预览”页可以实现的功能有( )
A. 实时显示当前结构的 CREATE TABLE 语句 B. 一键复制 DDL 到剪贴板
C. 直接修改语句并回写到结构器 D. 对比不同版本的建表脚本
【答案】AB
【解析】“SQL 预览”仅提供实时 DDL 展示与复制,不支持反向修改或版本对比。
【要点】预览页=只读+复制。
1.(填空题)在命令行查看表结构时,若希望同时看到列注释信息,应在 SHOW COLUMNS 命令中加关键字__________。
【答案】FULL
【解析】FULL 模式才会输出 Comment 与 Privileges 两列。
【要点】Comment 只在 FULL 出现。
2.(填空题)在 Navicat 中,若要把某字段顺序调整到最上方,应在结构器工具栏连续点击“__________”按钮。
【答案】↑上移
【解析】“↑上移”可将选中字段逐级提前。
【要点】图形化调整字段顺序方法。
3.(判断题)SHOW CREATE TABLE 命令可以一次性查看某张表的列定义、主键、索引、字符集及存储引擎等全部信息( )
【答案】√
【解析】SHOW CREATE TABLE 输出完整的 DDL,涵盖列、约束、表级属性。
【要点】完整 DDL 一招搞定。
· 命令:SHOW [FULL] COLUMNS FROM 表; 看列名、类型、键、默认值、注释
· SHOW CREATE TABLE 表; 看完整建表 SQL
· Navicat:双击表→“设计表”可视化查看,底部“SQL 预览”可复制 DDL
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$