SQLSERVER 脚本转MYSQL 脚本的方法总结

1、MYSQL中SQL脚步都要以分号(;)结尾,这点比SQLSERVER要严谨。

2、所有关键字都要加上``,比如 Status 替换成 `Status`,`按是有个“~的键”。

3、SQLSERVER的dbo.[,]在mysql中不支持,都要去掉。
4、isnull 替换 ifnull。
5、rowNumber 不支持,可以用SELECT @rownum:[email protected]+1 AS pageRownum FROM (SELECT @rownum:=0) r代替。
6. CONCAT()代替+,数字相加的除外。

7. GROUP_CONCAT代替for xml path(‘‘)。

8.SQL Server中@@ROWCOUNT用MYSQL 的ROW_COUNT()替换。

9. TOP 要换成LIMIT的写法。

10.声明变量,从查询语句中给多个变量赋值的方法:=,具体如下:

/**声明变量,接受名为:@userName的数量,初始值为:0*/
declare  count_user int default 0;//默认值为0,注意默认值两边都没有括号。
declare  loginname varchar(20);
// set count_user=0;赋值为0 

/**查询名为:@userName的用户的数量*/
select @count_user:=count(1),@loginname := userName from login;

11.时间格式:DATE_FORMAT(NOW(),‘%Y%m%d‘)  -- 20150124  具体可以参考 http://blog.csdn.net/kangbrother/article/details/7030304 。

12.类型转换要用cast 可以参考http://www.nowamagic.net/librarys/veda/detail/2044 。

13.条件判断,if  then ... end if; if then .. else .. end if;

14.SQLSERVER 中的len() 对应MYSQL中的LENGTH()。

15.修改数据

1.update `order`,orderordertrans SET `order`.CycleSort = orderordertrans.RID where `order`.`code` = orderordertrans.`code`;//支持mysql 和sqlserver 

2. update a set a.DefaultCycleDeliveDate=null from [Order] a where a.CycleSort>@CurrentCycleSort and a.Cycle_group=@cycleGroup //支持server,不支持mysql
时间: 2024-10-09 20:36:44

SQLSERVER 脚本转MYSQL 脚本的方法总结的相关文章

用shell脚本执行mysql脚本

#!/bin/bash HOSTNAME="127.0.0.1" #数据库本机地址 PORT="3306" USERNAME="root" PASSWORD="pwd" DBNAME="tbs_ra_data" execSql="call DELETE_FLOW_ONEBYONE()" //此处可以是SQL语句或者调用存储过程 echo "Begin execute MYSQL

shell脚本中执行mysql语句的方法

方法一:使用文件标签EOF重定向的方法的: #!/bin/bash  user=root  pass=123456  db=mysql  tablename=user  mysql -s --line-numbers -f -u$user -p$pass -D $db --delimiter=";" -E<  --SELECT host,user from $tablename order by 1;  SELECT host,user from $tablename order

Shell脚本读取mysql结果集各数据项的值

在Linux下用shell脚本读取MySQL结果集各数据项的值,按行读取sql结果,将sql执行结果读取到shell变量中,然就可进行处理. HOSTNAME="172.16.xx.xx"    #数据库信息PORT="3306"USERNAME="root"PASSWORD="root" DBNAME="log"         #数据库名称TABLENAME="student" CO

PHP wget 增强脱裤脚本(PDO MYSQL)

脚本参考了 LCX Gavin2位前辈的帖子.在此表示非常的感谢. https://www.t00ls.net/thread-26740-1-1.html https://www.t00ls.net/thread-26791-1-1.html 说明:脚本支持PDO和MYSQL 2种方式 优先使用PDO .如果服务器不支持PDO  就选择MYSQL 方式. 个人认为  PDO 的好处有效率高  代码简洁 通用性好  这代码稍作改动就可以拿去脱mssql 不过用php和mssql组合的应该不多- -

老男孩教育每日一题:2017年3月13日-如何防止Linux命令行或脚本里MySQL登录密码泄露?

不低于3种方法. 明知山有虎偏向虎山行的方案: 1.1.1 可以通过如下环境变量强制Linux不记录敏感历史命令 在命令行执行HISTCONTROL=ignorespace后,再输入带密码的命令的前面加一个空格登录,登录命令不会被记录到历史记录里. [[email protected]~]# HISTCONTROL=ignorespace #<==这里是临时生效,要想永久生效,请放入/etc/bashrc. [[email protected]~]#  mysql -uroot-p'oldboy

MySQL脚本的基本组成

转载自:http://blog.csdn.net/angel_g/article/details/53324176#t18 MySQL脚本的基本组成 与常规的脚本语言类似, MySQL 也具有一套对字符.单词以及特殊符号的使用规定, MySQL 通过执行 SQL 脚本来完成对数据库的操作, 该脚本由一条或多条MySQL语句(SQL语句 + 扩展语句)组成, 保存时脚本文件后缀名一般为 .sql.在控制台下, MySQL 客户端也可以对语句进行单句的执行而不用保存为.sql文件. 标识符 标识符用

使用python脚本实现mysql误操作的flush back

1.简介在oracle数据库中,当一个误操作被提交后,我们可以通过oracle提供的闪回功能将表闪回至误操作之前的状态.在mysql中没有原生的flush back功能,DBA误操作时,传统的恢复方式是利用全备+二进制日志前滚进行恢复.今天给大家介绍一种使用python脚本在mysql中实现类似oracle中flush back table的闪回功能,相比于传统的全备+增备,本方法更为快速.简单. 2.闪回原理原理:调用mysql_rollback.py(脚本在我的另一篇blog 闪回脚本:my

json 脚本入库的几种方法

json 脚本入库的几种方法,见代码: #-*- encoding: utf-8 -*- #第一种mongodb入库 # from pymongo import * # import json # conn = MongoClient('127.0.0.1',27017) # db = conn.p2p # content = open('static/data/text.json','r',encoding='utf-8',errors='ignore') # data = json.load

Rehat一键安装mysql脚本和备份数据库脚本

Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc/issue>myfile aa=sudo grep '5.' myfile bb=sudo grep '6.' myfile cc=sudo grep '7.' myfile echo $aa echo "It is a test" > myfile #获取系统信息 sudo