Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL与Microsoft SQL_Mysql_Sql Server_Database_Comparison - Fatal编程技术网

MySQL与Microsoft SQL

MySQL与Microsoft SQL,mysql,sql-server,database,comparison,Mysql,Sql Server,Database,Comparison,我在大学的计算机课上学习了MicrosoftAccess2007,看到它是一个非常强大的数据库程序。。。我意识到它可能与web服务器数据库不同,但我正在考虑切换到MSSQL MySQL和MSSQL之间最大的区别是什么?MS是否有我可能没有的优点或缺点?一个对我有什么好处 您可以在这里阅读完整的比较。他们完整地描述了每一件事我广泛使用了MS SQL Server。主要区别在于MS SQL Server仅适用于Windows平台。MySQL适用于所有平台。MySQL是开源的,现在被Oracle收购,

我在大学的计算机课上学习了MicrosoftAccess2007,看到它是一个非常强大的数据库程序。。。我意识到它可能与web服务器数据库不同,但我正在考虑切换到MSSQL


MySQL和MSSQL之间最大的区别是什么?MS是否有我可能没有的优点或缺点?一个对我有什么好处

您可以在这里阅读完整的比较。他们完整地描述了每一件事

我广泛使用了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 server。如果你是一个相信开源的人,那就选择MySQL。

这两个平台都很好学,但这可能取决于你的偏好以及你希望数据库做什么。相比之下,MySQL在额外功能方面要简单得多,但仍然是一个强大的平台,尤其是当您将其与access进行比较时

从开发的角度来看,MS SQL将拥有更丰富的SQL版本,而MySQL将拥有更基本的SQL版本。与MySQL相比,MS SQL附带的Management Studio也有一个优势——尽管您可以下载一些其他工具来与MySQL交互

从管理/实现/服务器端的额外功能来看,MS SQL将凭借丰富的高可用性功能(取决于版本)以及与系统MySQL打包的所有其他小部件轻松取胜。MySQL无法与本机打包的功能相比


这很可能会归结为个人偏好,以及你想要构建什么。MySQL在web和linux方面都有规则,但实际上缺乏MS SQL附带的许多高级功能

取决于你的最终目标是什么。如果是为工作做准备的话,我建议你将自己暴露在这两种情况下,这样你就很熟悉了,这样你就有希望找到你最喜欢的一种,然后你就可以开始专注于这个特定的版本,以提高你的技能和发展经验。不管怎样,我建议大家都要熟悉。我的工作使用MS SQL,但我刚得到一份做MySQL的咨询工作,我一直被一些小的差异所困扰——这很令人沮丧。但愿我在大学里见过它。

以下是MSSQL和MySQL在SQL语法上的区别

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

范例

MSSQL 创建表“Employees”(“Empno”VARCHAR(10)、“EmpName”VARCHAR(100)

从“员工”中选择[Empno]、[EmpName]。。。。。。 MySQL 创建表
Employees
Empno
VARCHAR(10),
EmpName
VARCHAR(100)

Employees
中选择
Empno
EmpName

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

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

MSSQL 创建表“Employees”(“Empno”VARCHAR(10)、“EmpName”VARCHAR(100)。。。。。。 MySQL 创建表
Employees
Empno
VARCHAR(10),
EmpName
VARCHAR(100)。。。。。。 或者不包含这样的字符

MSSQL 创建表Employees(Empno VARCHAR(10)、EmpName VARCHAR(100)

MySQL 创建表Employees(Empno VARCHAR(10)、EmpName VARCHAR(100)

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

MSSQL 创建表“雇员表”(“Emp编号”VARCHAR(10)、“EmpName”VARCHAR(100)

MySQL 创建表格
Employees表格
Emp No
VARCHAR(10),
EmpName
VARCHAR(100)

你不能这样写

MSSQL 创建表Employees表(Emp No VARCHAR(10),EmpName VARCHAR(100)

MySQL 创建表Employees表(Emp No VARCHAR(10),EmpName VARCHAR(100)

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

mysql>设置sql_mode='ANSI_QUOTES'

MySQL还允许在双引号内引用标识符。但请记住,启用此选项时,SQL语句中不能在双引号中引用文字字符串。在SQL语句中,只能使用单引号引用文字字符串

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

比如说

如果您在区分大小写的排序规则数据库中创建了一个表,如下所示

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

然后,如果您发出以下命令

从雇员中选择*
它会给出错误

MSAccess是一个桌面数据库,所以有更多的区别。MSAccess数据库引擎更类似于SQLite或Firebirdi。如果您担心MySQL在Oracle下的未来,您可以作为MySQL的替代品。它是由MySQL的原始开发人员开发的。您不知道