SqlServer与MySql语法比较
1、复制表(包括表结构、表数据)
SqlServer:
Select * into user_copy from user
MySql:
CREATE TABLE user_copy LIKE user;
INSERT INTO user_copy SELECT * FROM user;
2、多表连接做update
SqlServer:
UPDATE s1 SET s1.salary= s2.salary
FROM (SELECT * FROM s WHERE age>10) AS s1 JOIN s2 ON s1.uname= s2.uname
WHERE s1.uname = 'xx'
MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)
UPDATE s1 JOIN s2 ON s1.uname= s2.uname
SET s1.salary= s2.salary
WHERE s1.uname = 'xx'
3、修改表字段结构
SqlServer:
ALTER TABLE user ALTER COLUMN uid INT NOT NULL
GO
ALTER TABLE user ALTER COLUMN name nvarchar(100) NOT NULL
GO
MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)
ALTER TABLE user MODIFY uid INT NOT NULL COMMENT 'xx';
ALTER TABLE user MODIFY name varchar(100) NOT NULL COMMENT 'xxy';
4、添加、修改主键
SqlServer:
ALTER TABLE user ADD CONSTRAINT PK_uid_name PRIMARY KEY(uid, name)
MySql:(无法直接对目标表的查询数据直接做更新,只能针对目标表操作)
ALTER TABLE user DROP PRIMARY KEY;
ALTER TABLE user ADD PRIMARY KEY (uid, name);
5、查询数据拼接Sql语句
SqlServer:
SELECT 'insert into dbo.TableName([ID],[Name]) values ('+ CAST([ID] AS VARCHAR) + ',''' + CAST([Name] AS VARCHAR) + ''')'
FROM dbo.TableName WHERE ID > 433
6、查询字段首位为汉字
SqlServer:
SELECT * FROM 表名 WHERE ascii(字段)>127
7、查询字段包含汉字(任意位)
SqlServer:
SELECT * FROM 表名 WHERE 字段 LIKE '%[吖-座]%'
--[吖-座]是中文字符集第一个到最后一个的范围
8、SqlServer和Mysql插入记录前判断是否存在,存在则插入,不存在则修改
SqlServer:
if NOT exists(SELECT * FROM Setting WHERE ID=0)
INSERT INTO Setting(ID,Title,SearchKeys, ServiceIntervalSecond,SleepMillisecondPerSearch) VALUES(0,@title,@searchKeys,@serviceIntervalSecond,@sleepMillisecondPerSearch)
ELSE
UPDATE Setting SET Title=@title,SearchKeys=@searchKeys,ServiceIntervalSecond=@serviceIntervalSecond, SleepMillisecondPerSearch=@sleepMillisecondPerSearch
MySqL:
INSERT INTO `his_examine_result` (Mid,His_Examine_Mid, His_File_Mid, ResultType, His_Employee_Mid,
His_Employee_Name, ExamineResult, ExamineItemName, ExamineStandardName,
ExamineItemUnit, ExamineHighValue, ExamineLowValue, ExamineDiscription, Discription)
VALUES ($mid,$examineMid,$fileMid,1,null,null,'',$itemName,$standName,$itemUnit,$highValue,$lowValue,'','')
ON DUPLICATE KEY UPDATE ExamineResult=$result,ExamineDiscription=$dis
9、创建索引
SqlServer:
IF NOT EXISTS(SELECT * FROM sysindexes WHERE id = OBJECT_ID('T_Person_info') and name = 'idx_pCode')
CREATE NONCLUSTERED INDEX idx_pCode ON [dbo].T_Person_info
(
pCode ASC
) ON [PRIMARY];
SqlServer与MySql语法比较的更多相关文章
- sqlserver迁移mysql语法修改
1.top 100 选取表中前100条改为 limit #{limit},limit 为变量2.获取当前日期getdate()改为now()3.id=#{id,jdbcType=BIGINT}改为i ...
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- Sqlserver与Mysql触发器之间的差别
今天练习sqlserver,一开始感觉应该像Oracle,Mysql语法差不多,但是经过一下午的奋战,才感觉原来这三个数据库就是有区别啊, 我原来学习触发器的时候用的是Mysql,感觉还行,但是今天采 ...
- SQLServer Oracle MySQL的区别
table tr:nth-child(odd){ background: #FFFFCC; font-size: 18px; } table tr:nth-child(even){ backgroun ...
- SqlServer切换MySql总结
最近项目任务不多就琢磨着把SqlServer换成MySql(数据访问使用的ado.net),初步想了下方案有2种: 方案一:继续使用ado.net,重写所有的sql语句 优势:数据访问效率高,改写Sq ...
- B-Tree索引在sqlserver和mysql中的应用
在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...
- .NET程序迁移到Mysql的极简方案——让GGTalk同时支持Sqlserver与mysql全程记录!
园子里的这个GGTalk,咱们前前后后用它移花接木做的IM项目也不下三四个了.初次入手的时候,洋洋代码,多少感觉有些难以把握.不过一来二去,理清了头绪,也就一览无余了.相信跟我们一样想要利用GGTal ...
- SQLServer转MYSQL的方法(连数据)
本次转换需要依赖使用工具Navicat Premium. 首先,将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库备份 ...
- MVC4,MVC3,VS2012+ entity framework Migration from Sqlserver to Mysql
在开发的初期个人认为因VS与Sqlserver的配合很默契,即可以方便的实现Code First,又可以使用SqlServer Manager很漂亮的进行建模与变更,也许是个人的使用习惯MS的界面做的 ...
随机推荐
- echarts在地图上绘制散点图(任意点)
项目需求:在省份地图上绘制散点图,散点位置不一定是哪个城市或哪个区县,即任意点 通过查询官网文档,找到一个与需求类似的Demo:https://www.echartsjs.com/gallery/ed ...
- HTML <area> 对象
<area>对象的属性 属性 描述 W3C alt 设置或返回当浏览器无法显示某个区域时的替换文字. Yes coords 设置或返回图像映射中可点击区域的坐标. Yes hash 设置或 ...
- Bootstrap 表单控件状态(禁用状态)
Bootstrap框架的表单控件的禁用状态和普通的表单禁用状态实现方法是一样的,在相应的表单控件上添加属性“disabled”.和其他表单的禁用状态不同的是,Bootstrap框架做了一些样式风格的处 ...
- delphi主i窗口中实现多页面管理效果
MainForm上加Panel,把Panel的DockSite设为True, 把窗口FB_orderManage的DragKind设为dkDock, DragMode设为dmAuromatic 在M ...
- 【ACM】hdu_zs2_1007_Problem G _201308031028
Problem G Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Subm ...
- 【ACM】bailian_2705_跳绳游戏_201307302003
2705:跳绳游戏总时间限制: 1000ms 内存限制: 65536kB 描述 小朋友玩跳绳比赛,要计算在一分钟内跳了多少下.假设每秒钟跳一下,如果中途失败了,则要花三秒钟后才能开始重跳.一般小朋友跳 ...
- FZU Problem 2082 过路费
Problem 2082 过路费 Accept: 875 Submit: 2839Time Limit: 1000 mSec Memory Limit : 32768 KB Problem ...
- [Angular] Freshness Caching Policy - Network First, Cache Last
In some cases, you want to get fresh data instead of cache data to the screen, such as stock applica ...
- hdu1018--斯特灵公式
斯特灵公式 Wiki http://zh.wikipedia.org/wiki/斯特林公式 /** \brief hdu 1018 * * \param date 2014/7/24 * \param ...
- 文字录入无限制Undo,Redo的实现
这里只针对Edit的内容做一个简单的undo,redo功能: 原理就是,将新增字符和相关信息添加到undo列表,在undo动作时,取记录信息,并在edit中删除新增的字符,然后将此动作添加到redo列 ...