我已经多次浏览了http://en.wikipedia.org/wiki/Database_engine上的定义:
数据库引擎(或“存储引擎”)是数据库管理系统 (DBMS) 用来从数据库创建、读取、更新和删除(CRUD) 数据的底层软件组件。
我不明白的是剩下要做的事情,不是数据库所做的全部 CRUD 吗?
如果数据库引擎执行这些功能,那么数据库的其余部分会做什么?
所以今天一位教授告诉我们,当数据库必须进行更新时,在内部(在低级别)它会进行删除,然后使用更新的字段进行插入。然后他说这是跨所有数据库制作的,然后我开始讨论,说我认为这没有意义,但我没有足够的资源来支持我的立场。他似乎知道很多,但我不明白为什么 dbs 会这样做。
我的意思是,我知道如果您更新一个字段并且该行需要更多空间,那么它可能会物理删除该行并将其放在新数据的末尾。但是,如果例如您减少了使用的空间,为什么它会在最后删除并重新插入呢?
这是真的吗?有什么好处?
我想检查我可以访问的 Datasase 服务器上正在运行什么类型的 sql。我只能访问 Web 界面和表格列表。
通过该界面,我可以对列表中的表运行查询。
如何获取有关服务器和服务器正在运行的版本的更多信息。我不知道服务器正在运行的 IP 或端口。
我想知道服务器是 MySQL、Mircosoft SQL Server、Oracle SQL、Postgre SQL 还是其他 sql server。
我正在谈论的网站是这个: w3schools.com SQL editor。
编辑 2:虽然对于某些命令 select sqlite_version() 对我有用,但它不起作用。这是响应的屏幕截图。
编辑 3:在 Chromium 浏览器上,命令工作正常。但是在 Firefox 浏览器上,该命令不起作用。
我还提到我正在运行 Linux。
您认为在 Firefox 和 Chrome 上我得到不同结果的原因可能是什么?
我想交换表中两列的值,我发现在 SQL 中我们可以通过使用 Update 来做到这一点:
update the_table set first_name = last_name, last_name = first_name;
Run Code Online (Sandbox Code Playgroud)
它有效但我想知道 SQL 如何能够做到这一点而不覆盖其他列中的列中的数据?
我正在寻求有关 SQL Azure 版本和升级的一些说明。在尝试使用某些特定功能时,我注意到数据库的兼容性级别是 100(我需要 130)。进一步查看后,我发现引擎版本被报告为12.0.2000.8
(相当于 SQL Server 2014),但我需要最低引擎版本为 13.x才能使用兼容性级别 130。
我需要做什么来升级此 SQL Azure 实例的引擎版本?在 Azure SQL 数据库中热修补 SQL Server 引擎一文具体指出:
Azure SQL 数据库是常青树,这意味着它始终拥有最新版本的 SQL 引擎
此外,像这样的答案意味着引擎将始终是最新版本,但报告的版本将不正确。
这是否意味着我可以忽略报告的引擎版本并继续设置兼容性级别,或者我需要采取其他步骤来升级引擎?
sql-server database-engine azure-sql-database compatibility-level