时间函数
年月日 时分秒 所有的
mysql> select curdate(),curtime(),now();
+------------+-----------+---------------------+
| curdate() | curtime() | now() |
+------------+-----------+---------------------+
| 2020-10-16 | 15:24:33 | 2020-10-16 15:24:33 |
+------------+-----------+---------------------+
1 row in set (0.05 sec)
提出所需要的信息
查询现在几点
mysql> select hour(now());
+-------------+
| hour(now()) |
+-------------+
| 15 |
+-------------+
1 row in set (0.00 sec)
查询这周的第几天
mysql> select dayofweek(now());
+------------------+
| dayofweek(now()) |
+------------------+
| 6 |
+------------------+
1 row in set (0.00 sec)
存储过程
前端javascript传递参数request给后台servuet这里调用存储参数做安全防护,这边就是启用存储引擎了,加密过的数据传递给数据库保存。存储的过程就是数据库中的函数,这样增加了数据库的安全性。
存储过程的优点:
·存储过程执行一次后,生成的二进制代码就驻留在缓冲区,之后再次调用将直接调用二进制代码,效率性能大幅提升
·存储过程是sql语句加上控制语句集合,有很强的灵活性,可以完成复杂的运算
·存储过程存储在服务器端,客服端调用时,直接在服务器端执行,客服端只是传输调用语句,从而降低网络负载
·存储过程床架年后可以多次重复调用,他将多条sql封装到了一起,可随时针对sql进行修改
·存储过程可以完成所有数据库操作,也可以通过变成晚上控制数据库的信息访问权限
如果我要建立表记录考试成绩高于70算及格低于70不及格使用mysql存储过程编写
mysql> delimiter $$ ##开始
mysql> create procedure h(in name char(16),in score int(4)) ##设置变量
-> begin ##开始
-> declare g char(16); ##设置内部变量
-> if score >= 70 then ##if判断
-> set g='合格'; ##70以上g输出的时合格
-> else
-> set g='不合格'; ##70以下不合格
-> end if; ##结束if
-> insert into info values(name,score,g); ##输入info表中数据name,score,g
-> end $$ ##结束
Query OK, 0 rows affected (0.00 sec)
然后call
mysql> call h('li','69');
Query OK, 1 row affected (0.01 sec)
mysql> select * from info;
+------+-------+-----------+
| name | score | hege |
+------+-------+-----------+
| l | 80 | 合格 |
| li | 69 | 不合格 |
+------+-------+-----------+