Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
先学什么,SQLite还是SQL? 我将在C++中使用SQLite,所以我决定先学习它。但我的问题仍然是,SQL命令与SQLite非常相似,还是我应该在SQLite之前学习它?_Sql_Sqlite - Fatal编程技术网

先学什么,SQLite还是SQL? 我将在C++中使用SQLite,所以我决定先学习它。但我的问题仍然是,SQL命令与SQLite非常相似,还是我应该在SQLite之前学习它?

先学什么,SQLite还是SQL? 我将在C++中使用SQLite,所以我决定先学习它。但我的问题仍然是,SQL命令与SQLite非常相似,还是我应该在SQLite之前学习它?,sql,sqlite,Sql,Sqlite,您应该一起学习它们,因为要学习SQL,您需要一个SQL引擎,而SQLite就是这样 请注意,SQLite并没有实现所有的SQL语言,但由于库的简单性,它是学习SQL语言的好地方。一旦您熟悉了SQL(数据定义语言和insert/update/select语句)的基础知识,您就可以开始学习高级概念(事务、触发器等)并且可以转向支持整个SQL语言的完整关系数据库管理系统。我建议先学习标准SQL,再学习SQLite版本的SQL。SQLite允许许多数据库不允许的事情(例如自动类型转换和不完整的GROUP

您应该一起学习它们,因为要学习SQL,您需要一个SQL引擎,而SQLite就是这样


请注意,SQLite并没有实现所有的SQL语言,但由于库的简单性,它是学习SQL语言的好地方。一旦您熟悉了SQL(数据定义语言和insert/update/select语句)的基础知识,您就可以开始学习高级概念(事务、触发器等)并且可以转向支持整个SQL语言的完整关系数据库管理系统。

我建议先学习标准SQL,再学习SQLite版本的SQL。SQLite允许许多数据库不允许的事情(例如自动类型转换和不完整的GROUPBY子句)。此外,SQLite中的所有内容都存储为字符串,但其他版本的SQL并非如此

SQLite和标准SQL中的大多数SQL用法都是相同的,但值得了解陷阱。SQLite让您可以处理标准SQL所不能处理的所有事情。如果您从SQLite开始,那么当您移动到另一个数据库时会遇到很多麻烦。但是,如果您从一个更标准的SQL实现(如PostgreSQL或SQL Server)开始,那么就可以轻松地使用SQLite

您可能希望在学习标准SQL之前/之后/同时学习一些SQLite文档,以便了解其中的差异:

而且,由于您将使用C++中的SQLite:


我不是在批评SQLite。SQLite是一个非常棒的嵌入式数据库,非常适合它的用途。问题是,从一个松散的环境(比如SQLite甚至MySQL)到一个更严格的环境(PostgreSQL、SQL Server、Oracle等等),可能是困难和令人沮丧的。从标准(或“正确”)的方式开始可能会减轻一些痛苦。

这个问题没有意义。SQLite是一个SQL数据库。一旦掌握了SQLite,应该很容易发现它与其他SQL DBMS的区别,反之亦然。许多SQL命令应该在SQLite和成熟的、基于服务器的SQL解决方案上以相同的方式运行@马特·鲍尔,这对你来说可能没有意义,因为你两方面都知道,但很明显,OP.@马特·鲍尔的情况并非如此。OP可能认为“SQL”是“SQLServer”的同义词。实际上不是。但我怀疑OP就是这个意思。很明显,OP正在权衡他或她的选择,即轻量级SQLite SQL子集与传统的全功能RDBMS