MySQL与Microsoft SQL

时间:2011-03-03 05:15:18

标签: mysql sql-server database comparison

我一直在大学的计算机课上学习Microsoft Access 2007,看到它是一个非常强大的数据库程序......我意识到它可能与Web服务器数据库不一样,但我在想切换到MSSQL。

MySQL和MSSQL之间最大的区别是什么? MS有没有我可能没有的利弊?如何让一个人比另一个人受益更多?

5 个答案:

答案 0 :(得分:3)

我已广泛使用MS SQL Server。主要区别是MS SQL Server仅适用于Windows平台。 MySQL适用于所有平台。 MySQL是开源的,现在被Oracle收购,因此没有人知道MySQL的命运。如果您使用.NET或Windows平台,我建议使用MS SQL,否则显而易见的选择是MySQL。 LAMP使用MySQL。像Facebook这样的大公司使用LAMP,因此使用MySQL。许多像Chase这样的银行使用.NET,因此主要使用MS SQL Server。如果您是Windows粉丝,请转到MS SQL服务器。如果你是一个相信开源的人,请选择MySQL。

答案 1 :(得分:0)

您可以在此处阅读mysql and mssql中的完整比较。他们完全描述了每一件事

答案 2 :(得分:0)

这两个平台都很好用,但它可能会归结为偏好以及您希望数据库做什么。 MySQL在额外功能方面相对来说是一个更简单的产品,但仍然设法成为一个强大的平台,特别是当你将它与访问进行比较时。

从开发的角度来看,MS SQL将拥有更丰富的SQL版本,其中MySQL将拥有更基本的SQL版本。与MS SQL一起提供的Management Studio也是一个优于MySQL的优势 - 尽管还有一些其他的可以下载以与MySQL交互。

从管理/实现/服务器方面来说,MS SQL将通过丰富的高可用性功能(依赖于版本)以及系统MySQL附带的所有其他小部件来赢得胜利不能与原生包装的东西相比。

虽然可能会归结为个人偏好以及您想要构建的内容。 MySQL规则在Web和Linux前端,但实际上缺少MS SQL附带的许多高级功能。

答案 3 :(得分:0)

取决于您的最终目标。如果它正在为一份工作做准备,那么我建议让自己暴露在两者中,这样你就会熟悉并且这样做,你希望能够找到你喜欢哪一个,并从那里开始关注那个特定版本以改善你的技能和发展经验。尽管我建议熟悉两者。我的工作使用的是MS SQL,但我只是在做一个咨询工作,而且我不断陷入微小的差异 - 这令人沮丧。希望我在大学之前见过它。

答案 4 :(得分:0)

以下是MSSQL和MySQL之间的SQL语法差异

在MSSQL中,表名和列名用双引号或方括号括起来,而在MySQL中,表名和列名用反引号(“`”)字符

示例

MSSQL CREATE TABLE“ Employees”(“ Empno” VARCHAR(10),“ EmpName” Varchar(100)......

从“雇员”中选择[Empno],[EmpName] ...... 的MySQL 创建表EmployeesEmpno VARCHAR(10),EmpName Varchar(100)......

Empno中选择EmpNameEmployees ......

在两种数据库软件中,都将标识符名称包含在封闭字符中是可选的,但是如果标识符名称包含空格,则必须将其括在双引号或方括号中。

例如,下面的语句可以这样写

MSSQL CREATE TABLE“ Employees”(“ Empno” VARCHAR(10),“ EmpName” Varchar(100)...... 的MySQL 创建表EmployeesEmpno VARCHAR(10),EmpName Varchar(100)...... 或没有这样的字符。

MSSQL 创建表员工(Empno VARCHAR(10),EmpName Varchar(100)......

MySQL 创建表员工(Empno VARCHAR(10),EmpName Varchar(100)......

但是,如果标识名称包含空格,则必须用双引号或方括号将其括起来

MSSQL CREATE TABLE“ Employees Table”(“ Emp No” VARCHAR(10),“ EmpName” Varchar(100)......

MySQL 创建表Employees TableEmp No VARCHAR(10),EmpName Varchar(100)......

你不能这样写

MSSQL CREATE TABLE员工表(Emp No VARCHAR(10),EmpName Varchar(100)......

MySQL CREATE TABLE员工表(Emp No VARCHAR(10),EmpName Varchar(100)......

在MySQL中,如果使用以下命令打开ANSI_QUOTES SQL模式选项

mysql> SET sql_mode ='ANSI_QUOTES';

然后,MySQL还允许用双引号引起来的标识符。但是请记住,启用此选项后,您将无法在SQL语句中用双引号引起文字字符串。您只需在SQL语句中使用单引号来引用文字字符串

区分大小写 在MS SQL中,如果使用区分大小写的COLLATION创建数据库,则表名和列名区分大小写,否则,如果使用区分大小写的排序规则创建数据库,则标识符名不区分大小写

例如

如果您是在区分大小写排序规则数据库中创建了一个表,则这样

创建表Employee(SNo int,Name Varchar(100),Sal money) 注意表名中的大写字母E

然后输入以下命令

从员工中选择* 会报错