分号不能少;分号不能少;分号不能少;重要的事情说3遍

Insert或者Update的数据包含反斜杠\的时候需要进行转义\\,例:insert into tablename(id,name) values(1,'刘\\一哥'); -- 保存到数据库后就是 1 刘\一哥

一、变量申明(非常重要)

1.带@的变量不需要申明直接使用

select columnname into @V_ColumnName from tablename Limit 0,1;

select @V_ColumnName;

2.变量申明必须放在最前面,包括申明游标(如果游标是基于临时表的循环也是一样的,先申明游标,在后面创建循环的临时表);

3.存储过程中的变量申明不能使用@

例:Declare V_ID1,V_ID2 INT Default 0;

4.变量的命名千万不要和字段名称一致,否则MySQL数据库会把字段当成是变量;比如可以在前面加上V_,例:V_ColumnName

二、MySQL不支持匿名块

例如:

DECLARE V_ColumnName varchar(50);
select columnname into V_ColumnName from tablename LIMIT 0,1;

select V_ColumnName; -- 会报错,是不是很奇怪?明明没有语法错误吧,新手会这些问题搞得郁闷到死

这种语句在MySQL中是不能执行的,如果要执行就必须放到存储过程或函数中;

三、存储过程的调用

call procedure_name(参数1,参数2……);

如果有OUT参数,例如:Create Procedure SP_TEST(IN Param1 int, OUT Param2 int)

call SP_TEST(1,@Param2);

select @Param2;

四、临时表

不需要#号,#在MySQL是单行注释符,在存储过程中使用临时表必须先判断是否存在,否则同一进程中第二次执行存储过程就会提示表已经存在了

例:DROP TEMPORARY TABLE IF EXISTS tmptable;

Create TEMPORARY TABLE tmptable(……);

五、IF语句

IF ... THEN ... ELSEIF ... THEN ... ELSE ... END IF;

记住千万不要闲得蛋疼给它加BEGIN END就对了;

六、视图

不能在视图中使用子查询,例:select * from (select * from xxx) as x;  --会报错的

如果实在需要这样做,就创建2个视图进行嵌套;

七、数据库内部函数

1.类型转换函数:MySQL和MSSQL的类型转换函数名称都是CAST和CONVERT,但CONVERT函数的参数有些不太一致;

MSSQL的语法如下:

CAST ( expression AS data_type [ ( length ) ] )

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

MySQL的语法如下:

CAST ( expression AS data_type ( length ) );

CONVERT ( expression , data_type ( length ) );

但MYSQL中的类型转换函数有一些限制,type只能是以下几种类型:

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]

使用的时候需要注意,诸如:SELECT CAST(0 AS INT); -- 这种写法是行不通的,给我乖乖改成--> SELECT CAST(0 AS SIGNED);

2.获取字符串长度函数

MYSQL中的CHAR_LENGTH()等同MSSQL中的LEN();

MYSQL中的LENGTH()等同MSSQL中的DATA_LENGTH();

未完待续……

MySQL与MSSQL的一些语法差异(持续更新中)的更多相关文章

  1. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  2. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  3. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  4. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  5. 《WCF技术剖析》博文系列汇总[持续更新中]

    原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...

  6. 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...

  7. 白话kubernetes的十万个为什么(持续更新中...) - kubernetes

    Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...

  8. EOS开发经验总结——不定期持续更新中

    一.新手安装mysql乱码问题 1.数据库安装时设置默认编码格式为UTF8或者打开mysql安装目录下my.ini,变更default-character-set=utf8: 2.打开EOS的Gove ...

  9. 2020年腾讯实习生C++面试题&持续更新中(3)

    2020年腾讯实习生C++面试题&持续更新中(3) hello,大家好,我是好好学习,天天编程的天天. 来给大家大家分享腾讯实习生面经了. 天天希望大家看到面经后一定要做充分的准备,结合自己掌 ...

随机推荐

  1. bootstrap历练实例:标签式的导航菜单

    本章将讲解bootstrap提供的用于定义导航元素的一些选项,它使用相同的标签和基类.nav.Bootsrtap也提供了一个用于共享标记和状态的帮助器类.改变修饰的class,可以在不同的样式间进行切 ...

  2. ios之自定义UINavigationBar

    ios5 自定义导航条问题 在ios5之前的系统中,可以通过定义导航条类别的方式自定义导航条: @implementation UINavigationBar (CustomImage)- (void ...

  3. UINavgationController

    UINavigationBar和UINavigationItem是iOS开发中常用的控件.   1.设置导航栏标题 self.title = @"iOS开发:iOSDevTip"; ...

  4. java面试宝典第三弹

    Http和Https的区别 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之 ...

  5. 身为前端开发工程师,你需要了解的搜索引擎优化SEO.

    网站url网站创建具有良好描述性.规范.简单的url,有利于用户更方便的记忆和判断网页的内容,也有利于搜索引擎更有效的抓取您的网站.网站设计之初,就应该有合理的url规划. 处理方式: 1.在系统中只 ...

  6. $monitor用法

    1.$monitor 进程同一时间有且仅有一个,若多次调用$monitor,新进程会代替以前的monitor进程. 2.$fmonitor可以同时存在任意个. 3.一般不用$monitor系统函数. ...

  7. **没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案

    一.现象 我将之前Redhat9.0编译好的uboot,转到ubuntu12.04环境.在ubuntu环境下对 uboot重新编译提示错误.编译过程如下: root@hailin-virtual-ma ...

  8. 总线(bus);设备(devices);驱动(drivers)

    Linux Cross Reference Free Electrons Embedded Linux Experts • Source Navigation  • Diff Markup  • Id ...

  9. bash文件名统配

    bash基础特性之globbing,即文件名通配:     文件名通配:使用元字符匹配字符         *:匹配任意长度的任意字符             假如文件名为paaaa,则pa*,*pa ...

  10. 百度蜘蛛IP段分析

    大家进行网站日志分析的时候,常见到很多不同IP段的百度蜘蛛,为了方便大家更好的进行日志分析,下面列举了百度不同IP段常见蜘蛛的一些详情情况,及所谓的降权蜘蛛,沙盒蜘蛛,高权重蜘蛛等等 下面的百度蜘蛛I ...