MYSQL和SQL Server 的区别
注意MYSQL使用注释 -- 时 要后面加上空格 使用 #不用
一.数据类型
MYSQL:支持enum和set类型 ;SQL SERVER:不支持
MYSQL:不支持nchar,nvarchar,ntext类型
具体可看
SELECT * FROM msdb.dbo.sysdatatypemappings --SQL SERVER
? DATA TYPES #MYSQL
MYSQL:递增语句是AUTO_INCREMENT; SQL SERVER:IDENTITY(1,1)
-- MYSQL
CREATE TABLE student
(
stuId int PRIMARY KEY AUTO_INCREMENT
)
-- SQL SERVER
CREATE TABLE student(
stuId INT PRIMARY KEY IDENTITY(1,1)
)
MYSQL:标识符用`` ; SQL SERVER : []
-- MYSQL
SELECT `stuId`,`stuName` FROM studentInfo ;
-- SQL SERVER
SELECT [stuId],[stuName] FROM studentInfo;
MYSQL:获取当前系统时间 NOW();SQL SERVER:GETDATE()
-- MYSQL
SELECT NOW();#当前日期+时间
SELECT CURDATE();#返回当前日期
SELECT CURTIME();#返回当前时间
-- SQL SERVER
SELECT GETDATE();
MYSQL:支持RAPLACE INTO 语法 SQL SERVER:MERGE INTO
-- MYSQL
-- 使用REPLACE INTO时,首先会根据主键或者唯一索引查看表中是否有该条记录,有的话则先删除,然后插入数据;没有该记录则直接插
REPLACE INTO studentInfo(`stuId`,`stuName`) VALUES(1,'Robin');
-- SQL SERVER
MERGE INTO studentInfo A
USING(SELECT 1 AS stuId,'LuoBin' AS stuName)AS B ON A.stuId=B.stuId
WHEN MATCHED THEN
UPDATE SET A.stuName=B.stuName
WHEN NOT MATCHED THEN
INSERT (stuId,stuName) VALUES (b.stuId,b.stuName);
MYSQL:支持 INSETR INTO TABLE_NAME SET `cloumn1`='...' ... ;SQL SERVER:不支持
-- MYSQL
INSERT INTO studentInfo SET stuId=2,stuName='Robin';
MYSQL:支持 LIMIT SQL SERVER: 支持OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY、TOP、ROW_NUMBER() OVER(ORDER BY...)
-- MYSQL
SELECT * FROM studentInfo LIMIT 0,10;
--SQL SERVER 三种分页
SELECT * FROM (SELECT *,ROW_NUMBER() OVER(ORDER BY stuId) AS RowId FROM studentInfo ) AS B WHERE RowId BETWEEN 0 AND 10 SELECT * FROM studentInfo ORDER BY stuId OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY SELECT TOP 10 * FROM studentInfo WHERE stuId NOT IN (SELECT TOP 0 stuId FROM studentInf
MYSQL:支持多种存储引擎 SQL SERVER:只支持一种
SHOW ENGINES;
MYSQL:不支持默认值当前时间的datetime类型,只能用timestamp类型 SQL SERVER:支持
-- MYSQL
CREATE TABLE dateTest(
addTime timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
-- SQL SERVER
CREATE TABLE dateTest(
addTime DATETIME DEFAULT(GETDATE())
)
MYSQL和SQL SERVER检查是否有再删除的操作
-- MYSQL
DROP TABLE IF EXISTS studentInfo;
-- SQL SERVER
IF EXISTS(SELECT * FROM sys.objects WHERE name='studentInfo')
DROP TABLE studentInfo
MYSQL:支持无符号的整数,SQL Server:不支持
MYSQL:不支持varchar(max)这种写 这个类型在mssql里面既可做一般数据存储,也可以做blob数据存储
MYSQL和SQL Server 的区别的更多相关文章
- MySQL:MySQL和SQL Server的区别
导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...
- Oracle, Mysql及Sql Server的区别
从事技术工作以来,算是把关系型数据库SQL Server,Oracle, MySQL均用了一遍,本文参考网友的梳理,做一下知识总结. 源头说起 Oracle:中文译作甲骨文,这是一家传奇的公司,有一个 ...
- 数据库中聚合索引(MySQL和SQL Server区别)
一.聚集索引和非聚集索引 聚集索引:类似字典的拼音目录.表中的数据按照聚集索引的规则来存储的.就像新华字典.整本字典是按照A-Z的顺序来排列.这也是一个表只能有一个聚集索引的原因.因为这个特点,具体索 ...
- Oracle、MySql、Sql Server比对
1. 价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用 ...
- Oracle与Sql server的区别
一直搞不明白Oracle数据库和sql server的区别,今天我特意查资料把他们的区别整理出来 Oracle数据库:Oracle Database,又名Oracle RDBMS,或简称Oracle. ...
- oracle 、mysql、 sql server使用记录
oracle .mysql. sql server使用记录 mysql常用命令: mysqld --启动mysql数据库 show databases; -- 查看数据库 use database; ...
- mysql与sql server参照对比学习mysql
mysql与sql server参照对比学习mysql 关键词:mysql语法.mysql基础 转自桦仔系列:http://www.cnblogs.com/lyhabc/p/3691555.html ...
- mysql,oracle,sql server数据库默认的端口号,端口号可以为负数吗?以及常用协议所对应的缺省端口号
mysql,oracle,sql server数据库默认的端口号? mysql:3306 Oracle:1521 sql server:1433 端口号可以为负吗? 不可以,端口号都有范围的,0~65 ...
- 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库
目录 一.巡检脚本简介 二.巡检脚本特点 三.巡检结果展示 1.Oracle数据库 2.MySQL数据库 3.SQL Server数据库 4.PG数据库 5.OS信息 四.脚本运行方式 1.Oracl ...
随机推荐
- 对于一个由0..n的所有数按升序组成的序列,我们要进行一些筛选,每次我们取当前所有数字中从小到大的第奇数位个的数,并将其丢弃。重复这一过程直到最后剩下一个数。请求出最后剩下的数字。
输入描述: 每组数据一行一个数字,为题目中的n(n小于等于1000). 输出描述: 一行输出最后剩下的数字.我的思路是用两个链表,一个用于存储原数据,一个用于存储要丢掉的数据,再循环从元数据中剔除掉即 ...
- Python第七章-面向对象
面向对象编程基础 一.面向对象概念 1.1 什么是面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 生活中的的例子举例. 1.2 ...
- dijskra算法(求正权图中最短路)
思想:每次找到离原点最近的顶点,以这个点为中心扩展松弛,更新其余点到原点的最短路径. 注意:if(e[u][v]>x)e[u][v]=x; book[ ]数组标记最短路程的顶点集合 #inclu ...
- Visio2013 专业版激活码和激活工具 亲测有效
Visio2013密钥 专业版:Visio Professional 2013 KEY C2FG9-N6J68-H8BTJ-BW3QX-RM3B3 2NYF6-QG2CY-9F8XC-GWMBW-29 ...
- cat userlist
cat命令 Linux下的一个文本输出命令,通常用于观看某个文件的内容 功能: 1.一次显示整个文件 $ cat filename 2.从键盘创建一个文件 $ cat > filename 只能 ...
- JS中this指向问题和改变this指向
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...
- JVM 理解性学习(一)
重新学习,重新理解 1.类加载过程等 验证:.class 文件加载到 JVM 里的时候,会验证下该文件是否符合 JVM 规范. 准备:给实体类分配内存空间,以及给类变量(static 修饰)分配&qu ...
- Go gRPC进阶-超时设置(六)
前言 gRPC默认的请求的超时时间是很长的,当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃. 为了 ...
- itoa、ltoa
#include <stdlib.h> /*整形转字符型*/ char * itoa(int value, char *string, int radix) { char tmp[33]; ...
- spark error Caused by: java.io.NotSerializableException: org.apache.hadoop.hdfs.DistributedFileSystem
序列化问题多事rdd遍历过程中使用了没有序列化的对象. 1.将未序列化的变量定义到rdd遍历内部.如定义入数据库连接池. 2.常量定义里包含了未序列化对象 ,提出去吧 如下常量要放到main里,不能放 ...