最近也在学SqlServer 数据库,看了上面的回答其实有很多地方也不太明白,总结了两者之间的区别,
1 MySQL支持enum,和set类型,SQL
Server不支持 2 MySQL不支持nchar,nvarchar,ntext类型 3 MySQL的递增语句是AUTO_INCREMENT,而MS
SQL是identity(1,1) 4 MS
SQL默认到处表创建语句的默认值表示是((0)),而在MySQL里面是不允许带两括号的 5 MySQL需要为表指定存储类型 6 MS SQL识别符是[],[type]表示他区别于关键字,但是MySQL却是
`,也就是按键1左边的那个符号 7 MS
SQL支持getdate()方法获取当前时间日期,但是MySQL里面可以分日期类型和时间类型,获取当前日期是cur_date(),当前完整时间是
now()函数 8 MS SQL不支持replace into 语句,但是在最新的sql20008里面,也支持merge语法
9 MySQL支持insert into table1 set t1 = ‘’, t2 = ‘’ ,但是MS
SQL不支持这样写 10 MySQL支持insert into tabl1 values
对于开发人员来说经常在不同数据库之间转换确实有些繁琐,
下面是SQLServer 操作MySQL
数据库的方法
数据库测试环境 1. SQL Server 2008
2. MySQL
5.1.36 Database: Test Table: TestTable
创建MySQL 测试表
创建Link
Server 下面来创建一个与MySQL交互的链接(类似Oracle 的DBLink),在SQL Server 管理器中右键Server
Objects 目录下的Linked Servers 点击“New Linked Server”:
Linked server
链接名称 Server Type 选择“Other data source” Provider 选择“Microsoft OLE DB Provider for ODBC
Drivers” Product name 填写MySQL 主机地址 Provider String 填写 Driver={MySQL ODBC 5.1
Driver};Server=ServerName;Database=myDB; User=myUserName;Password=myPassword;Option=3;
也可以通过TSQL 直接创建:
创建完成后便会看到下图中的链接:
操作MySQL
数据库 在SQL Server 中通过OPENQUERY 函数对MySQL
进行操作,该函数包含两个参数:第一个为已创建的链接名称,第二个为SQL 查询,它将返回对Linked Server
的读取或修改操作。如下操作示例:
OPENQUERY ([LinkedServer],
'SELECT * FROM [RemoteTable]')向TestTable 中插入测试数据:
insert into
openquery(mysqllink,'select * from
testtable') select 1,'Peter',30;查询数据:
select * from
openquery(mysqllink,'select * from testtable');
修改数据:
删除数据: