内容正文:
河北省(计算机类)对口招生
《数据库原理与应用技术-MySQL》复习讲义
模块 2 MySQL基础知识
考点 3 MySQL数据类型
【考纲要求】
1. 了解结构化查询语言SQL的作用和主要特点;
2. 掌握MySQL语言的组成;
3. 掌握MySQL常用数据类型的含义、特点、取值和使用方法
4. 掌握MySQL数据库中不同运算符的用法;
5. 掌握MySQL常用函数的概念及使用;
【知识网络】
【知识和技能要点】
一、结构化查询语言SQL
1.SQL概述与核心作用
SQL全称结构化查询语言(Structured Query Language),是关系型数据库的通用标准操作语言,不受数据库品牌限制,MySQL、SQL Server、Oracle等数据库均兼容标准SQL语法。
2.SQL主要特点
(1)通用性强:是关系型数据库通用标准语言,跨数据库兼容,语法统一、易学易用。
(2)非过程化语言:用户只需声明“做什么”,无需定义“怎么做”,无需编写复杂执行步骤,数据库自动优化执行流程。
(3)功能强大、简洁灵活:语句结构简单、关键字少,一条语句可完成复杂数据操作,集查询、定义、操纵、控制功能于一体。
(4)交互式与嵌入式兼备:既可单独在命令行、可视化工具中交互执行,也可嵌入Java、Python等编程语言中使用。
(5)大小写不敏感:SQL关键字不区分大小写(SELECT和select效果一致),教学与实训中默认关键字大写、自定义名称小写,规范易读。
二、SQL语言的组成部分
1. DDL 数据定义语言(Data Definition Language)
(1)核心功能:定义和管理数据库、数据表、字段、索引等数据库结构,不操作具体数据,只操作结构。
(2)常用关键字:CREATE(创建)、ALTER(修改)、DROP(删除)、SHOW(查看)
(3)常用实操语句:创建数据库、创建数据表、修改表结构、删除数据表、查看存储引擎、查看字符集等。
2. DML 数据操纵语言(Data Manipulation Language)
(1)核心功能:操作数据表中的具体数据内容,实现数据的增、删、改,不修改表结构。
(2)常用关键字:INSERT(插入/新增数据)、UPDATE(修改数据)、DELETE(删除数据)
3.DCL 数据控制语言(Data Control Language)
(1)核心功能:管理数据库用户权限、数据安全,实现权限授予与回收。
(2)常用关键字:GRANT(授予权限)、REVOKE(回收权限)
三、MySQL常用数据类型
1.数值类型(整数、浮点数、定点数)
(1)整数类型
用于存储纯整数数据,分为有符号(默认,含正负)和无符号(仅0和正数)。
①TINYINT:占用1字节,有符号范围-128~127,无符号0~255,适用于年龄、状态码等小范围数值。
②SMALLINT:占用2字节,存储中等范围整数。
③INT:占用4字节,常用标准整数类型,适用于学号、编号、分数等常规数值,使用最广泛。
④BIGINT:占用8字节,存储超大整数,适用于订单号、大数据编号。
(2)浮点数与定点数
①FLOAT(总长度,小数位数):单精度浮点数,占用4字节,计算存在微小误差,适用于普通小数(如成绩)。
②DOUBLE:双精度浮点数,精度高于FLOAT,占用8字节。
③DECIMAL(M,D):定点数,以字符串形式存储,无精度误差,专门用于货币、金额、精准计算场景。
规则:插入精度超出定义范围时,系统自动四舍五入,DECIMAL会提示警告,浮点数无警告。
2. 日期时间类型
(1)YEAR:仅存储年份,格式YYYY,自动适配两位年份转换规则。
(2)DATE:仅存储日期,格式YYYY-MM-DD,无时间部分。
(3)TIME:仅存储时间,格式HH:MM:SS,支持时间间隔、负数时间。
(4)DATETIME:存储日期+时间,格式YYYY-MM-DD HH:MM:SS,固定存储,不受时区影响。
(5)TIMESTAMP:时间戳,格式同DATETIME,受时区影响,存储范围更小,用于记录数据更新时间。
3. 字符串类型
(1)固定/可变长度字符串
①CHAR(M):固定长度字符串,M为字符数。数据长度不足时自动补空格,查询速度快,适合固定长度数据(手机号、身份证号)。
②VARCHAR(M):可变长度字符串,按需占用空间,节省内存,适合姓名、地址等长度不固定的数据,InnoDB引擎首选。
(2)大文本、二进制类型
①TEXT系列(TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT):存储大段文本,如文章、简介,无固定长度。
②BLOB系列:存储二进制文件,如图片、音频、视频二进制数据。
(3)ENUM:单选枚举,限定固定选项,一次只能存一个值,如性别(男/女),支持索引取值。
(4)SET:多选集合,可同时存储多个选项,如爱好(足球,篮球),自动去重、排序。
四、MySQL常用运算符及用法
1.算术运算符
用于数值计算,支持数字字段运算:+(加)、-(减)、*(乘)、/(除)、%(取余 / 取模)。
2.比较运算符
比较运算符是WHERE条件筛选语句的核心,用于对比两个数据的大小、匹配关系,运算结果只有两种:成立(真)、不成立(假),广泛用于精准查询、范围查询、模糊查询、空值判断。常用运算符有:
(1)=:等于,精准匹配等值数据,适用于数值、字符串、日期类型
(2)>、<、>=、<=:大于、小于、大于等于、小于等于,多用于数值、日期范围筛选
(3)<> / !=:不等于,两种写法完全等价,用于匹配不满足指定条件的数据;
(4)BETWEEN...AND...:区间匹配,查询介于指定最小值和最大值之间的数据(包含两端边界值)
(5)IN:多值匹配,判断字段值是否属于指定的一组值,适合固定多个值的精准筛选,替代多个OR条件
(6)LIKE:模糊查询,专门用于字符串匹配,搭配通配符使用:% 匹配任意长度任意字符(包含0个字符),_ 仅匹配单个任意字符
(7)IS NULL / IS NOT NULL:空值/非空值判断,超级易错考点:MySQL中NULL代表未知空值,不能用 =NULL、!=NULL 判断,只能用专用空值判断运算符
3.逻辑运算符
逻辑运算符用于拼接多个查询条件,实现复杂条件筛选,是多条件查询题型的必考知识点,可搭配所有比较运算符使用。常用运算符及逻辑规则:
(1)AND(与):同时满足所有拼接条件,多个条件缺一不可,优先级高于OR
(2)OR(或):只需满足任意一个条件即可,条件满足其一即成立
(3)NOT(非):条件取反,对原有判断结果进行反转,成立变不成立,不成立变成立
(4)XOR:两个条件结果不同则为真,结果相同则为假
优先级规则:NOT > AND > OR > XOR
4.位运算符
位运算符是对数值的二进制补码进行底层运算的特殊运算符,运算精度高、执行速度快。常用包括:&(按位与)、|(按位或)、^(按位异或)。
位运算通用规则:运算时先将十进制数转为二进制,逐位对比运算,最终再转回十进制结果。
(1)& 按位与:两位二进制同时为1,结果才为1,否则为0。可用于清零、保留指定位。
(2)| 按位或:两位二进制只要有一个为1,结果就为1,全0才为0。可用于数值置1。
(3)^ 按位异或:两位二进制相同为0,不同为1。
(4)<< 按位左移:将数据二进制位整体向左移动指定位数,右侧空出低位补 0。
(5)>> 按位右移:将数据二进制位整体向右移动指定位数,左侧空出高位补符号位(正数补0)。
【练习题】
一、填空题
1.SQL是________数据库的通用标准操作语言,跨数据库兼容。
2.用于定义和管理数据库、数据表结构的SQL语言是________。
3.按位异或运算符^的运算规则是:二进制位________为0,________为1。
4.存储金额、货币等高精度数据,杜绝小数精度误差的定点数类型是________。
5.占用1字节,可存储0~255无符号数值,适合存储状态码、年龄的整数类型是________。
6.任意数值与NULL做加法、减法、乘法运算,结果均为______,NULL代表______值,______(可以/不可以)参与常规数值计算得到有效结果。
7.在MySQL中 5.5 % 2 小数取余的运算结果是________。
8.MySQL中,10 % -3的运算结果为________,-10 % 3 的运算结果为________。
9.查询姓“张”的所有学生,应使用的模糊查询通配符语句是LIKE ________。
10.对数值 8 进行右移1位运算 8>>1,实操结果是________。
二、选择题
1.用于修改数据表结构的SQL语言是( )
A. DDL B. DML C. DCL D. TCL
2.适合存储用户年龄、状态码的整数类型是( )
A. BIGINT B. INT C. SMALLINT D. TINYINT
3.下列日期类型中受时区影响的是( )
A. YEAR B. DATE C. DATETIME D. TIMESTAMP
4.下列关于按位异或^的高阶特性,说法错误的是( )
A. 数值异或0等于自身 B. 数值异或自身结果为0
C. 两次异或同一数值可还原原值 D. 异或运算优先级高于按位与
5.判断字段是否为空值的正确写法是( )
A. =NULL B. !=NULL C. IS NULL D. NULL()
6.执行按位运算 5 & 3,最终运算结果是( )
A. 1 B. 3 C. 5 D. 0
7.SQL中,"AGEIN(20,22)"的语义是( )。
A. AGE<=22 AND AGE >=20 B. AGE <22 AND AGE >20
C. AGE=20 AND AGE =22 D. AGE=20 OR AGE =22
8.关于 `WHERE id NOT IN (2,4,NULL)` 语句,下列说法正确的是( )
A. 可查询id不等于2、4的数据 B. 查询结果为空
C. 仅忽略NULL值正常查询 D. 语法报错无法执行
9.执行 `-10 + 12 % 5 * (-2)` 的结果是( )
A. -14 B. -6 C. 6 D. 14
10.SQL表达式 `(5 + NULL) * 8 - 2` 的结果是( )
A. 38 B. -2 C. NULL D. 0
3、 判断题
1.SQL关键字区分大小写,select和SELECT执行结果不同。( )
2.INSERT、UPDATE、DELETE用于数据表结构修改。( )
3.TINYINT类型占用2字节存储空间。( )
4.FLOAT和DOUBLE存储小数完全无精度误差。( )
5.DECIMAL类型适用于金额、货币等高精度数据存储。( )
6.VARCHAR类型会固定占用定义的全部字符空间。( )
7.MySQL中整数与整数相除,结果会自动向下取整,舍弃小数部分。( )
8.模糊查询中,'李_' 可以匹配“李华”“李明”等两个字的姓名。( )
9.IN关键字可实现多值匹配,可替代多个OR条件,简化查询语句。( )
10.任意数值与NULL进行算术运算,最终结果均为NULL。( )
【答案】
一、填空题
1. 关系型 2. DDL 3. 相同、不同 4.DECIMAL 5. TINYINT 6. NULL、未知、不可以
7. 1.5 8. 1、-1 9. '张%' 10. 4
二、选择题
1. A 2. D 3.D 4.D 5. C 6.A 7. D 8. B 9. A 10. C
三、判断题
1. × 2.× 3.× 4.× 5. √ 6. × 7. × 8. √ 9. √ 10. √
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$