Mysql 数据库学习笔记02 编程

一、常量

      * 字符串常量

  * 数值常量

  * 十六进制常量

  * 日期时间常量

  * 位字段常量

  * 布尔值

  * NULL值

二、变量

  * 用户变量:用户自定义变量;

  * 系统变量:系统内部定义的变量;

  1.用户变量:

    必须用@开头,多个直接用逗号隔开。根据右边的值确定变量的类型 。   如:set @name="杨",@type=1

    如下:

    mysql> set @name="111"; select * from user where name=@name;
    Query OK, 0 rows affected

    +----+------+----------+------------------+-----------+-----+------------+--------+
    | id | name | password | email | username | sex | profession | remark |
    +----+------+----------+------------------+-----------+-----+------------+--------+
    | 1 | 111 | 123456 | 308248859@qq.com | liuzhijun | 1 | NULL | NULL |
    +----+------+----------+------------------+-----------+-----+------------+--------+

  2.系统变量

     大多数的系统变量应用于其它的SQL时,必须前面加 2个@。

    某些特殊的可以省略这2个@,如:

      * current_date:系统日期;

      * current_time: 系统时间;

      * current_timestamp: 系统日期和时间

      * current_user: SQL用户的名字

    例如:

        

                 

三、运算符:

   1.算术运算:

    

  2.比较运算:

    * =: 1=0 :如果相等返回1(true),如相等返回0(false);null比较都为null

    * <>或 != 不等于

     * <=>:和= 类型,区别是: null=null 返回 1(true).

 四、控制语句:

    1. if(条件,满足条件的结果1,不满足的结果2):  如  name=admin的那条记录如下:

         

       * 存储过程或者函数中使用 if,格式为    if 查询条件 then 查询SQL  elseif 查询条件 then 查询SQL else 查询SQL end if;

    2.case语句:可以提供多种结果多选一的情况:

      case 字段名称

        when 1 then 结果1

        when 2 then 结果2

        else 默认结果

      end as 字段别名

      例如:

      

      * 函数和存储过程下的case语句:  

         case 

          when 1 then 1SQL

          when 2 then 2SQL

          else 默认SQL

        end case

 五、常见的日期和时间函数:

  1.获取当前时间   curdate()、curtime()、now()

  2.获取星期几的函数: dayname(d) / dayofweek(d) / weekday(d) 

    

  3.获取月份的函数:month(d)返回d日期的月份,1-12直接。  monthname(d)返回 英文的月份名称

    

  4.获取时间的函数 :  curtime()、current_time()获取当前系统时间。  hour(t)获取t的小时    minute(t)获取t的分钟    second(t)t的秒钟

    

  

  5. datediff(d1,d2)函数:返回 d1-d2之间的天数(d1到d2隔了多少天?)

    

  6. adddate(d,n)函数: 返回 d+n天 后的日期。(n可以为负,表示前几天)

  7. subdate(d,n)函数:返回 d-n天 后的日期。

  8. addtime(t,n)函数:返回 t+n秒 后的时间。

  9. subtime(t,n)函数: 返回 t-n秒 后的时间。

  10.格式化时间函数:

    * date_format(d,f) : d表示日期,f为格式,如:

      

    * time_format(d,f); d表示时间   f:格式

      

    

    

原文地址:https://www.cnblogs.com/GotoJava/p/6733436.html