设为首页 加入收藏

TOP

SqlServer与MySQL基本操作语句对比(一)
2015-11-21 01:40:27 来源: 作者: 【 】 浏览:1
Tags:SqlServer MySQL 基本操作 语句 对比

继上篇 MySQL 基本操作语句 后,个人测试和补充了 SqlServer 与 MySQL 的 基本操作语句对比,主要是对比SQL命令的一些差异,不作更多说明。

(由于mysql 没有系统学习过,欢迎大侠们拍砖~~O(∩_∩)O~)

SqlServer版本:SqlServer 2008

MySQL版本: MySQL 5.5

执行符号:

MySQL :分号';'

SqlServer :字符'GO'

自增列:MySQL必须要索引,不能设置增量;

默认值:MySQL默认值不用加括号;SqlServer可加或不加;

--MySQL

CREATE TABLE tabName(

ID INTPRIMARY KEY AUTO_INCREMENT,

Value INTDEFAULT 12

) AUTO_INCREMENT= 100 ENGINE=MyISAM DEFAULT CHARSET=utf8;

--SqlServer

CREATE TABLE tabName(

ID INTIDENTITY(100,1)PRIMARY KEY,

Value INTDEFAULT(12)

)

查看表结构定义:

--SqlServer

EXEC sp_help'tabName'

--MySQL

DESC tabName

更改表名:

--SqlServer

EXEC sys.sp_rename@objname= N'tabName',@newname = 'newTabName'

--MySQL

ALTER TABLE tabName RENAME newTabName

更改字段类型:

--SqlServer

ALTER TABLE[dbo].[tabName]ALTER COLUMN [ID] BIGINT

--MySQL

ALTER TABLE tabName MODIFY IDBIGINT

更改字段名:

--SqlServer

EXEC sys.sp_rename@objname= N'tabName.ID',@newname= 'IewID',@objtype= 'column'

--MySQL

ALTER TABLE tabName CHANGE IDIewID BIGINT

添加字段:(一样)

--SqlServer

ALTER TABLE[dbo].[tabName]ADD NAME NVARCHAR(200)NULL

--MySQL

ALTER TABLE tabName ADD NAMENVARCHAR(200)NULL

删除字段:

--SqlServer

ALTER TABLE[dbo].[tabName]DROP COLUMN NAME

--MySQL

ALTER TABLE tabName DROP NAME

添加主键/外键或约束:

--SqlServer

ALTER TABLE[dbo].[tabName]ADD CONSTRAINT pk_tabNamePRIMARY KEY (id);

--MySQL

ALTER TABLEtabName ADD CONSTRAINT pk_tabNamePRIMARYKEY tabName(id);

ALTER TABLEsubTabName ADD CONSTRAINT fk_subTabName_tabNameFOREIGNKEY subTabName(fid)REFERENCES tabName(id);

删除主键/外键或约束:

--SqlServer(统一语法)

ALTER TABLE[dbo].[tabName]DROP CONSTRAINT pk_tabName

--MySQL

ALTER TABLEtabName DROP CONSTRAINT constaintName

ALTER TABLEtabName DROP PRIMARY KEY pk_tabName

ALTER TABLE subTabName DROP FOREIGNKEY fk_subTabName_tabName

删除表:

--SqlServer

DROP TABLEtabName,TabName2;

--MySQL

DROP TABLE IF EXISTS tabName,TabName2;

#######################################################################################

创建视图:

--MySQL

CREATE ORREPLACE VIEW VtabName

AS

SELECT *FROM tabName

WITH CHECK OPTION;

--SqlServer

CREATE VIEWVtabName

AS

SELECT *FROM tabName

WITH CHECK OPTION;

视图结构和定义:

--MySQL

DESC VtabName;

SHOW CREATEVIEW VtabName;

SHOW TABLE STATUS LIKE 'VtabName';

--SqlServer

sp_help VtabName

sp_helptext VtabName

删除视图:

--MySQL

DROP VIEWtabName;

DROP VIEW IF EXISTS tabName;

--SqlServer

DROP VIEWtabName;

#######################################################################################

创建索引:

--MySQL

CREATE TABLEtabName( id INT NOTNULL,KEY indName(id));

ALTER TABLEtabName ADD INDEX indName(Value);

CREATE UNIQUE INDEX indName ONtabName(Value);

--SqlServer

CREATE TABLE tabName(IDINT IDENTITY(100,1)CONSTRAINT PK_tabNamePRIMARYKEY)

CREATE UNIQUE INDEX indName ONtabName(Value);

重建索引:

--MySQL

REPAIR TABLE tabName QUICK;

--SqlServer

DBCC DBREINDEX('dbo.tabName','',100)

ALTER INDEXindName ON tabName REBUILD;

ALTER INDEX ALL ON tabNameREORGANIZE;

删除索引:

--MySQL

ALTER TABLEtabName DROP INDEX indName;

ALTER TABLEtabName DROP PRIMARY KEY pk_tabName;

ALTER TABLEsubTabName DROP FOREIGN KEY fk_subTabName_tabName;

DROP INDEX indName ON tabName;

--SqlServer

DROP INDEX indName ON tabName;

ALTER TABLE tabName DROP CONSTRAINTPK_tabName

查看索引:

--MySQL

SHOW INDEX FROM tabName;

--SqlServer

SELECT

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇常用SQL语句收藏<一) 下一篇十种NoSQL数据库以及对比

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: