zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ADB 多设备中指定设备的启动
    vuex 绑定表单,多个输入框的解决办法
    vue 自动触发点击事件
    js 打印dom的所有属性
    邮件分享
    table表格 td设置固定宽度
    Echarts--Y坐标标题显示不全
    ExtJS5.0 菜鸟的第一天
    字体设置
    短信验证码+倒计时
  • 原文地址:https://www.cnblogs.com/zhizihuakai/p/3723542.html
Copyright © 2011-2022 走看看