3-1 第2章 MySQL语言组成-函数
深入浅出存储引擎 第3章 更上一层楼-数据的增删改
更上一层楼——数据的增删改
Contents
1
SQL编程基础知识
2
数据的插入
3
数据的删除
4
数据的修改
3.1 SQL编程基础知识
3.1.1 运算符
MySQL中有4种常见的运算符,可以用来对字段或操作数进行运算。主要包括算数运算符、比较运 算符、逻辑运算符和位运算符。
1)算数运算符
算数运算符是最常用的运算符,主要包含加(+)、减(-)、乘(*)、除(/)、取余(%)这5种 运算。
示例
7
3.1 SQL编程基础知识
3.1.3 谓词
谓词是函数的一种,它是需要满足特定条件的函数,该条件就是返回值为真值,即返回值为True、 False或Unknown。 常见的SQL谓词,包括:BETWEEN、LIKE、IS NULL、IN、EXISTS。
示例:以客户交易订单表customer_trade_order为例,关于谓词的查询使用如下所示 。
示例:删除客户交易订单表customer_trade_order中的部分信息。
10
3.4 数据的修改
3.4.1 单字段数据修改
单字段数据修改指的是修改表中某一列对应的记录,语法格式如下所示:
示例:修改客户交易订单表customer_trade_order中Fred的性别为女性。
3.4.2 多字段数据修改
表4 位运算符
运算符
作用
&
位与
|
位或
^
位异或
~
取反
<<
左移
>>
右移
示例
6
3.1 SQL编程基础知识
3.1.2 运算符优先级
mysql创建函数语法
mysql创建函数语法MySQL是全球最流行的关系型数据库管理系统,其强大的SQL语言支持满足大多数用户需求,其中包括创建函数。
我们可以使用MySQL 创建用户自定义函数来丰富系统内置函数的功能,也可以自定义函数以满足特定需求。
本文将讨论如何使用MySQL的语法创建函数。
一、函数定义MySQL使用“CREATE FUNCTION”语句来定义函数,其基本语法如下:CREATE FUNCTION数名称 (参数1,参数2,...)RETURNS回值类型BEGINt处理过程及函数主体END;上述语法定义了一个具有用户变量的函数,用户可以按照自己的需求将变量的类型定义为整型、字符型等,也可以对变量做出任意限定。
二、函数主体MySQL函数主体主要由3部分组成:1、元数据:用以定义函数的基本信息,例如函数的名称、参数列表以及返回值类型等;2、变量:用以定义函数修改的变量,可以定义为整型、字符型等,也可以对其进行任意限定;3、处理过程及函数主体:用以定义函数实现的核心处理流程,包括定义函数中变量的赋值、处理条件判断以及实现函数功能的核心代码等。
三、实例下面给出一个判断变量a和b的大小的函数的实现:CREATE FUNCTION GetMax(a INT, b INT) RETURNS INTBEGINtDECLARE max INT;tIF a > b THENttSET max = a;tELSEttSET max = b;tEND IF;ttRETURN max;END;以上例子定义了一个叫做GetMax的函数,其中a和b都是整形,且接受两个参数,返回值也是整形。
在函数主体中实现了判断a和b 大小的功能,将大的数字赋值到变量max并返回max的值。
四、总结通过本文的介绍,我们了解了MySQL创建函数的语法,也学会了如何利用MySQL的语法实现函数的创建以及定义函数的主体。
MySQL提供的强大的SQL语法功能,使得我们可以根据自己的需求快速定义自定义函数,实现系统的流程优化以及实现复杂的处理程序。
《MySQL数据库实用教程》电子教案
内容
设计
课程引入:通过提出问题“如何删除表中的记录数据?”引入本课。
授课内容:
1.DELETE和TRUNCATE语句的语法格式
2.删除满足指定条件的数据
3.删除全部数据
总结课程内容,重申重点、难点
课后任务
完成“例4-10”“例4-11”和“例4-12”
任务名称
第四节课堂案例:学生成绩管理数据库的数据操作
授课内容:
一、关系模式设计
1.实体集的转换原则
2.实体集之间的联系的转换原则
【例2-2】将全局E-R图中各个实体集以及实体集之间的联系转换为一组关系模式。
二、关系模式的规范化
1.第一范式(1NF)
2.第二范式(2NF)
3.第三范式(3NF)
【例2-3】检验例2-2方案1和方案2中的关系模式是否满足规范化要求。
任务名称
第四节 子查询、联合查询
教学目的
掌握子查询和联合查询
教学方法
课堂授课、班级授课
教学手段
多媒体教学
重点难点
重点:子查询和联合查询
难点:子查询的执行顺序
3.关系运算
总结课程内容,重申重点、难点
课后任务
完成第1章习题,巩固数据库基础知识
任务名称
第二节MySQL 的安装与配置
教学目的
掌握MySQL的安装与配置方法。
掌握登录与退出MySQL的方法。
教学方法
课堂授课、班级授课
教学手段
多媒体教学
重点难点
重点:登录与退出MySQL
难点:以root身份通过命令提示符窗口登录MySQL的命令mysql
难点:三张表的内连接查询
教学
内容
(完整版)102214《MySql数据库》课程标准
《MySql数据库》课程标准课程代码: 102214参考学时: 72学分: 4课程类型:专业课2015年 1月编一、适用专业计算机应用技术专业(5年制高职)。
二、开课时间第 7 学期三、课程定位1.课程性质《MySql数据库》课程是5年制高职计算机应用技术专业的一门专业课程。
《MySql 数据库》是网络程序设计的基础,是进行网站设计、开发必须掌握的重要课程,是5年制高职计算机应用技术专业学生必须掌握的专业知识之一。
2.教学任务本课程的主要任务是培养学生的数据库使用的基本技能;培养学生综合运用PHP+MySql进行网站开发的能力;使用PHP+MySql解决实际建站问题,学生学习了《MySql 数据库》可以从事网站开发、软件测试等工作,可以承担软件编码或者测试的工作,可以按照用户需求使用相关主流开发平台,完成相关的功能模块设计、编码、调试和单元测试工作。
四、课程培养目标1.方法能力目标(1) 培养学生独立学习能力、自学能力;(2) 培养学生自我分析问题和解决问题的能力;(3) 培养学生获取新知识的能力和信息搜索能力;(4) 培养学生独立的决策能力。
(5) 培养学生善于总结和创造性工作的能力。
(6) 培养学生程序设计思想和软件规划和设计能力。
2.社会能力目标(1) 培养学生良好的自我表现、与人沟通能力;(2) 培养学生的团队协作精神;(3) 培训学生勇于创新、爱岗敬业的工作作风;(4) 培养学生的质量意识、安全意识;(5) 培养学生诚实、守信、坚忍不拔的性格;(6) 培养学生自主、开放的学习能力。
3.专业能力目标(1) 能安装MySql并正确配置;(2) 能正确数据的语句进行查询、修改、统计、更新等操作;(3) 能掌握索引、视图、触发器、事件并正确使用;(4) 能对数据库进行备份和恢复;(5) 能结合PHP进行数据库应用开发;五、课程衔接本课程的前导课程有《PHP程序设计》、《计算机等级二级ACCESS》,后继课程有《软件应用综合实践》。
第3章 MySQL数据库-MySQL数据库技术与应用-赵明渊-清华大学出版社
4
3.2 定义数据库
● CHARACTER SET:指定数据库字符集。 ● COLLATE:指定字符集的校对规则。 ● DEFAULT:指定默认值。 【例3.2】创建名称为stusys的学生信息数据库,该数据库是本 书的重要数据库。 在MySQL命令行客户端输入如下SQL语句:
mysql> CREATE DATABASE stusys;
| Database
|
+--------------------------+
| information_schema |
| mysql
|
| performance_schema |
| sys
|
+--------------------------+
4 rows in set (0.00 sec)
| information_schema |
| mysql
|
| performance_schema |
| stusys
|
| sys
|
+---------------------------+
可以看出,数据库列表中包含了刚创建的数据库stusys。
MySQL数据库技术与应用
6
3.2 定义数据库
3.2.2 选择数据库
执行结果:
Query OK, 1 row affected (0.31 sec)
MySQL数据库技术与应用
8
3.2 定义数据库
3.2.4 删除数据库
删除数据库使用DROP DATABASE语句。
语法格式:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
mysql函数的创建和使用
mysql函数的创建和使用MySQL函数是一种用于在MySQL数据库中执行特定任务的代码块。
它们可以接受参数并返回结果。
在本文中,我们将学习如何创建和使用MySQL函数。
一、创建函数要创建一个MySQL函数,我们可以使用CREATE FUNCTION语句。
它的基本语法如下:CREATE FUNCTION function_name ([parameter_list]) RETURNS return_typeBEGIN-- 函数体END;在这个语法中,function_name是函数的名称,parameter_list是函数的参数列表,return_type是返回值的数据类型。
函数体是函数的主要部分,其中包含执行特定任务的代码。
二、函数参数MySQL函数可以接受零个或多个参数。
参数列表以逗号分隔,每个参数由参数名称和数据类型组成。
例如:CREATE FUNCTION calculate_sum(a INT, b INT)RETURNS INTBEGINDECLARE sum INT;SET sum = a + b;RETURN sum;END;在这个例子中,我们创建了一个名为calculate_sum的函数,它接受两个整数参数a和b,并返回它们的和。
三、函数返回值MySQL函数可以返回一个值或一个结果集。
在函数体中,我们可以使用RETURN语句来指定函数的返回值。
例如:CREATE FUNCTION get_employee_name(emp_id INT) RETURNS VARCHAR(100)BEGINDECLARE emp_name VARCHAR(100);SELECT name INTO emp_name FROM employees WHERE id = emp_id;RETURN emp_name;END;在这个例子中,我们创建了一个名为get_employee_name的函数,它接受一个整数参数emp_id,并返回与该员工ID对应的员工姓名。
mysql创建函数语法
mysql创建函数语法MySQL是一个常用的关系型数据库管理系统,它支持通过创建用户自定义函数(User Defined Function,简称UDF)来扩展其功能。
创建函数是一种自定义函数的过程,它可以在数据库中创建一个或多个函数来执行特定的任务。
下面是MySQL创建函数的语法:```MySQLCREATE FUNCTION function_name ([parameters])RETURNS data_type[DETERMINISTIC][COMMENT 'string']BEGIN-- 函数的逻辑代码END;```- `CREATE FUNCTION`:关键字,用于创建函数。
- `function_name`:函数的名称,可以根据需要自定义。
- `parameters`:函数的参数列表,可以包含零个或多个参数,每个参数由参数名称和参数类型组成,多个参数之间用逗号分隔。
- `RETURNS`:关键字,指定函数的返回值类型。
- `data_type`:函数的返回值类型,可以是MySQL支持的任何数据类型。
- `DETERMINISTIC`:可选的关键字,用于指定函数是否是确定性的,即是否每次调用都返回相同的结果。
如果确定函数是确定性的,可以提高查询的性能。
- `COMMENT`:可选的关键字,用于为函数提供注释。
- `'string'`:注释的内容,由单引号包围的字符串。
- `BEGIN`:关键字,表示函数定义的开始。
- `END`:关键字,表示函数定义的结束。
在`BEGIN`和`END`之间是函数的逻辑代码,用于实现函数的具体功能。
在函数中可以使用多种SQL语句、控制流语句和变量来完成相应的任务。
函数可以包含任意数量的SQL语句,可以嵌套使用控制流语句和循环语句,可以使用变量进行计算和存储临时数据。
创建函数之后,可以通过使用`CALL`语句来调用函数,并传递相应的参数。
国开《数据库运维》形考任务1-5
答案+我名字实验1 MySQL数据库服务器配置(预备知识:第1,2章;分值:16分;需辅导教师评分)1.实验目的掌握MySQL的安装方法,练习MySQL数据库服务器的使用,理解MySQL服务器的组成,掌握MySQL服务器的配置方法。
2.实验内容【实验1-1】下载当前最新版本的MySQL,或者之前某个版本的MySQL,并在Windows上完成安装。
【实验1-2】安装完毕后,找到MySQL的配置文件;并查看初始化配置文件的内容。
【实验1-3】使用start和stop命令启动和关闭mysql数据库。
【实验1-4】连接到MySQL服务器,连接成功后是一个mysql>的提示。
【实验1-5】在MySQL数据库服务器端找到错误日志文件,并查看错误日志的内容。
【实验1-6】通过初始化配置文件,启用二进制日志、慢查询日志和通用查询日志。
【实验1-7】查看二进制日志、慢查询日志和通用查询日志的内容。
【实验1-8】关闭二进制日志、慢查询日志和通用查询日志。
【实验1-9】用CREATE DATABASE语句创建数据库,使用SHOW DATABASES命令查看显示所有数据库,可以看到新建的数据库名称。
【实验1-10】使用Workbench图形化管理工具创建数据库。
【实验1-11】使用SHOW STATUS命令查看系统状态参数;使用SHOW VARIABLES 命令查看服务器变量设置。
【实验1-12】使用命令“select @@basedir”和“select @@datadir”寻找到MySQL的安装目录和数据存放目录。
【实验1-13】使用SHOW ENGINES查看所有引擎,在配置文件中更改默认存储引擎default-storage-engine变量,改为MyISAM。
重启MySQL,查看默认存储引擎是否改变。
【实验1-14】创建一个数据表t_myisam(id int auto_increment, name varchar(30),primary key(id)),创建时显式指定存储引擎为MyISAM。
mysql的函数和过程
mysql的函数和过程MySQL是一种常用的关系型数据库管理系统,它提供了丰富的函数和过程来支持数据的处理和操作。
MySQL的函数和过程可以用于查询、计算、转换数据以及进行复杂的数据处理。
在MySQL中,函数是一段预定义的代码,它接收输入参数并返回一个结果。
函数可以用于查询数据、进行数学计算、字符串处理、日期和时间操作等。
常用的MySQL函数包括:1.数学函数:包括求绝对值、四舍五入、取整、开方、求幂等数学运算函数。
例如:ABS()、ROUND()、FLOOR()、CEILING()、SQRT()、POW()等。
2.字符串函数:包括字符串连接、子字符串提取、字符串替换、字符串转换等。
例如:CONCAT()、SUBSTRING()、REPLACE()、UPPER()、LOWER()、CAST()等。
3.日期和时间函数:包括日期和时间的格式化、比较、计算等。
例如:NOW()、CURDATE()、CURTIME()、DATE_FORMAT()、DATEDIFF()等。
4.聚合函数:用于对一组数据进行计算并返回单个结果。
例如:SUM()、AVG()、COUNT()、MIN()、MAX()等。
5.条件函数:根据条件返回不同的结果。
例如:IF()、CASE WHEN THEN ELSE END等。
还有许多其他类型的函数,可以通过MySQL的官方文档或者在线资源进行查阅和学习。
MySQL的过程是一段预定义的代码块,可以接收输入参数、执行一系列的操作,并返回结果或输出参数。
通过使用过程,可以组织和管理复杂的数据库操作和业务逻辑。
MySQL的过程支持条件判断、循环、异常处理等。
MySQL存储过程的创建和调用:CREATE PROCEDURE procedure_name([IN|OUT|INOUT]parameter_name parameter_type)BEGIN--过程体END;调用过程:CALL procedure_name([parameter_value]);MySQL过程可以包含多个语句,可以调用其他过程、执行SQL查询和更新语句、控制语句等。
MySQL(三)--函数与谓词
MySQL(三)--函数与谓词前⽂已有涉及,这⾥作为总结重新整理⼀下。
⼀、函数1、算术函数NUMERIC 是⼤多数 DBMS 都⽀持的⼀种数据类型,通过 NUMBERIC ( 全体位数, ⼩数位数 ) 的形式来指定数值的⼤⼩。
-- +-*/--余数SELECT n, p, MOD(n, p) AS mod_col FROM SampleMath;--绝对值SELECT m, ABS(m) AS abs_col FROM SampleMath;--四舍五⼊SELECT m, n, ROUND(m, n) AS round_col FROM SampleMath;2、字符串函数--字符串拼接SELECT str1, str2, str3, CONCAT(str1, str2, str3) AS str_concat FROM SampleStr--字符串长度SELECT str1, LENGTH(str1) AS len_str FROM SampleStr;--⼤⼩写转换SELECT str1, UPPER/LOWER(str1) AS low_str FROM SampleStr WHERE str1 IN ('ABC', 'aBC', 'abc')--字符串替换str1中的str2换为str3SELECT str1, str2, str3, REPLACE(str1, str2, str3) AS rep_str FROM SampleStr;--字符串截取 FROM截取的起始位置FOR截取的字符数SELECT str1, SUBSTRING(str1 FROM 3 FOR 2) AS sub_str FROM SampleStr;3、⽇期函数--当前⽇期SELECT CURRENT_DATE;--当前时间SELECT CURRENT_TIME;--当前时间戳SELECT CURRENT_TIMESTAMP;--截取⽇期元素SELECT CURRENT_TIMESTAMP,EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,EXTRACT(MONTH FROM CURRENT_TIMESTAMP) AS month,EXTRACT(DAY FROM CURRENT_TIMESTAMP) AS day,EXTRACT(HOUR FROM CURRENT_TIMESTAMP) AS hour,EXTRACT(MINUTE FROM CURRENT_TIMESTAMP) AS minute,EXTRACT(SECOND FROM CURRENT_TIMESTAMP) AS second;4、转换函数--类型转换SELECT CAST('0001' AS SIGNED INTEGER) AS int_col;SELECT CAST('2009-12-14' AS DATE) AS date_col;--将 NULL 转换为其他值--返回可变参数中左侧开始第 1 个不是 NULL 的值SELECT COALESCE(NULL, 1) AS col_1,COALESCE(NULL, 'test', NULL) AS col_2,COALESCE(NULL, NULL, '2009-11-01') AS col_3;5、聚合函数COUNT、SUM、AVG、MAX、MIN⼆、谓词谓词的作⽤就是“判断是否存在满⾜某种条件的记录”。
mysql第一范式第二范式第三范式的定义
mysql第一范式第二范式第三范式的定义MySQL是一种关系型数据库管理系统(RDBMS),它使用了结构化查询语言(SQL)来管理和操作数据。
在数据库设计过程中,有三个关键的范式,即第一范式(1NF),第二范式(2NF)和第三范式(3NF)。
这些范式的目标是确保数据库中的数据不会出现冗余,以便提高数据的一致性和可靠性。
1.第一范式:第一范式是指关系数据库中的每个表都应该具备原子性。
这意味着每个表中的每一列都应该包含单一的数据值,而不是一个组合或者一个以逗号分隔的列表。
这就要求将数据分解成最小单元,以确保表中的每一列都具有独立性和单一性。
如果一个表违反了第一范式,那么就需要进一步拆分该表。
例如,考虑一个表格存储了学生的信息,如果将学生的姓名和电话号码存储在同一个列中,那么这个表就违反了第一范式。
为了符合第一范式,应将姓名和电话号码分开存储,每个属性有一个独立的列。
2.第二范式:第二范式是指一个表中的非键属性完全依赖于表中的主键。
简单来说,这意味着一个表中的每个非键属性都应该与主键有一一对应的关系,而不是与部分主键相关。
为了满足第二范式,我们可以将数据分解成更小的表,将非键属性与与之相关的主键属性放在同一个表中。
这样可以避免数据冗余和不一致性。
例如,考虑一个订单表,该表中包含订单编号、产品编号和产品描述。
如果产品描述与产品编号不直接依赖于订单编号,而是与订单编号和产品编号的组合有关,那么这个表就违反了第二范式。
为了符合第二范式,应该将产品描述移动到与产品编号相关联的表中。
3.第三范式:第三范式是指一个表中的非键属性不应该传递依赖于其他非键属性。
这意味着一个表中的每个非键属性都应该直接依赖于主键,而不是依赖于其他属性。
为了满足第三范式,可以进一步将表分解,以确保每个非键属性只依赖于主键。
这样可以减少数据冗余和数据更新异常,并提高数据完整性和一致性。
例如,考虑一个员工表,该表中包含员工编号、员工姓名、部门编号和部门名称。
mysql函数大全(PDF版)
mysql函数大全对于针对字符串位置的操作,第一个位置被标记为1。
ASCII(str)返回字符串str的最左面字符的ASCII代码值。
如果str是空字符串,返回0。
如果str是NULL,返回NULL。
mysql>select ASCII('2');->50mysql>select ASCII(2);->50mysql>select ASCII('dx');->100也可参见ORD()函数。
ORD(str)如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代码值来返回多字节字符代码。
如果最左面的字符不是一个多字节字符。
返回与ASCII()函数返回的相同值。
mysql>select ORD('2');->50CONV(N,from_base,to_base)在不同的数字基之间变换数字。
返回数字N的字符串数字,从from_base基变换为to_base基,如果任何参数是NULL,返回NULL。
参数N解释为一个整数,但是可以指定为一个整数或一个字符串。
最小基是2且最大的基是36。
如果to_base 是一个负数,N被认为是一个有符号数,否则,N被当作无符号数。
CONV以64位点精度工作。
mysql>select CONV("a",16,2);->'1010'mysql>select CONV("6E",18,8);->'172'mysql>select CONV(-17,10,-18);->'-H'mysql>select CONV(10+"10"+'10'+0xa,10,10);->'40'BIN(N)返回二进制值N的一个字符串表示,在此N是一个长整数(BIGINT)数字,这等价于CONV(N,10,2)。
mysql函数构建
mysql函数构建
MySQL是一个关系型数据库管理系统,它提供了丰富的内置函数来进行数据处理和计算。
以下是一些常用的MySQL函数构建示例:
1. 字符串函数:
- CONCAT:连接两个或多个字符串。
- SUBSTRING:提取字符串的子串。
- LENGTH:返回字符串的长度。
- UPPER/LOWER:将字符串转换为大写/小写。
- REPLACE:替换字符串中的指定子串。
2. 数值函数:
- ABS:返回一个数的绝对值。
- ROUND:对一个数进行四舍五入。
- CEILING/FLOOR:返回大于/小于等于指定数的最小整数。
- MOD:返回两个数的模(余数)。
- POWER:返回一个数的指定次幂。
3. 日期和时间函数:
- NOW:返回当前日期和时间。
- DATE_FORMAT:将日期格式化为指定的字符串格式。
- DATE_ADD/DATE_SUB:在日期上添加/减去指定的时间间隔。
- DATEDIFF:计算两个日期之间的天数差。
- YEAR/MONTH/DAY:从日期中提取年份/月份/日期。
4. 聚合函数:
- SUM:计算指定列的总和。
- AVG:计算指定列的平均值。
- COUNT:计算指定列的行数。
- MAX/MIN:计算指定列的最大/最小值。
- GROUP_CONCAT:将指定列的值连接为一个字符串。
这只是一小部分MySQL函数的示例,MySQL还提供了许多其他函数,用于满足不同的数据处理需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.4.3 字符串函数
(1)ASCII()函数和CHAR()函数 语法格式: ASCII (char) 返回字符表达式最左端字符的ASCII值。参数char的类型为字符型的表达式,
返回值为整型。
【例19】返回字母A的ASCII码值。 select ASCII('A'); 执行结果如图所示。
2.4.3 字符串函数
将字符串s中所有字符转换为大写
将字符串s中所有字符转换为小写 返回字符串s中最前的n个字符 返回字符串s中最后的n个字符 用字符串s2对s1进行左边填补直至达到len个字符长度 用字符串s2对s1进行右边填补直至达到len个字符长度 去除字符串s首部和尾部的所有空格 从字符串s中去掉开头的空格 从字符串s中去掉尾部的空格 返回字符串s重复n次的结果 用字符串s2替换字符串s中所有出现的字符串s2 比较字符串s1和s2 返回从字符串s的n位置起len个字符长度的子串 返回子串s1在字符串s中第一次出现的位置 从字符串s中获取s1的开始位置 返回颠倒字符串s的结果 返回第一个与字符串s匹配的字符串的位置 返回在字符串s2中与s1匹配的字符串的位置
2.4.3 字符串函数
函数 ASCII(char) LENGTH(s) CHAR_LENGTH(s) CONCAT(s1,s2…) CONCAT_WS(sep,s1,s2…) INSERT(s1,x,len,s2) 返回字符的ASCII码值 返回字符串s的长度 返回字符串s的字符数 将字符串s1,s2等多个字符串合并为一个字符串 将字符串s1,s2,…sn连接成字符串,并用sep字符间隔 将字符串s2替换s1的x位置开始长度为len的字符串 作用
执行结果如图所示。
2.4.1 数学函数-续
(8)RAND()函数 RAND()函数用于获取0-1间的随机数:
Select RAND(), RAND();
执行结果如图所示。
练习:假设班里同学学号为1-50,随机 抽取一个学号中奖。
2.4.2 聚合函数
MySQL有一组函数是特意为求和或者对表中的数据进行集中概括而设计的。 这一组函数就叫做聚合函数。聚合函数常常用于对一组值进行计算,然后返回单个 值。通过把聚合函数(如COUNT和SUM)添加到带有一个GROUP BY子句的 SELECT语句块中,数据就可以聚合。 学习查询语句时候再讲
2.4.1 数学函数
(6)SQRT()函数 SQRT()函数返回一个数的平方根: select SQRT(25),SQRT(15),SQRT(1); 执行结果如图所示。
练习:求3的平方根,结果保留2位小数。
2.4.1 数学函数
(7)POW()函数 POW()函数以一个数作为另外一个数的指数,并返回结果:
执行结果为:
2.4.4 日期和时间函数
函数 CURDATE()或CURRRENT_DATE() 返回当前的日期 作用
CURTIME()或CURRRENT_TIME()
DATE_ADD(d,INTERVAL intkeyword ) DATE_FROM(d,fmt) DATE_SUB(d, INTERVAL intkeyword ) DAYOFWEEK(d) DAYOFMONTH(d) DAYOYEAR(d) DAYNAME(d) EXTRACT(keyword FROM d) FROM_DAYS(x) HOUR(t) MINUTE(t) MONTH(d) MONTHNAME(d) NOW() QUARTER(d) PERIOD_ADD(d,mon) PERIOD_DIFF(d1,d2) SECOND(t) SEC_TO_TIME(x) TIME_FORMAT(t,fmt)
select POW(2,2),POW(10, -2),POW(0,3);
执行结果如图所示。
2.4.1 数学函数
(8)RAND()函数 RAND()函数用于获取0-1间的随机数:
Select RAND(), RAND();
执行结果如图所示。
练习:假设班里同学学号为1-50,随机 抽取一个学号中奖。
正切值:
select ASIN(1),ACOS(1),ATAN(DEGREES(45)); 执行结果为:
2.4.1 数学函数
(11)BIN()、OCT()和HEX()函数 BIN()、OCT()和HEX()函数分别返回一个数的二进制、八进制和十六进制值, 这个值作为字符串返回: select BIN(2),OCT(12),HEX(80);
2.4.3 字符串函数
(7)CONCAT函数 语法格式: CONCAT(s1,s2,…sn) CONCAT函数用于连接指定的几个字符串。 【例2.25】执行如下语句: select CONCAT('中国梦', '我的梦'); 执行结果如图所示。
练习:用一个句子实现 连接 “我叫 的空格,并加!满8个字符数。
2.4.1 数学函数
TRUNCATE()函数用于把一个数字截取为一个指定小数个数的数字,逗号后 面的数字表示指定小数的个数: select TRUNCATE(1.54578, 2),TRUNCATE(-76.12, 5); 执行结果为:
练习:对35.28 四舍五入保留到10位,小数点后1位,以及截取到10 位,小数点后1位
(1) ASCII()函数和CHAR()函数 语法格式:
char (x1,x2,x3,…)
将x1、x2…的ASCII码转换为字符,结果组合成一个字符串。参数x1,x2, x3…为介于0~255之间的整数,返回值为字符型。 【例2.20】返回ASCII码值为65、66、67的字符,组成一个字符串。 select CHAR(65,66,67); 执行结果如图所示。
2.4.1 数学函数
(9)SIN()、COS()和TAN()函数 SIN()、COS()和TAN()函数返回一个角度(弧度)的正弦、余弦和正切值: select SIN(1),COS(1),TAN(RADIANS(45)); 执行结果为:
2.4.1 数学函数
(10)ASIN()、ACOS()和ATAN()函数 ASIN()、ACOS()和ATAN()函数返回一个角度(弧度)的反正弦、反余弦和反
SELECT LEFT('abcdefg',3), RIGHT('abcdefg',4);
练习:取abcdefg的前三个和后三个字母。
2.4.3 字符串函数
(4)SUBSTRING函数 语法格式: SUBSTRING (expression , Start, Length ) 返回expression中指定的部分数据。参数expression可为字符串、二进制串、 text、image字段或表达式。 【例】 SELECT SUBSTRING('football', '3', '4');
2.4.1 数学函数
(4)ABS()函数 ABS()函数用来获得一个数的绝对值,例如:
select ABS(-878),ABS(-8.345);
执行结果为878, 8.345
2.4.1 数学函数
(5)SIGN()函数 SIGN()函数返回数字的符号,返回的结果是正数(1)、负数(1)或者零 (0): select SIGN(-2),SIGN(2),SIGN(0); 执行结果如图所示。
2.4.3 字符串函数
(9)STRCMP函数 语法格式: STRCMP(s1,s2) STRCMP函数用于比较两个字符串,相等返回0,s1大于s2返回1,s1小于 s2返回-1。 【例2.27】执行如下语句: select STRCMP('A', 'A'), STRCMP('ABC', 'OPQ'),STRCMP('T', 'B');
第2章 MySQL编程语言
MySQL语言简介 常量和变量 运算符与表达式 系统内置函数
2.1 2.2 2.3 2.4
复 习
2.4.1 数学函数
(3)ROUND()函数和TRUNCATE()函数 ROUND()函数用于获得一个数的四舍五入的整数值: select ROUND(5.1),ROUND(25.501),ROUND(9.8); 执行结果为:
“和”XXX”要求,去掉“我叫”后面
2.4.3 字符串函数
(8)REPLACE函数 语法格式:
REPLACE (str1 , str2 , str3 )
REPLACE函数用于用字符串str3替换str1中所有出现的字符串str2,最后返回替 换后的字符串。 【例2.24】执行如下语句: select REPLACE('Welcome to CHINA', 'o', 'K'); 执行结果如图所示。
2.4.3 字符串函数
(6)RPAD和LPAD函数 语法格式:
RPAD | LPAD( str, n, pad)
使用RPAD和LPAD分别用字符串pad对字符串str的右边和左边进行填补,直至 str中字符数目达到n个,最后返回填补后的字符串。若str中的字符个数大于n,则 返回str的前n个字符。 【例2.23】执行如下语句: select RPAD('中国梦',8, '!'), LPAD('welcome',10, '*'); 执行结果为:
UPPER(s)
LOWER(s) LEFT(s,n) RIGHT(s,n) LPAD(s1,len,s2) RPAD(s1,len,s2) TRIM(s) LTRIM(s) RTRIM(s) REPEAT(s,n) REPLACE(s,s1,s2) STRCMP(s1,s2) SUBSTRING(s,n,len) POSITION(s1,s) INSTR(s,s1) REVERSE(s) FIELD(s,s1,s2,…) FIND_IN_SET(s1,s2)