MySQL的一些语法总结
初学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的一些语法总结的更多相关文章
- MySQL创建索引语法
1.介绍: 所有mysql索引列类型都可以被索引,对来相关类使用索引可以提高select查询性能,根据mysql索引数,可以是最大索引与最小索引,每种存储引擎对每个表的至少支持16的索引.总索引长度为 ...
- MYSQL整理的语法
MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html
- sql点滴41—mysql常见sql语法
原文:sql点滴41-mysql常见sql语法 ALTER TABLE:添加,修改,删除表的列,约束等表的定义. 查看列:desc 表名; 修改表名:alter table t_book rename ...
- MySQL中show语法使用总结
MySQL中 show 语法的使用: 先查看MySQL版本信息: mysql> select version(); +------------+ | version() | +--------- ...
- (转)MySQL中show语法
MySQL中show语法 1. show tables或show tables from database_name; -- 显示当前数据库中所有表的名称. 2. show databases; -- ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- mysql MAX()函数 语法
mysql MAX()函数 语法 作用:返回一列中的最大值.NULL 值不包括在计算中.直线电机模组--BZD80N 语法:SELECT MAX(column_name) FROM table_nam ...
- mysql LAST()函数 语法
mysql LAST()函数 语法 作用:返回指定的字段中最后一个记录的值. 语法:SELECT LAST(column_name) FROM table_name 注释:可使用 ORDER BY 语 ...
随机推荐
- itext poi 学习之旅 (3)读取数据库信息并由excel展现出来
DBConnection.java 连接数据库操作 package com.zkbj.poi; import java.sql.Connection; import java.sql.DriverMa ...
- em与px的区别 [ 转 ]
其实,还是不大理解,为什么1em=16px:而且,还一般要在body里面,就写清楚Fone-size=62.5%,然后再让1em=10px进行使用:那么,为什么不直接在当时定义em的时候,就直接让它等 ...
- 容器 set
SET 是个有序表!他会根据INSERT的数值自动排序! SET里面不可能出现相同的元素!SET在insert的时候会排重的! SET本质上是一种树结构,在检索上比链表快,插入比数组方便,但是不允许重 ...
- 标准库biset
bitset<n> b; b 有 n 位,每位都 . bitset<n> b(u); b 是 unsigned long 型 u 的一个副本. bitset<n> ...
- ARM 之FIQ(快速中断) IRQ(中断)
IRQ,FIQ定义: 这就是个普通中断,当我们程序定义了该中断,并且在程序运行的时候产生了IRQ中断,则此时的芯片是这样运行的------中断处理器吧利用IRQ请求线来高速ARM,ARM就知道有个I ...
- vuex构建笔记本应用学习
vuex:针对vue应用派生的专门管理应用state的工具,state可以理解为我们组件需要操作的data数据,都知道,vue构建spa应用的时候,随着组件规模的提升,各个子组件之间的通信如果采用子组 ...
- 在 Windows 下部署 Go 语言环境
http://bbs.chinaunix.net/thread-4088281-1-1.html 1. 首先下载官方二进制安装包:32 位选择 windows-386.msi64 位选择 window ...
- wireshark抓一抓,看是不是另一个机器也企图DHCP
早上的问题,昨晚四点睡,今早九点半起... 到公司处理此问题,不知道相关性大不大..
- Linux的capability深入分析(1)
一)概述: 1)从2.1版开始,Linux内核有了能力(capability)的概念,即它打破了UNIX/LINUX操作系统中超级用户/普通用户的概念,由普通用户也可以做只有超级用户可以完成的 ...
- CH Round #53 -密室
描述 有N个密室,3种钥匙(红色,绿色,白色)和2种锁(红色,绿色),红色钥匙只能开红色的锁,绿色钥匙只能开绿色的锁,白色钥匙可以开红色的锁和绿 色的锁,一把钥匙使用一次之后会被扔掉.每个密室由一扇门 ...