内容正文:
举一反三考点练
《数据库原理与应用技术-MySQL》MySQL基础知识-讲义
1. 熟悉SQL语言基础与分类
2. 熟悉MySQL数据类型详解
3. SQL语言的发展与实际应用
知识点一 SQL语言基础与分类
1.SQL概述
SQL(Structured Query Language)是一种结构化查询语言,用于访问和操作数据库。它可与多种数据库系统(如Oracle、MySQL、SQL Server等)协同工作,具有交互性强、功能丰富、语言简洁的特点。
2.SQL语言的功能分类
SQL语言按功能可分为三类:
(1)数据定义语言(DDL):用于创建、修改、删除数据库对象(如数据库、表、视图、索引等)。常用命令有CREATE、ALTER、DROP。
(2)数据操作语言(DML):用于对表中数据进行查询、插入、更新和删除操作。常用命令有SELECT、INSERT、UPDATE、DELETE。
(3)数据控制语言(DCL):用于控制用户访问权限。常用命令有GRANT(授权)和REVOKE(收回权限)。
3.SQL语言的特点
(1)一体化:涵盖数据定义、查询、操纵和控制等全部功能。
(2)非过程化:只需描述“做什么”,无需指定“怎么做”。
(3)简洁易学:语法接近自然语言,核心命令少。
(4)使用灵活:可交互使用,也可嵌入其他编程语言中。
4.SQL语法规则
SQL语句可以分行书写,以分号或“\g”结尾;关键字不能缩写或分行;引号、括号必须成对;MySQL在Windows下不区分大小写,Linux下区分;支持单行(-- 或 #)和多行注释(/* */)。
(多项选择题)下列哪些命令属于SQL的数据定义语言DDL( )
A. CREATE B. SELECT C. ALTER D. DROP
【答案】ACD
【解析】CREATE、ALTER、DROP用于定义或修改数据库对象,属于DDL;SELECT属于DML。
【要点】DDL命令的识别。
1.(单项选择题)SQL语言中,负责“增删改查”数据的部分称为( )
A. DDL B. DML C. DCL D. DTL
【答案】B
【解析】DML(数据操作语言)完成INSERT、UPDATE、DELETE、SELECT等数据操作。
【要点】DML的功能定位。
2.(单项选择题】要把用户u1对表student的查询权限收回,应使用的命令类别是( )
A. DDL B. DML C. DCL D. 无此分类
【答案】C
【解析】GRANT/REVOKE属于数据控制语言DCL,用于权限管理。
【要点】DCL的典型命令。
3.(多项选择题)SQL语言的特点包括( )
A. 一体化 B. 非过程化 C. 接近自然语言 D. 只能嵌入C语言
【答案】ABC
【解析】SQL可独立或嵌入多种语言,D错误。
【要点】SQL的四个特点。
1.(填空题)SQL语句通常以______符号或“\\g”结尾。
【答案】分号(;)
【解析】分号是MySQL标准结束符。
【要点】SQL语法规则。
2.(填空题)在MySQL中,单行注释可用“--”或______符号开始。
【答案】#
【解析】MySQL支持#作为单行注释标识。
【要点】注释格式。
3.(判断题)SQL关键字在Windows下区分大小写,Linux下不区分。( )
【答案】×
【解析】MySQL在Windows下不区分,Linux下区分关键字大小写。
【要点】大小写规则。
· 三类命令:DDL建表、DML查改删、DCL授权
· 特点:一体化、非过程化、语法简洁
· 规则:分号结尾、关键字大写、成对引号、可加--或/* */注释
知识点二 MySQL数据类型详解
1.数据类型的作用
数据类型决定了数据在数据库中的存储方式和空间占用。合理选择数据类型有助于提高查询效率和节省存储空间。
2.数值类型
(1)整数类型:包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,适用于存储年龄、学时、库存等整数数据。
(2)小数类型:包括FLOAT(单精度浮点)、DOUBLE(双精度浮点)和DECIMAL(定点数)。
· FLOAT和DOUBLE适用于取值范围大、可容忍误差的场景。
· DECIMAL适用于对精度要求高的场景,如成绩、价格等。
3.日期和时间类型
(1)包括YEAR、DATE、TIME、DATETIME、TIMESTAMP。
(2)DATE用于存储日期(如出生日期)。
(3)DATETIME用于存储完整日期和时间(如注册时间)。
(4)TIMESTAMP用于存储时间戳,支持时区转换,适合记录时间间隔。
4.字符串类型
(1)CHAR和VARCHAR:用于存储文本字符串。CHAR为定长,查询效率高;VARCHAR为变长,节省空间。
(2)TEXT和BLOB:用于存储大文本或二进制数据(如图片、音频)。
(3)ENUM和SET:用于限定取值范围,ENUM为单选,SET为多选,适合性别、爱好等字段。
(多项选择题)以下属于 MySQL 数值类型的有( )
A. TINYINT B. VARCHAR C. DECIMAL D. TIMESTAMP
【答案】AC
【解析】TINYINT 属于整数类型,DECIMAL 属于小数类型;VARCHAR 是字符串类型,TIMESTAMP 是日期时间类型。
【要点】考查 MySQL 数值类型的分类。
1.(单项选择题)存储学生成绩(如 89.5)并要求精确到小数点后一位,应优先选用( )
A. FLOAT B. DOUBLE C. DECIMAL(3,1) D. CHAR
【答案】C
【解析】DECIMAL 为定点数,可精确控制精度与标度,适合财务及成绩等对精度要求高的场景。
【要点】考查小数类型的精度选择。
2.(单项选择题)当字段值只能为 '男' 或 '女',且希望占用空间最小,应选用( )
A. CHAR(2) B. VARCHAR(2) C. ENUM('男','女') D. SET('男','女')
【答案】C
【解析】ENUM 是单选枚举,仅允许列表值之一,存储仅需 1 字节,空间最小且约束最严。
【要点】考查 ENUM 类型的适用场景。
3.(多项选择题)关于 CHAR 与 VARCHAR 的区别,下列说法正确的有( )
A. CHAR 定长,VARCHAR 变长 B. CHAR 查询效率通常高于 VARCHAR
C. CHAR 会删除尾部空格,VARCHAR 保留尾部空格 D. VARCHAR 最大长度固定为 255
【答案】ABC
【解析】VARCHAR 最大长度受字符集影响可达 65535 字节,并非固定 255;其余三项均正确。
【要点】考查 CHAR 与 VARCHAR 的异同。
1.(填空题)MySQL 中存储日期时间值(如 '2025-09-17 08:30:00')且不要求时区转换,应选用________类型。
【答案】DATETIME
【解析】DATETIME 支持完整日期与时间,取值范围大,且不涉及时区转换。
【要点】考查日期时间类型的选择。
2.(填空题)当需要保存学生照片二进制数据时,应选用________类型的字段。
【答案】BLOB(或 LONGBLOB)
【解析】BLOB 系列用于存储二进制大对象,适合图片、音频等文件。
【要点】考查大二进制类型的用途。
3.(判断题)TINYINT 加 UNSIGNED 属性后,其取值范围变为 -128~127。( )
【答案】×
【解析】加 UNSIGNED 后不再包含负数,范围变为 0~255。
【要点】考查整数类型的 UNSIGNED 属性。
· 整数:TINYINT→BIGINT,按范围选,可UNSIGNED
· 小数:FLOAT/DOUBLE近似值,DECIMAL高精度
· 日期:DATE存日,DATETIME存日+时,TIMESTAMP带时区
· 字符串:CHAR定长快,VARCHAR省空间,TEXT存长文,BLOB存二进制
知识点三 SQL语言的发展与实际应用
1.SQL的发展历史
SQL由IBM于1975–1979年开发,1986年被ANSI批准为美国标准,1987年被ISO采纳为国际标准。随后经历了SQL-89、SQL-92、SQL-99等版本更新,不断完善其功能和规范性。
2.SQL的标准化与扩展
虽然各大数据库厂商(如MySQL、Oracle)在标准SQL基础上进行了扩展,但核心语法仍保持一致。学习时应以标准SQL为主,结合具体数据库系统的特性进行实践。
3.SQL在实际中的应用
(1)数据库开发:用于构建和管理数据库结构。
(2)数据分析:通过SELECT语句进行复杂查询和统计。
(3)应用集成:作为子语言嵌入到其他编程语言中,实现数据交互。
4.SQL是数据库领域的核心语言,掌握其基本语法和应用场景是开发和管理数据库系统的基础。通过多动手实践,能更好地理解和应用SQL,提高数据处理效率,支持各类信息系统的稳定运行。
(多项选择题)SQL 成为国际标准后带来的积极影响有( )
A. 促进不同数据库系统之间的互操作 B. 降低学习和迁移成本
C. 使 SQL 完全停止发展 D. 为国产数据库提供共同基础
【答案】ABD
【解析】成为国际标准后,SQL 统一了数据存取语言,各厂商在遵守标准的同时进行扩展,并未停止发展;C 错误。
【要点】考查 SQL 标准化意义的理解。
1.(单项选择题)SQL-92 之后推出的下一个重要国际标准版本是( )
A. SQL-86 B. SQL-89 C. SQL-99 D. SQL-03
【答案】C
【解析】时间线:SQL-86→SQL-89→SQL-92→SQL-99。
【要点】记住 SQL 版本演进顺序。
2.(单项选择题)下列场景中,最能体现 SQL 作为“非过程化”语言特点的是( )
A. 用 C 语言循环逐条更新记录 B. 一条 UPDATE 语句批量修改符合条件的数据
C. 用汇编语言实现索引算法 D. 用 Java 代码控制游标逐行读取
【答案】B
【解析】非过程化只需声明“做什么”,由系统决定“怎么做”,一条 UPDATE 即可完成批量修改。
【要点】区分“过程化”与“非过程化”。
3.(多项选择题)在实际项目中,SQL 可嵌入到下列哪些宿主语言中使用( )
A. Python B. Java C. C D. HTML
【答案】ABC
【解析】SQL 可嵌入高级语言,HTML 仅为标记语言,不支持嵌入式 SQL。
【要点】SQL 的灵活使用方式。
1.(填空题)SQL 最初由 ______ 公司在 1975—1979 年研发。
【答案】IBM
【解析】文档明确提到 SQL 诞生于 IBM。
【要点】SQL 起源记忆。
2.(填空题) ______ 年 ISO 正式把 SQL 采纳为国际标准。
【答案】1987
【解析】1986 年 ANSI 通过,1987 年 ISO 采纳。
【要点】国际标准时间点。
3.(判断题)各大数据库厂商对 SQL 的扩展导致其核心语法不再兼容标准 SQL。( )
【答案】×
【解析】厂商扩展是在保留标准语法基础上的“增量”功能,核心语法仍保持一致。
【要点】标准与扩展的关系。
· 1975IBM诞生→86ANSI→87ISO标准,后出SQL-92/99
· 各库保留标准并扩展,学习以标准SQL为主
· 用途:建库、查询、嵌程序;多实践即可掌握
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$