初学MySQL,今天遇到了一个问题,然后汇总了一下MySQL的一些语法

1. date和datetime类型是不同的

date只记录日期(包括年月日),datetime记录日期和时间(包括年月日时分秒)

注:这一点和sql server 不同

2. NOW()函数和SYSDATE()函数也是不同的

NOW()函数 记录操作开始时间(在操作的任意阶段都是一样,无论操作中间停留了多长时间),SYSDATE()函数 记录实时时间(在操作的任意阶段都不一样)

3. 删除数据的语法

DELETE FROM table_name WHERE .....

4. int后面的长度表示什么

不知道有没有像我一样,每次设置长度时都很纠结的,相信看完这篇文章你不会再纠结 http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html

5. 事物的使用语法

START TRANSACTION;
......
COMMIT;

6. GROUP BY

SQL写法

SELECT COUNT(*), NAME, AGE
FROM tablename a
GROUP BY NAME,AGE
ORDER BY id DESC

MySQL写法

SELECT COUNT(*), NAME, AGE
FROM tablename a
GROUP BY AGE
ORDER BY id DESC

这里可以看出一点区别,SELECT语句里面的除了函数,在SQL中需要全部列出来(即NAME,AGE字段),而MySQL中则不需要全部列出来

7. if else 使用方法

IF search_condition THEN statement_list
[ELSEIF search_condition THEN statement_list] ...
[ELSE statement_list]

示例:

-- p_oper 1#添加,2#修改,3#删除
IF (p_oper = 1) THEN
-- 添加收货地址
INSERT INTO tbname
(address, contacter, phone, cid, state)
VALUES
(p_address, p_contacter, p_phone, p_cid, p_state);
ELSEIF (p_oper = 2) THEN
-- 修改收货地址
UPDATE
tbname
SET
address = p_address,
contacter = p_contacter,
phone = p_phone,
state = p_state,
updatetime = CURRENT_TIMESTAMP,
deleted = p_deleted
WHERE
mcaid = p_mcaid;
ELSEIF (p_oper = 3) THEN
-- 删除收货地址
UPDATE
tbname
SET
deleted = p_deleted
WHERE
mcaid = p_mcaid;
END IF;

8. 变量使用

DECLARE startrow INT DEFAULT 0;		-- 从第几行开始查询
DECLARE pagecount INT DEFAULT 10; -- 一页多少条
IF(p_pagenum > 0) THEN -- 计算起始条数
SET startrow = p_pagenum * pagecount;
END IF;
IF (p_cid > 0) THEN
SELECT
*
FROM
tablename
WHERE
......
ORDER BY
createtime DESC
LIMIT
startrow, pagecount;
END IF;

MySQL参考手册:http://dev.mysql.com/doc/refman/5.1/zh/stored-procedures.html

MySQL错误大全:http://www.cnblogs.com/xugang/articles/882943.html

MySQL的一些语法总结的更多相关文章

  1. MySQL创建索引语法

    1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...

  2. MYSQL整理的语法

    MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html

  3. sql点滴41—mysql常见sql语法

    原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...

  4. MySQL中show语法使用总结

    MySQL中 show 语法的使用: 先查看MySQL版本信息: mysql> select version(); +------------+ | version() | +--------- ...

  5. (转)MySQL中show语法

    MySQL中show语法 1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- ...

  6. mysql基础知识语法汇总整理(二)

    mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...

  7. mysql基础知识语法汇总整理(一)

    mysql基础知识语法汇总整理(二)   连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...

  8. mysql MAX()函数 语法

    mysql MAX()函数 语法 作用:返回一列中的最大值.NULL 值不包括在计算中.直线电机模组--BZD80N 语法:SELECT MAX(column_name) FROM table_nam ...

  9. mysql LAST()函数 语法

    mysql LAST()函数 语法 作用:返回指定的字段中最后一个记录的值. 语法:SELECT LAST(column_name) FROM table_name 注释:可使用 ORDER BY 语 ...

随机推荐

  1. 关于使用Jsonp做跨域请求

    今天在使用Jsonp做跨域请求的练习时碰上这样一个问题 代码如下 <!DOCTYPE html> <html> <head> <meta charset=&q ...

  2. SQL Server 2005无日志文件附加数据库

    公司网站运营两年多了,日志文件超级大,在重装系统的时候,为了省事,就没有备份日志文件,而且是没有分离就把日志文件给删掉了(下次一定要记得先分离再删日志文件).结果造成数据库怎么都附加不上.出现错误. ...

  3. 使用OpenXml实现生成数据字典文档(beta)

    最近项目在走验收流程,之前没有仔细看SOW文档,发现需要补好多份文档,其中就有数据字典,项目组不愿意花时间太多的时间弄这些文档,也不希望以后还要重复劳动力,最终决定做一个工具,方便自己生成数据字典文档 ...

  4. 数据库元数据分析Demo

    核心类:DatabaseMetaData.ResultSetMetaData 1 System.err.println("********************************** ...

  5. C#使用log4net

    C#很多异步机制使程序无法使用断点调试,这时候我们就需要使用日志输出.使用log4net一定要先引用net4log这个dll,不然无法使用. 作者很懒,直接上代码吧. using System; us ...

  6. jQuery select 操作全集

    添加option $('#id').append("<option value="value">Text</option>");//为s ...

  7. js学习笔记——数组方法

    join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...

  8. HTML&CSS基础学习笔记1.19-DIV标签1

    div标签 这里我们要认识一下HTML里使用非常多的的一个标签:<div>. <div>标签定义文档中的分区或节(division/section),他可以把文档分割为独立的. ...

  9. github进行修改

    1)git status:可以让我们时刻掌握仓库当前的状态. 2)git diff [文件名]:查看改变的详细信息,显示的结果是Unix通用的diff格式. 步骤: 1.修改文件 2.通过git ad ...

  10. 自制单片机之四……LCD1602的驱动

    LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶.字 ...