mysql时间函数

mysql存储过程详解以及PHP调用MYSQL存储过程实例

試著忘記壹切 提交于 2019-11-27 06:22:14
MySQL 存储过程详解 1. 存储过程简介 我们常用的操作 数据库 语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1).存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).存储过程能实现较快的执行速度。如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划

Mysql和Oracle的区别

假如想象 提交于 2019-11-27 02:10:55
一.摘抄于 https://www.cnblogs.com/xu-cceed3w/p/8824199.html   注: 原文在 事务隔离级别的说明上有些问题,Mysql事务的默认隔离级别为可重复读(repeatable read)【可以解决丢失修改,读脏数据,不可重复读这三个并发一致性问题,但不能解决幻影读问题】,Oracle的为读已提交(read commited)【 可以解决丢失修改,读脏数据并发一致性问题,但不能解决 不可重复读 ,幻影读问题 】。   (1) 对事务的提交   MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交,需要在写commit;指令或者点击commit按钮   (2) 分页查询   MySQL是直接在SQL语句中写"select... from ...where...limit x, y",有limit就可以实现分页;而Oracle则是需要用到伪列ROWNUM和嵌套查询   (3) 事务隔离级别   MySQL是repeatable read(可重复读)的隔离级别,而Oracle是 read commited (读已提交)的隔离级别,同时二者都支持serializable串行化事务隔离级别,可以实现最高级别的    读一致性。每个session提交后其他session才能看到提交的更改

往数据库插入上万条数据避免服务器崩溃

你离开我真会死。 提交于 2019-11-27 01:06:08
<?php //mysql执行时间 ini_set('max_execution_time', '0'); ignore_user_abort(TRUE); //如果客户端断开连接,不会引起脚本abort //链接数据库:链接的服务器,拥有服务器进程的用户的名称,密码 $con=@mysql_connect("localhost","root","root"); // 判断数据库是否连接 if(!$con){ die('Could not connect:'.mysql_error()); } //mysql_select_db() 函数设置活动的 MySQL 数据库 mysql_select_db("5kcrm", $con); //取消数据库的自动提交 mysql_query('SET AUTOCOMMIT=0;'); //在数据库设置了UTF8编码 mysql_query('set names utf8'); //获取当前时间 $begin = time(); function insertNew(){ for($i=1;$i<=10000;$i++){ //向数据表中插入数据 mysql_query("insert into `test`(`name`, `birth`, `create_time`, `status`) values ('lucky','20170724'

mysql计算时间差

蹲街弑〆低调 提交于 2019-11-26 23:44:15
背景:朋友问,知道一个入职时间,想知道到 今天为止入职多少天了 解决思路: 因为需求单位是天,所以可以用datadiff select TIMESTAMPDIFF(DAY, hiredate, NOW()) from emp; select DATEDIFF(NOW(),hiredate ) from emp; 运行结果: datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。时间小的在后面,时间大的在前面 TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。 补充知识: https://www.jianshu.com/p/2de621118f17 https://blog.csdn.net/ljwy1234/article/details/79931434 来源: https://www.cnblogs.com/dieyaxianju/p/11335515.html

MySQL日期时间函数大全

我们两清 提交于 2019-11-26 22:16:56
MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03');   -> 3 WEEKDAY(date)  返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04 22:23:00');   -> 5 mysql> select WEEKDAY('1997-11-05');   -> 2 DAYOFMONTH(date)  返回date是一月中的第几日(在1到31范围内) mysql> select DAYOFMONTH('1998-02-03');   -> 3 DAYOFYEAR(date)  返回date是一年中的第几日(在1到366范围内) mysql> select DAYOFYEAR('1998-02-03');   -> 34 MONTH(date)  返回date中的月份数值 mysql> select MONTH('1998-02-03');   -> 2 DAYNAME(date)  返回date是星期几(按英文名返回) mysql> select DAYNAME("1998-02-05");   -> 'Thursday'

MySQL日期时间函数大全

拥有回忆 提交于 2019-11-26 22:16:36
MySQL 日期时间函数大全 DAYOFWEEK(date)  返回日期 date 是星期几 (1= 星期天 ,2= 星期一 , …… 7= 星期六 ,ODBC 标准 ) mysql> select DAYOFWEEK('1998-02-03');    -> 3 WEEKDAY(date)  返回日期 date 是星期几 (0= 星期一 ,1= 星期二 , …… 6= 星期天 ) 。 mysql> select WEEKDAY('1997-10-04 22:23:00');    -> 5 mysql> select WEEKDAY('1997-11-05');    -> 2 DAYOFMONTH(date)  返回 date 是一月中的第几日 ( 在 1 到 31 范围内 ) mysql> select DAYOFMONTH('1998-02-03');    -> 3 DAYOFYEAR(date)  返回 date 是一年中的第几日 ( 在 1 到 366 范围内 ) mysql> select DAYOFYEAR('1998-02-03');    -> 34 MONTH(date)  返回 date 中的月份数值 mysql> select MONTH('1998-02-03');    -> 2 DAYNAME(date)  返回 date 是星期几 (

MySQL函数大全 及用法示例

泪湿孤枕 提交于 2019-11-26 22:16:19
字符串函数 ASCII(str)  返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2');   -> 50 mysql> select ASCII(2);   -> 50 mysql> select ASCII('dete');   -> 100 ORD(str)  如果字符串str句首是单字节返回与ASCII()函数返回的相同值。  如果是一个多字节字符,以格式返回((first byte ASCII code) *256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2');   -> 50 CONV(N,from_base,to_base)  对数字N进制转换,并转换为字串返回(任何参数为NULL时返回 NULL,进制范围为2-36进制,当to_base是负数时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

MySQL日期时间函数大全

♀尐吖头ヾ 提交于 2019-11-26 22:16:14
DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03');   -> 3 WEEKDAY(date)  返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04 22:23:00');   -> 5 mysql> select WEEKDAY('1997-11-05');   -> 2 DAYOFMONTH(date)  返回date是一月中的第几日(在1到31范围内) mysql> select DAYOFMONTH('1998-02-03');   -> 3 DAYOFYEAR(date)  返回date是一年中的第几日(在1到366范围内) mysql> select DAYOFYEAR('1998-02-03');   -> 34 MONTH(date)  返回date中的月份数值 mysql> select MONTH('1998-02-03');   -> 2 DAYNAME(date)  返回date是星期几(按英文名返回) mysql> select DAYNAME("1998-02-05");   -> 'Thursday' MONTHNAME

MySQL日期时间函数大全

烈酒焚心 提交于 2019-11-26 22:15:59
DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03');   -> 3 WEEKDAY(date)  返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04 22:23:00');   -> 5 mysql> select WEEKDAY('1997-11-05');   -> 2 DAYOFMONTH(date)  返回date是一月中的第几日(在1到31范围内) mysql> select DAYOFMONTH('1998-02-03');   -> 3 DAYOFYEAR(date)  返回date是一年中的第几日(在1到366范围内) mysql> select DAYOFYEAR('1998-02-03');   -> 34 MONTH(date)  返回date中的月份数值 mysql> select MONTH('1998-02-03');   -> 2 DAYNAME(date)  返回date是星期几(按英文名返回) mysql> select DAYNAME("1998-02-05");   -> 'Thursday' MONTHNAME

MySQL日期时间函数大全 转

别说谁变了你拦得住时间么 提交于 2019-11-26 22:15:41
MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准) mysql> select DAYOFWEEK('1998-02-03');   -> 3 WEEKDAY(date)  返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。 mysql> select WEEKDAY('1997-10-04 22:23:00');   -> 5 mysql> select WEEKDAY('1997-11-05');   -> 2 DAYOFMONTH(date)  返回date是一月中的第几日(在1到31范围内) mysql> select DAYOFMONTH('1998-02-03');   -> 3 DAYOFYEAR(date)  返回date是一年中的第几日(在1到366范围内) mysql> select DAYOFYEAR('1998-02-03');   -> 34 MONTH(date)  返回date中的月份数值 mysql> select MONTH('1998-02-03');   -> 2 DAYNAME(date)  返回date是星期几(按英文名返回) mysql> select DAYNAME("1998-02-05");   -> 'Thursday'