mysql和sql server有什么区别

这篇文章给大家分享的是有关mysql和sql server有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

区别:1、Mysql支持enum和set类型,sql server不支持;2、MYSQL的递增语句是“AUTO_INCREMENT”,而sql server是“identity(1,1)”;3、sql server不支持limit语句。

区别一

mysql支持enum,和set类型,sql server不支持

mysql不支持nchar,nvarchar,ntext类型

mysql的递增语句是AUTO_INCREMENT,而sql server是identity(1,1)

sql server默认到处表创建语句的默认值表示是((0)),而在mysql里面是不允许带两括号的

mysql需要为表指定存储类型

sql server识别符是[],[type]表示他区别于关键字,但是mysql却是 `,也就是按键1左边的那个符号

sql server支持getdate()方法获取当前时间日期,但是mysql里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是 now()函数

mysql支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是sql server不支持这样写

mysql支持insert into tabl1 values (1,1), (1,1), (1,1), (1,1), (1,1), (1,1), (1,1)

sql server不支持limit语句,是非常遗憾的,只能用top 取代limt 0,N,row_number() over()函数取代limit N,M

mysql在创建表时要为每个表指定一个存储引擎类型,而sql server只支持一种存储引擎

mysql不支持默认值为当前时间的datetime类型(mssql很容易做到),在mysql里面是用timestamp类型

sql server里面检查是否有这个表再删除,需要这样:

if exists (select * from dbo.sysobjects where id = object_id(N’uc_newpm’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)

但是在mysql里面只需要 DROP TABLE IF EXISTS cdb_forums;

mysql支持无符号型的整数,那么比不支持无符号型的mssql就能多出一倍的最大数存储

mysql不支持在mssql里面使用非常方便的varchar(max)类型,这个类型在mssql里面既可做一般数据存储,也可以做blob数据存储

mysql创建非聚集索引只需要在创建表的时候指定为key就行,比如:KEY displayorder (fid,displayorder) 在mssql里面必须要:create unique nonclustered index index_uc_protectedmembers_username_appid on dbo.uc_protectedmembers

(username asc,appid asc)

mysql text字段类型不允许有默认值

mysql的一个表的总共字段长度不超过65XXX。

一个很表面的区别就是mysql的安装特别简单,而且文件大小才110M(非安装版),相比微软这个庞然大物,安装进度来说简直就是…

mysql的管理工具有几个比较好的,mysql_front,和官方那个套件,不过都没有SSMS的使用方便,这是mysql很大的一个缺点。

mysql的存储过程只是出现在最新的版本中,稳定性和性能可能不如mssql。
同样的负载压力,mysql要消耗更少的CPU和内存,mssql的确是很耗资源。

php连接mysql和mssql的方式都差不多,只需要将函数的mysql替换成mssql即可。

mysql支持date,time,year类型,mssql到2008才支持date和time。

区别二

一、数据定义

数据库操作基本命令

Mysql:

create database name; 创建数据库

use databasename; 选择数据库

drop database name 直接删除数据库,不提醒 –

CREATE TABLE --创建一个数据库表

2.1 PRIMARY KEY 约束(主键)区别解析:

Mysql:     2.1.1 创建primary key CREATE TABLE Persons ( Id_P  int  NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), PRIMARY KEY (Id_P)               //声明主健写在最后 ) SqlServer: CREATE TABLE Persons ( Id_P int NOT NULL PRIMARY KEY,     //声明主健 紧跟列后 LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) ) 但是如果表存在,之后给表加主健时: Mysql 和SqlServer ALTER TABLE Persons ADD PRIMARY KEY (Id_P) 2.1.2撤销 PRIMARY KEY 约束 MySQL: ALTER TABLE Persons DROP PRIMARY KEY SQL Server ALTER TABLE Persons DROP CONSTRAINT pk_PersonID 2.1.3 创建外健约束 MySQL: CREATE TABLE Orders ( O_Id  int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (O_Id), FOREIGN  KEY (Id_P)  REFERENCES  Persons(Id_P)    //写在最后 )SQL Server : CREATE TABLE Orders ( O_Id  int  NOT NULL  PRIMARY KEY, OrderNo  int NOT NULL, Id_P  int  FOREIGN KEY REFERENCES Persons(Id_P)    //顺序不同 ) 如果在 "Orders" 表已存在的情况下为 "Id_P" 列创建 FOREIGN KEY 约束,请使用下面的 SQL: MySQL / SQL Server  ALTER  TABLE  Orders ADD  FOREIGN KEY  (Id_P) REFERENCES  Persons(Id_P) 2.1.4 撤销外健约束 MySQL: ALTER TABLE Orders DROP  FOREIGN KEY f k_PerOrders SQL Server  ALTER TABLE Orders DROP CONSTRAINT  fk_PerOrders

2.2 UNIQUE 约束(唯一的,独一无二的)区别解析

UNIQUE 约束唯一标识数据库表中的每条记录。

UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。

PRIMARY KEY 拥有自动定义的 UNIQUE 约束。

请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

2.2.1 创建UNIQUE约束

MySQL:

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。