实验七 MySQL语言结构

一、  实验内容:

1、 常量的使用

2、 变量的使用

3、 运算符的使用

4、 系统函数的使用

二、  实验项目:员工管理数据库

用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表)、Departments(部门信息表)、Salary(员工薪水情况表)。

三、  实验步骤:(要求用命令完成以下操作)

1、 常量的使用

(1)   计算85和32的和、差、积、商、余数;

(2)   显示“I love Mysql”要求每个单词一行;

(3)   查询十六进制书50所对应的字符,以及字符串“love”对应的十六进制数;

(4)   使用BIN函数查询数字250的二进制格式,使用OCT查询位值“1101010”

所对应的数值;

2、 变量的使用

(1)   定义一个用户变量@female,并在Select语句中使用该变量,查询

Employees表中女员工的编号、姓名;

(2)   定义一个用户变量@phone,用于存储编号为102201的员工的电话号码,然

后查询该变量;

(3)   定义一个用户变量@name,@real_salary,其中@name赋值“王林”,并使

用该变量查询王林的实际收入赋值于@@real_salary;

(4)   获取当前MySQL的版本;

(5)   获取当前系统的日期时间和当前SQL用户;

(6)   使用show variables like ‘char%’查询当前系统的字符集设置,修改当前会话的 系统变量character_set_client字符集为gb2312,修改全局系统变量character_set_server为gb2312;重新启动一个会话,使用show variables like ‘char%’查询当前会话的字符集;

(7)   将系统变量character_set_server恢复默认值;

3、 运算符的使用

(1)   查询工作年限为2年和3年的女员工的编号、姓名;

(2)   查询收入在2000-3000,工作年限不大于3的员工编号、姓名、收入;

(3)   查询在日期‘2015-9-1’的基础上分别加上20天、20个月、20年的日期;

4、 系统函数的使用

(1)   求(50,1,23,56)中的最大值和最小值;

(2)   求比5.7小的最大整数、比7.8大的最小整数和8.8四舍五入的值;

(3)   求8的平方根和6的平方;

(4)   求字符串“ Chinese dream, my dream ”的前5个字符删除首部空格以及后6个字符并删除两端空格;

(5)   获取当前日期时间,并取出其年份。

附:函数目录

1、数学函数

(1) greatest(),least():求最大、最小值

(2) floor(),ceiling():取整数

(3) round():四舍五入  truncate():数字截取

(4) abs():取绝对值

(5) sign():返回数值的符号

(6) sqrt():返回一个数的平方根

2、字符串函数

(1) ascii(char):返回字符的ASCII值

(2) char(x1,x2,……):将ASCII值转换为字符并组成一个字符串

(3) left|right(str,X):返回字符串的左边或右边X个字符

(4) trim|Ltrim|Rtrim(str):删除字符串两端空格

(5) replace(str1,str2,str3):用str3替换str1中所有出现str2的地方

(6) substring(str,Start,length):返回字符串str中从Start开始长度为Length的字符串

3、日期和时间函数

(1) now():返回当前的日期时间

(2) curtime(),curdate():分别返回当前的时间和日期

(3) year(dstr):返回日期值dstr中年的部分

(4) month(),monthname():返回日期值中月份的数字或英文

(5) day(),dayname():返回日期值中的天的数字或者星期名

4、加密函数

(1) AES_encrypt|AES_decrypt(str,key):返回字符串str用密钥key进行高级加密AES算法加密或解密的结果

(2) encode|decode(str,key):返回对字符串str进行加密和解密的结果

(3) password(str):返回字符串str加密后的密码字符串,主要用于mysql认证系统。

5、控制流函数

(1) if(exp1,exp2,exp3):

该函数有3个参数,第1个为要被判断的表达式,当表达式为真返回第2个参数,当表达式为假时返回第3个参数。

(2)IFNULL和NULLIF函数

IFNULL函数的语法格式为:IFNULL(expr1,expr2)此函数的作用是:判断参数expr1是否为NULL

6、格式化函数

(1)FORMAT()函数

语法格式:

FORMAT(x, y)

FORMAT()函数把数值格式化为以逗号间隔的数字序列。FORMAT()的第一个参数x是被格式化的数据,第二个参数y是结果的小数位数。

(2)DATE_FORMAT()和TIME_FORMAT()函数

DATE_FORMAT()和TIME_FORMAT()函数可以用来格式化日期和时间值。

语法格式:

DATE_FORMAT/ TIME_FORMAT(date | time, fmt)

其中,date和time是需要格式化的日期和时间值,fmt是日期和时间值格式化的形式

(3) INET_NTOA()和INET_ATON()函数

MySQL中的INET_NTOA()和INET_ATON()函数可以分别把IP地址转换为数字或者进行相反的操作

7、类型转换函数

MySQL提供CAST()函数进行数据类型转换,它可以把一个值转换为指定的数据类型。

语法格式:

CAST(expr, AS type)

expr是CAST函数要转换的值,type是转换后的数据类型。

8、系统信息函数

(1)DATABASE()、USER()和VERSION()函数可以分别返回当前所选数据库、当前用户和MySQL版本信息:

select DATABASE(),USER(), VERSION();

(2)BENCHMARK() 函数用于重复执行n次表达式expr。它可以被用于计算MySQL处理表达式的速度,结果值通常为零。

(3)FOUND_ROWS()函数用于返回最后一个SELECT语句返回的记录行的数目

四、  实验报告要求

1、 实验报告格式要求

包括内容:标题、实验内容、实验步骤、实验中遇到的问题及解决方案

2、 实验报告内容要求

(1)     标题参看实验指导标题+“实验报告”,如“实验一 MySQL的安装与命令初步实验报告”;

(2)     实验内容与实验指导中相同;

(3)     实验步骤中将自己实验中的每个步骤的命令和操作结果显示界面进行截图完善。

(4)     实验中遇到的问题及解决方案中如实地将自己的问题的解决过程记录出来。

3、 实验报告提交要求

每次实验课结束之后,每个人需要提交实验报告,实验报告命名为:学号姓名

五、  补充说明

实验七 MySQL语言结构的更多相关文章

  1. 一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1 .mysql索引结构,各自的优劣 2 .索引的设计原则 3 .mysql锁的类型有哪些 4 .mysql执行计划怎么看 ...

  2. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验七:PS/2模块① — 键盘

    实验七:PS/2模块① — 键盘 实验七依然也是熟烂的PS/2键盘.相较<建模篇>的PS/2键盘实验,实验七实除了实现基本的驱动以外,我们还要深入解PS/2时序,还有PS/2键盘的行为.不 ...

  3. 读陈浩的《C语言结构体里的成员数组和指针》总结,零长度数组

    原文链接:C语言结构体里的成员数组和指针 复制例如以下: 单看这文章的标题,你可能会认为好像没什么意思.你先别下这个结论,相信这篇文章会对你理解C语言有帮助.这篇文章产生的背景是在微博上,看到@Lar ...

  4. JVM(七):JVM内存结构

    JVM(七):JVM内存结构 在前几节的文章我们多次讲到 Class 对象需要分配入 JVM 内存,并在 JVM 内存中执行 Java 代码,完成对象内存的分配.执行.回收等操作,因此,如今让我们来走 ...

  5. MySQL 树形结构 根据指定节点 获取其所在全路径节点序列

    背景说明 需求:MySQL树形结构, 根据指定的节点,获取其所在全路径节点序列. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合进行逻辑处理,获取全路径节点序列. 2.直接自定义My ...

  6. MySQL 树形结构 根据指定节点 获取其所有父节点序列

    背景说明 需求:MySQL树形结构, 根据指定的节点,获取其所有父节点序列. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合进行逻辑处理,获取父节点. 2.直接自定义MySQL函数  ...

  7. MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)

    背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有子节点(包含路径上的枝干节点和叶子节点) 枝干节点:如果一个节点下还有子节点,则为枝干节点. 叶子节点:如果一个节点下不再有子节点 ...

  8. MySQL 树形结构 根据指定节点 获取其所有叶子节点

    背景说明 需求:MySQL树形结构, 根据指定的节点,获取其下属的所有叶子节点. 叶子节点:如果一个节点下不再有子节点,则为叶子节点. 问题分析 1.可以使用类似Java这种面向对象的语言,对节点集合 ...

  9. MySQL索引结构原理分析

    我们在学习MySQL的时候经常会听到索引这个词,大概也知道这是什么,但是深究下去又说不出什么道道来.下面将会比较全面的介绍一下关于索引! 1 索引是什么? 这里用百度百科的一句话来说,在关系数据库中, ...

随机推荐

  1. Java避坑宝典《Java业务开发常见错误100例》上线了

    写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所 ...

  2. 第八章、小节三keep-alive

    主要缓存的是ajax中的json 我的路由中的内容被加载过一次,我就把路由中的内容放到内存中,下次再进入这个路由的时候,不需要重新加载页面,直接从内存中获取数据. 切换不同城市,调用不同城市数据 但是 ...

  3. 有关js的date的相关知识

    最近做项目,用了new Date().getTime()获取本地时间,但是如果用户篡改了手机时间,程序漏洞明显暴露.所以如果为保证程序的稳健安全性,应该是要使用网络时间的,也就是服务器时间.原理就是使 ...

  4. MATLAB神经网络(3) 遗传算法优化BP神经网络——非线性函数拟合

    3.1 案例背景 遗传算法(Genetic Algorithms)是一种模拟自然界遗传机制和生物进化论而形成的一种并行随机搜索最优化方法. 其基本要素包括:染色体编码方法.适应度函数.遗传操作和运行参 ...

  5. golang Printf 函数有超过 10 个转义字符

    verb 描述 %d 十进制整数 %x, %o, %b 十六进制.八进制.二进制整数 %f, %g, %e 浮点数:如 3.141593, 3.141592653589793, 3.141593e+0 ...

  6. JVM笔记-垃圾收集算法与垃圾收集器

    1. 一些概念 1.1 垃圾&垃圾收集 垃圾:在 JVM 语境下,"垃圾"指的是死亡的对象所占据的堆空间. 垃圾收集:所谓"垃圾收集",就是将已分配出去 ...

  7. 聊聊order by rand()

    总结写在前面: 1. 不建议直接使用order by rand(),原因是执行代价比较大 2. 介绍了内存临时表,对于内存临时表,由于回表不需要访问磁盘,所以往往是用rowid排序,可以减少参与排序字 ...

  8. Java抽象类和接口的区别及联系

    抽象类 注:先将抽象类中的两种方法解释完,再综合解释抽象类 抽象方法 应用场景:其下所有子类都应该有该方法但是大部分子类具体的执行步骤是有所不同的. 必须重写:也可以说"必须实现" ...

  9. Mysql 查询天、周,月,季度、年的数据

    Mysql 查询天.周,月,季度.年的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 ...

  10. Python - 面向对象(一)入门篇

    Python里面有一句话:万物皆是对象 如何面向对象编程 设计类 创建类实例对象 实例对象调用方法 创建对象 在内存中为对象分配空间 调用初始化方法  __init__  为对象初始化 对象创建后,内 ...