本文是关于MySQL编程中的一些基础知识,包括变量和运算符、常用语句、函数。

一、变量与运算符
1.用户会话变量声明:SET @变量名 = 表达式;//即:用户会话变量无需提前定义,直接用赋值语句赋值,就算是定义了(也可用SELECT赋值语句赋值)【无需指定类型,生命周期:关闭服务器链接前】
2.局部变量声明:DECLARE 变量名 数据类型;【必须指定类型,生命周期:定义局部变量的小范围(类似于Java的{}内)】
3.运算符
(1)算术运算符:与Java相同
(2)比较运算符:大部分与Java相同。不同的地方:=(等于),<>(不等于【!=也是不等于】),<=>(相等或都为NULL),IS NULL(为空),BETWEEN … AND …(在区间内),IN(…)(在集合内),LIKE(模式匹配)
(3)逻辑运算符:与(AND,&&),或(OR,||),非(NOT,!),异或(XOR)
(4)位运算符:与Java相同

二、语句
1.赋值语句:
(1)SET:

SET 变量 = 表达式;

(2)SELECT:

SELECT 表达式 INTO 变量; //不产生结果集
SELECT 变量 := 表达式; //产生结果集

(3)可以同时给多个变量赋值,用逗号隔开。如:SET 变量1 = 表达式1, 变量2 = 表达式2, ……;

2.重置命令结束标记:DELIMITER。由于MySQL客户机的默认结束标记和语句的结束标记相同,都是分号,所以在写语句块的时候,为避免语句块被;拆开,应该在语句块前重设客户机结束标记,然后在语句块结束后改回原样:
DELIMITER $$:将客户机结束标记设为$$

3.BEGIN-END语句块:将功能封装到存储过程、函数、触发器、事件等存储程序内部。

DELIMITER $$    //将客户机结束标记改为$$
BEGIN
要执行的功能代码;
END;
$$
DELIMITER ; //将客户机结束标记改回;

4.条件控制语句
(1)IF语句

IF 条件 THEN 语句块;
ELSE IF 条件 THEN 语句块;
……
ELSE 语句块;
END IF;

(2)CASE语句

CASE 表达式
WHEN 值1 THEN 语句块;
WHEN 值2 THEN 语句块;
……
ELSE 语句块;
END CASE;

5.循环语句
(1)WHILE-DO语句

WHILE 条件表达式 DO  //继续循环的条件
循环体;
END WHILE;

(2)REPETE-UNTIL语句

REPEAT
循环体;
UNTIL 条件表达式 //跳出循环的条件
END REPEAT;

(3)LOOP语句

循环标签:LOOP
循环体;
IF 条件表达式 THEN LEAVE 循环标签; //跳出循环的条件
END IF;
END LOOP;

(4)LEAVE和ITERATE
类似于Java中的break和continue:LEAVE 循环标签;ITERATE 循环标签;
循环标签:给循环起的名字。在循环开始前加上,格式是:循环标签:
在循环结束语句后可以标记循环标签,比如:END WHILE 循环标签;

三、函数
1.自定义函数

DELIMITER $$
CREATE FUNCTION 函数名(参数1,参数2,…) RETURNS 返回值类型
[函数选项]
BEGIN
函数体;
RETURN 返回值;
END;
$$
DELIMITER ;

函数选项:需要时再详细了解。用的比较多的是NO SQL:函数体中不包含SQL语句

2.系统函数
(1)数学函数
(2)字符串函数
(3)日期和时间函数
①获取当前日期:CURDATE()CURRENT_DATE()(YYYY-MM-DD)【可设置时区】
②获取当前时间:CURTIME()CURRENT_TIME()(hh:mm:ss)【可设置时区】
③获取当前日期时间:NOW()CURRENT_TIMESTAMP()LOCALTIME()SYSDATE()(YYYY-MM-DD hh:mm:ss)【可设置时区】
④时间戳转为日期时间:FROM_TIMESTAMP(TIMESTAMP)(将指定时间戳的时间转为YYYY-MM-DD hh:mm:ss)【可设置时区】
⑤获取当前UTC日期/时间:UTC_DATE()UTC_TIME()(分别是YYYY-MM-DD和hh:mm:ss)【不可设置时区】
⑥获取当前时间戳:UNIX_TIMESTAMP()UNIX_TIMESTAMP(DATETIME)(从1970-01-01 00:00:00至当前时间/指定时间的秒数)【不可设置时区】
⑦获取时间的字段值(获取年月日等)

MySQL编程基础的更多相关文章

  1. Mysql学习笔记(七)mysql编程基础之自定义函数。

    delimiter $$ create function fn_liangzifunction() returns int no sql begin ; return @row_no; end; $$ ...

  2. Vc数据库编程基础MySql数据库的表查询功能

    Vc数据库编程基础MySql数据库的表查询功能 一丶简介 不管是任何数据库.都会有查询功能.而且是很重要的功能.上一讲知识简单的讲解了表的查询所有. 那么这次我们需要掌握的则是. 1.使用select ...

  3. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  4. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  5. [.net 面向对象编程基础] (20) LINQ使用

    [.net 面向对象编程基础] (20)  LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integr ...

  6. Vc数据库编程基础1

    Vc数据库编程基础1 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  7. 【转】Shell编程基础篇-下

    [转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...

  8. SHELL脚本编程基础知识

    SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...

  9. shell脚本编程基础介绍

    Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...

随机推荐

  1. Spring Boot开启https

    原文:https://github.com/x113773/testall/issues/1 1. 第一步就是用JDK的keytool工具来创建一个密钥存储(keystore)`keytool -ke ...

  2. XMLHttpRequest函数封装

    XMLHttpRequest函数封装: function ajax(Url,sccuessFn,failureFn) { //1.创建XMLHttpRequest对象 var xhr = null; ...

  3. android app调试没问题,但打包签名的apk,运行时出现闪退怎么办?

    在用Eclipse编写Android app时,有时调试时没有问题,但一经打包签名,运行就出现闪退,还报错说找不到某某类.一开始以为是混淆导致的,后来我没有混淆竟然也还是这个问题.无奈只得网上寻找解决 ...

  4. OSX MacVim + vim-lldb配置和使用心得

    Mac里面默认的编译器是clang/clang++ 所以debugger就选择了lldb 想搭配MacVim一起使用,于是就找到了vim-lldb这个插件,相当强大   这个插件支持Vundle,所以 ...

  5. 第三章(jQuery中的DOM操作)

    3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...

  6. 详解Mysql自动备份与恢复

    通过 mysqldump命令,直接生成一个完整的 .sql 文件 Step 1: 创建一个批处理备份SQL c: cd C:Program Filesmysql5.6.24bin mysqldump ...

  7. 我的学习之路_第二十八章_JQuery 和validator插件

    jQuery 利用jQuery进行遍历 js原生: for(var i=0;i>?;i++){ } jQuery: 方式一: 想要遍历的jQuery对象.each(function(index, ...

  8. 免费MD5解密网站,轻松破解md5密码,mysql5/mysql323,ntlm,salt密码

    md5解密网站:http://cmd5.la 网站语言:php 免费指数:★★★        (8位内小写数字字母免费,11位内数字免费) 解密范围:★★★★☆ (覆盖了1-12位很多常用密码和特殊 ...

  9. 优化js脚本设计,防止浏览器假死

    在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化. 为什么会出现这种情况呢,我们 ...

  10. SPFA 算法详解

    适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了. 我们约定有向加权图G不存在负权回路,即最短路径 ...