《数据库原理与应用技术-MySQL》MySQL数据库管理(1)(举一反三考点练)-讲义
2025-10-10
|
11页
|
149人阅读
|
1人下载
精品
内容正文:
举一反三考点练
《数据库原理与应用技术-MySQL》MySQL数据库管理-讲义
1. 掌握MySQL 数据库的创建与字符集设置
2. 掌握数据库的选择、修改与删除
3. 掌握MySQL 系统库与开发规范
知识点一 MySQL 数据库的创建与字符集设置
1.创建数据库的本质
(1)在 MySQL 实例中划分一块物理存储空间,用于集中存放表、视图、存储过程等对象。
(2)创建命令:CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [选项];DATABASE 与 SCHEMA 同义。
2.命名与权限规则
(1)合法字符:字母、数字、_ 和 $,禁止纯数字、关键字及重名;Windows 下不区分大小写。
(2)必须拥有全局 CREATE 权限或对目标 schema 的 CREATE 权限。
3.字符集与校对规则(Charset & Collation)
(1)字符集决定存储字节格式,校对规则决定比较/排序方式。
(2)常用集:
· latin1:1 B,西欧;
· gb2312/gbk:2 B,简体+繁体;
· utf8:3 B,覆盖 99% 文字;
· utf8mb4:4 B,完整 Unicode+emoji。
(3)查看命令:SHOW CHARACTER SET; SHOW COLLATION LIKE 'utf8%';
(4)命名规律:字符集_地区_比较方式(_ci 不区分大小写,_cs 区分,_bin 二进制)。
4.创建时一次性指定
(1)CREATE DATABASE db_student DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
(2)若省略,则继承实例级默认值(MySQL 5.7→latin1,8.0→utf8mb4)。
5.图形化方式(Navicat)
右击连接→“新建数据库”→填写名称、字符集、排序规则→确定即完成;左侧目录实时刷新。
6.查看与验证
(1)列表:SHOW DATABASES;
(2)详情:SHOW CREATE DATABASE db_name;
(3)模糊匹配:SHOW DATABASES LIKE 'db_%';
(4)Navicat 中双击连接即可展开列表,亦可用查询窗口执行上述 SQL。
(多项选择题)下列关于 MySQL 字符集与校对规则的说法,正确的有( )
A. 字符集决定数据在磁盘上的存储字节格式
B. 校对规则决定同一字符集内字符的排序与比较方式
C. utf8mb4 字符集每个字符最多占用 3 字节
D. 字符集与校对规则必须在创建数据库时同时显式指定,否则无法后期修改
【答案】AB
【解析】字符集负责编码存储,校对规则负责比较/排序;utf8mb4 最大 4 字节;字符集和校对规则后期可用 ALTER 修改。
【要点】字符集 vs 校对规则的概念及可维护性。
1.(单项选择题)在 Navicat 图形界面中新建数据库时,以下哪一项信息不能在同一对话框内直接设定( )
A. 数据库名 B. 字符集 C. 校对规则 D. 数据库端口
【答案】D
【解析】端口在连接配置里设置,新建数据库对话框只填库名、字符集、排序规则。
【要点】Navicat 新建数据库的可视化操作范围。
2.(单项选择题)若某数据库需要保存 emoji 表情,应优先选择的字符集是( )
A. latin1 B. gbk C. utf8 D. utf8mb4
【答案】D
【解析】utf8mb4 支持 4 字节 Unicode,可存储 emoji。
【要点】不同字符集的应用场景。
3.(多项选择题)使用 CREATE DATABASE 语句时,下列写法合法且能防止重名报错的有( )
A. CREATE DATABASE db_stu;
B. CREATE DATABASE IF NOT EXISTS db_stu;
C. CREATE SCHEMA db_stu DEFAULT CHARACTER SET utf8mb4;
D. CREATE DATABASE 123db;
【答案】BC
【解析】A 重名会报错;D 以纯数字开头非法;B 含 IF NOT EXISTS 可避错;C SCHEMA 与 DATABASE 同义且可指定字符集。
【要点】语法合法性与重名处理。
1.(填空题)MySQL 中,查看当前服务器所有可用字符集的命令是 ______。
【答案】SHOW CHARACTER SET;
【解析】该命令列出系统支持的全部字符集及描述。
【要点】字符集查看命令。
2.(填空题)在创建数据库时,若仅写 “DEFAULT CHARACTER SET gbk;” 而未写 COLLATE 子句,则系统会自动选用 gbk 的默认校对规则 ______。
【答案】gbk_chinese_ci
【解析】每种字符集都有默认校对规则,gbk 对应 gbk_chinese_ci。
【要点】默认校对规则记忆。
3.(判断题)创建数据库的账户只需具备 USAGE 权限即可成功执行 CREATE DATABASE 语句( )
【答案】×
【解析】USAGE 为“无特权”占位符,需具备全局 CREATE 权限或对目标 schema 的 CREATE 权限才能建库。
【要点】建库权限要求。
· 语法:CREATE DATABASE [IF NOT EXISTS] 库名 CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
· 命名:字母数字_$,禁纯数字、关键字、重名;Windows 不区分大小写。
· 字符集:utf8mb4 最通用;latin1、gbk 按需节省空间。
· 查看:SHOW DATABASES; SHOW CREATE DATABASE 库名;
· Navicat:右击连接→新建数据库→填名+字符集→确定。
知识点二 数据库的选择、修改与删除
1.选择当前库(USE)
(1)意义:把某个库设为默认上下文,后续 DDL/DML 无需再写库名前缀。
(2)命令:USE db_student; 返回 Database changed。
(3)验证:SELECT DATABASE(); 查看当前默认库。
Navicat:双击库名或在查询窗口下拉框切换即可。
2.修改数据库
(1)可用语句:ALTER DATABASE [db_name] [CHARACTER SET charset] [COLLATE collation];
(2)仅允许改字符集与排序规则,不能重命名;省略库名则修改当前库。
(3)示例:
· ALTER DATABASE db_student CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
(4)图形化:右击库→“编辑数据库”→重新选择字符集/排序规则→确定。
3.删除数据库
(1)命令:DROP DATABASE [IF EXISTS] db_name;
(2)效果:一次性移除库目录及内部所有对象,数据不可回滚。
(3)安全建议:
· 加 IF EXISTS 防止报错;
· 操作前务必备份;
· 禁止在生产环境随意执行“删库”操作。
(4)Navicat:右击库→“删除数据库”→二次确认→刷新。
4.权限要求
· 修改需 ALTER 权限;删除需 DROP 权限;选择需 USAGE 或对库的访问权限。
(多项选择题)下列关于 MySQL 中“选择数据库”操作的描述,正确的有( )
A. 使用 USE 语句可把某个库设为当前默认库 B. 一次只能选中一个当前库
C. 选中后后续 SQL 必须再写库名前缀 D. 可用 SELECT DATABASE(); 查看当前库
【答案】ABD
【解析】USE 库名; 把指定库设为唯一当前上下文,后续操作无需再写库名;SELECT DATABASE(); 返回当前库名。
【要点】USE 的作用与使用场景。
1.(单项选择题)若要把当前库的字符集改为 utf8mb4,应使用的语句是( )
A. ALTER DATABASE CHARACTER SET utf8mb4;
B. UPDATE DATABASE SET CHARSET=utf8mb4;
C. CHANGE DATABASE COLLATE utf8mb4;
D. SET DEFAULT CHARSET utf8mb4;
【答案】A
【解析】ALTER DATABASE 可修改库级字符集与排序规则,省略库名即改当前库。
【要点】ALTER DATABASE 语法功能。
2.(单项选择题)删除数据库时,为防止库不存在而报错,应加入的子句是( )
A. IF EXISTS B. IF NOT EXISTS C. OR REPLACE D. FORCE
【答案】A
【解析】DROP DATABASE IF EXISTS 库名;可避免库不存在时抛出错误。
【要点】DROP 的安全写法。
3.(多项选择题)以下对“修改数据库”说明正确的有( )
A. 只能改字符集和排序规则 B. 不能通过 ALTER 修改库名
C. 修改前必须备份 D. 任何用户都可执行
【答案】ABC
【解析】ALTER DATABASE 仅限字符集/排序规则;改名需重建;生产环境操作前必须备份;需要 ALTER 权限。
【要点】修改限制与安全要求。
1.(填空题)把 db_test 设为当前库的命令是 ______。
【答案】USE db_test;
【解析】USE 语句用于切换当前默认数据库。
【要点】USE 基本语法。
2.(填空题)查看当前所在数据库名称的函数是 ______。
【答案】DATABASE()
【解析】SELECT DATABASE(); 返回当前会话的默认库名。
【要点】系统函数用法。
3.(判断题)ALTER DATABASE 可以一次性同时修改库名和字符集。( )
【答案】×
【解析】ALTER DATABASE 只能改字符集与排序规则,不能直接重命名数据库。
【要点】ALTER 的功能边界。
· 选用:USE 库名; SELECT DATABASE(); 验证。
· 修改:ALTER DATABASE 库名 CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 仅改字符集排序规则。
· 删除:DROP DATABASE [IF EXISTS] 库名; 全库瞬间消失,先备份。
· 权限:需USAGE/ALTER/DROP 对应权限;生产操作必审批。
知识点三 MySQL 系统库与开发规范
1.四大系统库作用
(1)mysql:存储账户、权限、插件等核心信息;
(2)information_schema:提供元数据视图(表结构、索引、约束等);
(3)performance_schema:性能与事件监控数据;
(4)sys:基于 performance_schema 的简化报表库,用于快速诊断。
(5)原则:只读查询,禁止手工修改或删除,否则可能导致实例异常。
2.开发规范与最佳实践
(1)命名见名知义,统一前缀(如 db_)方便分组与脚本识别。
(2)创建时显式指定 utf8mb4 与 utf8mb4_general_ci,避免后期乱码及高成本迁移。
(3)所有脚本加上 IF NOT EXISTS/IF EXISTS,保证可重入、可自动化部署。
(4)上线前把 CREATE/ALTER/DROP 语句纳入版本控制(Git/SVN),杜绝口头或临时 SQL。
(5)重大结构调整(字符集、分区、拆库)先做容量评估与备份,并在低峰期执行。
3.图形化与命令行协同
(1)快速验证、教学演示可用 Navicat;
(2)正式部署、CI/CD 流程必须提供纯 SQL 脚本,确保跨平台、无人值守可重复。
4.职业操守
(1)严禁“删库跑路”;操作前双重确认、审批留痕;
(2)养成备份、验证、回滚方案“三件套”习惯,做到“可回退才敢执行”。
(多项选择题)下列选项中,属于 MySQL 系统自带、用于存放权限与账户信息的系统库有( )
A. mysql B. information_schema C. sys D. performance_schema
【答案】AB
【解析】mysql 库存放用户、权限等元数据;information_schema 提供数据库对象元数据视图;sys 与 performance_schema 主要用于性能监控,不属于“权限与账户”核心系统库。
【要点】区分 MySQL 各系统库的核心用途。
1.(单项选择题)在 MySQL 开发规范中,关于库名、表名大小写规定的推荐做法是( )
A. 全部使用大写 B. 全部使用小写
C. 大小写混用增强可读性 D. 由操作系统决定
【答案】B
【解析】MySQL 推荐库名、表名统一使用小写,可避免跨平台(Windows 不区分大小写 / Linux 区分大小写)带来的迁移问题。
【要点】掌握“小写统一”的跨平台兼容规范。
2.(单项选择题)下列字段命名中,符合“见名知义”且符合 MySQL 开发规范的是( )
A. a1 B. name C. user_name D. USERNAME
【答案】C
【解析】user_name 使用小写+下划线分隔,语义清晰,符合 MySQL 推荐命名规范。
【要点】“小写+下划线”是字段命名主流风格。
3.(多项选择题)以下对 information_schema 的描述正确的有( )
A. 存储引擎为 MEMORY B. 属于只读虚拟库
C. 可用于查看所有数据库的表结构信息 D. 其数据实际保存在磁盘 ibd 文件中
【答案】BC
【解析】information_schema 是只读虚拟库,数据在查询时动态生成,并非 MEMORY 引擎,也不保存于磁盘 ibd 文件。
【要点】理解 information_schema 的“虚拟只读”特性。
1.(填空题)MySQL 安装后默认生成的、用于保存“用户权限”相关表的系统库名是__________。
【答案】mysql
【解析】mysql 系统库包含 user、db、tables_priv 等权限表。
【要点】牢记“mysql 库管权限”。
2.(填空题)在 MySQL 开发规范中,建议所有数据库对象名称统一使用__________(大/小)写,以减少跨平台迁移问题。
【答案】小
【解析】统一小写可避免 Windows 与 Linux 大小写敏感差异。
【要点】跨平台兼容→小写统一。
3.(判断题)performance_schema 库中的表可以直接执行 DELETE 语句删除指定记录,从而释放内存( )
【答案】×
【解析】performance_schema 表为只读,无法执行 DELETE/UPDATE,仅提供性能数据查询。
【要点】performance_schema 只读特性。
· 系统库:mysql(权限)、information_schema(元数据)、performance_schema&sys(性能)。
· 铁律:只读不删;上线脚本加IF NOT EXISTS;命名统一前缀db_。
· 流程:SQL入Git,低峰执行,先备份+验证+回滚方案;严禁“删库跑路”。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。