首页 > 数据库 >mysql练习 —— 关于一些函数的使用

mysql练习 —— 关于一些函数的使用

时间:2024-05-07 18:55:07浏览次数:25  
标签:语句 存储 函数 创建 练习 mysql 解析 过程

  学校作业,拿来记录一下。(老师出的习题貌似是从一本书上拿到的)

  Q1:

    使用RAND()函数来获得3个随机值。

  A1:

   解析:rand()函数,获得随机值,产生0-1的随机值。(random ,随机)

 

  Q2:

    求3和4的平方根。

  A2:

   解析:sqrt()用于求解平方根。

 

  Q3:

    求7.2和-7.2的绝对值。

  A3: 

   解析:直接使用abs()就行了(哦对了,解析一下,mysql的值是一个表,一个列也是一个表,所以可以直接用select function())

 

  Q4:

    求小于或等于-3.5或6.8的最大整数,大于或等于-3.5或6.8的最小整数。

  A4:

   解析:小于或者等于某个数使用floor() (floor 下限),大于或者等于某个数使用ceiling()(ceiling 天花板)

 

  Q5:

    求8.546小数点后2位的值和四舍五入的整数值。

  A5:

     解析:我觉得不用解析了。

  Q6:

    求X的ASCII码值。

  A6:  

    Q7:    

    将ASCII码值88、89、90组合成字符串。

    A7:   

   

  Q8: 

    求joyful左侧和右侧开始的3个字符。

  A8:

   

  Q9:

    查询字符串”计算机网络”的长度。

  A9:   

 

  Q10:   

    将”数据库原理与应用”中的”原理与应用”替换为”技术”。

  A10:    

   

  Q11:  

    返回字符串joyful的从第4个字符开始的3个字符。

  A11: 

 

  Q12:   

    获取当前日期。

  A12:  

 

  Q13:   

     获取当前时间。

  A13:  

 

  Q14:     

   获取当前日期和时间。

  A14:

   Q15:

    查询成绩表score,如果分数列的值大于或等于80分,则输出”良好”,否则输出”一般, 不及格或空值”。

  A15:

   Q16: 

    使用IFNULL()函数做条件判断。

  A16:   

   解析:IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。(ifnull,将这里的if看成mysql中的if语句就可以了)

 

  Q17: 

    获取当前数据库的版本号。

  A17:   

   Q18:   

    修改MySQL的结束符为“//”。

   A18: 

     解析:delimiter,翻译过来是定界符。

 

  Q19:   

    创建一个不带参数的存储过程P_str,输出“Hello MySQL!”。

  A19:

   解析:存储过程需要修改定界符,存储过程在之前的刷题中说过了。

  Q20:   

    创建一个带参数的存储过程P_maxGrade,查询指定学号学生的最高分。

  A20:   

     解析:看实践就懂了,很像类。

 

  Q21:

    创建存储过程P_math,如果”高等数学”课程的平均成绩大于80分,则显示”高等数学成绩良好”,否则显示”高等数学成绩一般”。

  A21:  

   

  Q22:   

    创建存储过程P_title,将教师职称转变为职称类型。

 

   A22:

     解析:建议手打一遍。declare声明存储过程内部变量。into 关键词是用在select语句的赋值关键词。在存储过程中,case语句是如上图写的那样子。out 参数表示一定会输出。

    

    Q23:   

    创建存储过程P_integerSum,计算1~100的整数和。:

    A23: 

     解析:逻辑都很简单。需要注意的是while 在存储过程中的写法。(有点像dowhile欸)

 

  Q24:  

    创建存储过程P_oddSum,计算1~100的奇数和。

  A24:  

 

    解析: 

        然后就是,:= 和=都可以表示赋值,在set语句里面。然后在其他语句里面,=是表示比较的意思(目前来看是这样的)       

1、while是满足条件才执行循环,repeat是满足条件退出循环;

2、while在首次循环执行之前就判断条件,最少执行0次,repeat是在首次执行循环之后才判断条件,循环至少执行一次。

 

  Q25:  

    创建存储过程P_factorial,计算10的阶乘。

  A25:    

   解析:• 标签label可以加在begin…end语句以及loop, repeat和while语句
       • 语句中通过iterate和leave来控制流程,iterate表示返回指定标签位置,leave表示跳出标签

     可以理解成一个想要变成谁就变成谁的变形怪。至于为什么要有标签这个东西我还没有搜到。

 

   Q26:    

    创建一个存储过程,计算student表中行的数目。

   A26:  

     解析:

      1、解释:

        在mysql的存储过程中经常会看到这句话:DECLARE CONTINUE HANDLER FOR NOT FOUND。

        它的含义是:若没有数据返回,程序继续,并将变量IS_FOUND设为0 ,这种情况是出现在select XX into XXX from tablename的时候发生的。

      2、每个游标必须使用不同的declare continue handler for not found set done=1来控制游标的结束。(参考自DECLARE CONTINUE HANDLER FOR NOT FOUND - 雨的印记o - 博客园 (cnblogs.com)

      大致意思其实是有一个declare ……handler ,如果没有数据返回的话,那么就将found设置成false。参考自MYSQL-DECLARE CONTINUE HANDLER FOR NOT FOUND SET FOUND=FALSE_declare continue handler for not found set-CSDN博客

       后面的语句也很简单,就是一个游标在读数据。

  

 

    Q27:  

     创建向学生表插入一条记录的过程P_insertStudent,并调用该过程。

    A27:

 

    Q28:  

    创建修改学生专业和总学分的过程P_updateSpecGrade,并调用该过程。

    A28:   

 

    Q29:   

    创建删除学生记录的过程P_deleteStudent,并调用该过程。

    A29: 

 

    Q30:  

    删除存储过程P_insertStudent。

    A30:  

     Q31:  

     创建一个存储函数F_courseName,由课程号查课程名。

     调用存储函数F_courseName。

    删除存储函数F_courseName。

    A31:

     解析:deterministic , 确定性。

 

    

标签:语句,存储,函数,创建,练习,mysql,解析,过程
From: https://www.cnblogs.com/clina/p/18175521

相关文章

  • 明天开始一定要练习
    ......
  • FREERTOS:vTaskList函数
    函数原型:voidvTaskList(char*pcWriteBuffer);参数:pcWriteBuffer  一个缓冲区,上面提到的细节将以ASCII形式写入其中。假设此缓冲区的大小足以容纳产生的报告。大约为每个任务分配40字节的缓冲区就足够了。打印信息:任务任务状态优先级剩余......
  • MySQL如何定位慢查询
    做压力测试的时候有的接口非常的慢,接口的响应时间超过了2秒以上。系统部署了运维的监控系统Skywalking,在展示的报表中可以看到是哪一个接口比较慢,并且可以分析这个接口哪部分比较慢,这里可以看到SQL的具体的执行时间,所以可以定位是哪个SQL语句出了问题。另外MySQL中也提供了慢日......
  • MySQL同步故障:“ Slave_SQL_Running:No“ 两种解决办法
    进入slave服务器,运行: ​mysql>showslave status\G            .......              Relay_Log_File:localhost-relay-bin.000535               Relay_Log_Pos:21795072       Relay_Ma......
  • oracle表导出mysql适用的脚本方法
    oracle表导出mysql适用的脚本方法1.在对应的oracle数据库plsql中执行下面代码,建F_LIMS_GET_SQL_FOR_MYSQL函数CREATEORREPLACEFUNCTIONF_LIMS_GET_SQL_FOR_MYSQL(PI_TABLENAMEINVARCHAR2,PI_ISDROPININTEGER:=1......
  • Mysql-事务的基本特性和隔离级别
    0.背景在数据库中,事务是一组数据库操作,可以将事务操作视为一个基本的工作单元。1.事务的基本特性事务的基本特性“ACID”对于事务呢,就是这一组sql操作,要确保ACID这4个基本特性。哎,八股文不好背,我记忆方式是:一元吃个(原持隔)原子性(Atomicity):事务中的所有操作要么全部执行成功,......
  • MySQL-基础语法教程
    基础解析:select要几列where要几行,用来对行进行过滤,加where,查出来的行变少*代表所有的列    增删改查 UPDATESET更新UPDATEscoresSETscore=300WHERENAME="王大"ANDkemu="语文"     delete语法DELETEFROMscoresWHEREID=11 #删除......
  • 编程:自己写的强密码生成函数:留存
     1privatestaticStringget_StrongPassword(intlen){2if(len<6)3len=6;45Stringdigit="0123456789";6Stringalpha_lower="abcdefghijklmnopqrstuvwxyz";7Strin......
  • mysql索引使用基础
    1.创建&删除MySQL可以通过CREATE、ALTER、DDL三种方式创建一个索引。在MySQL中,使用CREATEINDEX语句可以创建索引。具体语法如下:CREATEINDEXindexNameONtableName(columnName(length)[ASC|DESC]);其中,indexName是索引的名称,tableName是要在其上创建索引的表名,column......
  • Linux非root用户安装mysql(5.7)
    1、下载安装包···········2、安装MySQL解压:tarxzvfmysql-5.7.31-linux-glibc2.12-x86_64.tar.gzmvmysql-5.7.31-linux-glibc2.12-x86_64mysql配置my.cnf文件:cat>>my.cnf<<EOF[mysqld]basedir=/app/mysqldatadir=/app/mysql/dataport=3333s......