《mysql语言结构》ppt课件

上传人:tian****1990 文档编号:74153367 上传时间:2019-01-27 格式:PPT 页数:99 大小:1.35MB
返回 下载 相关 举报
《mysql语言结构》ppt课件_第1页
第1页 / 共99页
《mysql语言结构》ppt课件_第2页
第2页 / 共99页
《mysql语言结构》ppt课件_第3页
第3页 / 共99页
《mysql语言结构》ppt课件_第4页
第4页 / 共99页
《mysql语言结构》ppt课件_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《《mysql语言结构》ppt课件》由会员分享,可在线阅读,更多相关《《mysql语言结构》ppt课件(99页珍藏版)》请在金锄头文库上搜索。

1、第6章 MySQL语言结构,MySQL语言简介,常量和变量,运算符与表达式,系统内置函数,6.1 MySQL语言简介,(1)数据定义语言(DDL)。用于执行数据库的任务,对数据库及数据库中的各种对象进行创建、删除、修改等操作。如前所述,数据库对象主要包括:表、默认约束、规则、视图、触发器、存储过程等。DDL包括的主要语句及功能如表6.1所示。,6.1 MySQL语言简介,(2)数据操纵语言(DML)。用于操纵数据库中各种对象,检索和修改数据。DML包括的主要语句及功能如表6.2所示。,6.1 MySQL语言简介,(3)数据控制语言(DCL)。用于安全管理,确定哪些用户可以查看或修改数据库中的数

2、据,DCL包括的主要语句及功能如表6.3所示。,(4)MySQL增加的语言元素。这部分不是SQL标准所包含的内容,而是为了用户编程的方便增加的语言元素。这些语言元素包括常量、变量、运算符、函数、流程控制语句和注解等。,6.2 常量和变量,6.2.1 常量 1字符串常量 字符串是指用单引号或双引号括起来的字符序列,分为ASCII字符串常量和Unicode字符串常量。 ASCII字符串常量是用单引号括起来的,由ASCII字符构成的符号串,例如: hello How are you! Unicode 字符串常量与ASCII字符串常量相似,但它前面有一个N标志符(N代表 SQL-92标准中的国际语言(

3、National Language)。N前缀必须为大写。只能用单引号括起字符串,例如: Nhello NHow are you!,6.2.1 常量,在字符串中不仅可以使用普通的字符,也可使用几个转义序列,它们用来表示特殊的字符,见表6.4。,6.2.1 常量,【例6.1】执行如下语句: select Thisnisnfournlines; 执行结果为:,6.2.1 常量,【例6.2】执行下面的语句: select hello, “hello“, “hello“, hello, hello; 执行结果为:,6.2.1 常量,2数值常量 数值常量可以分为整数常量和浮点数常量。 整数常量即不带小数点

4、的十进制数,例如:1894,2,+145345234,2147483648。 浮点数常量是使用小数点的数值常量,例如:5.26,1.39,101.5E5,0.5E2。,6.2.1 常量,十六进制数值不区分大小写,其前缀“X”或“x”可以被“0x”取代而且不用引号。即X41可以替换为0x41,注意:“0x”中x一定要小写。 十六进制值的默认类型是字符串。如果想要确保该值作为数字处理,可以使用CAST(.AS UNSIGNED)。 【例6.3】执行如下语句: select 0x41, cast(0x41 as unsigned); 执行结果如图所示。,6.2.1 常量,【例6.4】将字符串CAT转

5、换为16进制。 select hex(CAT); 执行结果为:,6.2.1 常量,4日期时间常量 日期时间常量:用单引号将表示日期时间的字符串括起来构成。日期型常量包括年、月、日,数据类型为DATE,表示为“2014-06-17”这样的值。 如下是时间常量的例子: 14:30:24 如下是日期时间常量的例子: 2014-05-12 14:28:24:00,6.2.1 常量,5位字段值 可以使用bvalue符号写位字段值。value是一个用0和1写成的二进制值。直接显示bvalue的值可能是一系列特殊的符号。例如,b0显示为空白,b1显示为一个笑脸图标。 使用BIN函数可以将位字段常量显示为二进

6、制格式。 【例6.5】执行下列语句: select BIN(b111101+0), OCT(b111101+0); 执行结果如图所示。,6.2.1 常量,6布尔值 布尔值只包含两个可能的值:TRUE和FALSE。FALSE的数字值为“0”,TRUE的数字值为“1”。 【例6.6】获取TRUE和FALSE的值。 select TRUE, FALSE; 执行结果如图所示。,6.2.1 常量,7NULL值 NULL值可适用于各种列类型,它通常用来表示“没有值”、“无数据”等意义,并且不同于数字类型的“0”或字符串类型的空字符串。,6.2.2 变量,1用户变量 用户变量与连接有关。也就是说,一个客户端

7、定义的变量不能被其他客户端看到或使用。当客户端退出时,该客户端连接的所有变量将自动释放。 定义和初始化一个变量可以使用SET语句,语法格式为: SET user_variable1expression1 ,user_variable2= expression2 , 其中,user_variable1、user_variable2为用户变量名,变量名可以由当前字符集的文字数字字符、“.”、“_”和“$”组成。当变量名中需要包含了一些特殊符号(如空格、#等)时,可以使用双引号或单引号将整个变量括起来。,6.2.2 变量,【例6.7】创建用户变量name并赋值为“王林”。 set name=王林;

8、还可以同时定义多个变量,中间用逗号隔开。 【例6.8】创建用户变量user1并赋值为1,user2赋值为2,user3赋值为3。 set user1=1, user2=2, user3=3; 定义用户变量时变量值可以是一个表达式。 【例6.9】创建用户变量user4,它的值为user3的值加1。 set user4=user3+1; 在一个用户变量被创建后,它可以以一种特殊形式的表达式用于其他SQL语句中。变量名前面也必须加上符号。,6.2.2 变量,【例6.10】查询【例6.7】中创建的变量name的值。 select name; 执行结果如图所示。,【例6.11】使用查询给变量赋值。 us

9、e xscj set student=(select 姓名 from xs where 学号=081101);,6.2.2 变量,【例6.12】查询表xs中名字等于【例6.11】中student值的学生信息。 select 学号, 姓名, 专业名, 出生日期 from xs where 姓名=student; 执行结果如图所示。,【例6.13】执行如下语句: select t2:=(t2:=2)+5 as t2; 结果t2的值为7。,6.2.2 变量,2系统变量 例如,有些设置定义了数据如何被存储,有些设置则影响到处理速度,还有些与日期有关,这些设置就是系统变量。 【例6.14】获得现在使用的

10、MySQL版本。 select version ; 执行结果如图所示。,6.2.2 变量,【例6.15】获得系统当前时间。 select CURRENT_TIME; 执行结果如图所示。,6.2.2 变量,在MySQL中,有些系统变量的值是不可以改变的,例如VERSION和系统日期。而有些系统变量是可以通过SET语句来修改的,例如SQL_WARNINGS。 语法格式: SET system_var_name = expr | GLOBAL | SESSION system_var_name = expr | global.| session. system_var_name = expr,6.2

11、.2 变量,(1)全局系统变量 当MySQL启动的时候,全局系统变量就初始化了,并且应用于每个启动的会话。如果使用GLOBAL(要求SUPER权限)来设置系统变量,则该值被记住,并被用于新的连接,直到服务器重新启动为止。 【例6.16】将全局系统变量sort_buffer_size的值改为25000。 set global.sort_buffer_size=25000;,6.2.2 变量,(2)会话系统变量 会话系统变量(Session System Variable)只适用于当前的会话。大多数会话系统变量的名字和全局系统变量的名字相同。当启动会话的时候,每个会话系统变量都和同名的全局系统变量

12、的值相同。一个会话系统变量的值是可以改变的,但是这个新的值仅适用于正在运行的会话,不适用于所有其他会话。 【例6.17】将当前会话的SQL_WARNINGS变量设置为TRUE。 set SQL_WARNINGS =ON;,6.2.2 变量,【例6.18】对于当前会话,把系统变量SQL_SELECT_LIMIT的值设置为10。这个变量决定了SELECT语句的结果集中的最大行数。 set SESSION.SQL_SELECT_LIMIT=10; select LOCAL.SQL_SELECT_LIMIT; 执行结果如图所示。,如果要将一个系统变量值设置为MySQL默认值,可以使用DEFAULT关键

13、字。 【例6.19】把SQL_SELECT_LIMIT的值恢复为默认值。 set LOCAL.SQL_SELECT_LIMIT=DEFAULT; 使用SHOW VARIABLES语句可以得到系统变量清单。,6.2.2 变量,【例6.20】得到系统变量清单。 show variables; 要获得与样式匹配的具体的变量名称或名称清单,需使用LIKE子句,语句如下: show variables like max_join_size; show global variables like max_join_size; 要得到名称与样式匹配的变量的清单,需使用通配符“%”,例如: show vari

14、ables like character%;,6.3 运算符与表达式,6.3.1 算术运算符 (1)“+”运算符 “+”运算符用于获得一个或多个值的和: select 1.2+3.09345, 0.00000000001+0.00000000001;,6.3.1 算术运算符,(2)“”运算符 “”运算符用于从一个值中减去另一个值,并可以更改参数符号: select 200-201, 0.14-0.1, -2, -23.4;,其中,+(加)和-(减)运算符还可用于对日期时间值(如DATETIME)进行算术运算。例如: select 2014-01-20+ INTERVAL 22 DAY; 执行结

15、果如图所示。,6.3.1 算术运算符,(3)“*”运算符 “*”运算符用来获得两个或多个值的乘积: select 5*12,5*0, -11.2*8.2, -19530415* -19540319; 执行结果为:,6.3.1 算术运算符,(4)“/”运算符 “/”运算符用来获得一个值除以另一个值得到的商: select 12/2, 1.6/-0.1, 23/7, 23.00/7.00000,1/0; 执行结果为:,6.3.1 算术运算符,(5)“%”运算符 “%”运算符用来获得一个或多个除法运算的余数: select 12%5, -32%7,3%0; 执行结果如图所示。,6.3.1 算术运算符

16、,在运算过程中,用字符串表示的数字可以自动地转换为字符串。当执行转换时,如果字符串的第一位是数字,那么它被转换为这个数字的值,否则,它被转换为零。 例如: select 80AA+1, AA80+1, 10x * 2 * qwe; 执行结果为:,6.3.2 比较运算符,比较运算符(又称关系运算符),用于比较两个表达式的值,其运算结果为逻辑值,可以为三种之一:1(真)、0(假)及 NULL(不确定)。表6.5列出了在MySQL中可以使用的各种比较运算符。,6.3.2 比较运算符,下面这个例子说明了在不同的情况下MySQL以不同的方式处理数字和字符串。 【例6.21】执行下列语句: select 5 = 5ab,5=5ab; 执行结果如图所示。,6.3.2 比较运算

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号