我从 SQL 开始。我正在使用sqlit数据库学习它。
在练习创建表时,我注意到即使我没有定义任何数据类型,也会创建一个表,并且我能够执行所有插入和选择命令。
此外,如果我将所有数据类型定义为 varchar,它也能正常工作。
请告诉我这是正确的方法吗?
最佳答案
SQL标准定义了字段类型,每种类型都有不同的操作可用,所以不,将所有设置为varchar不是正确的方法。
另一方面,SQLite 使用不同的类型系统,实际上它类似于动态类型语言,其中类型与值相关联,而不是与变量相关联。在 SQLite 中,您可以将整数存储在声明为 varchar 的字段中,它不仅可以工作,而且请记住它是一个整数并作为整数进行操作。
对于嵌入式库来说,它是一个非常实用的系统,但偏离了标准,所以如果你想学习“SQL”,那么最好不要依赖SQLite的特性。
关于mysql - SQL:如果用户没有为属性定义任何数据类型或将所有数据类型保留为 varchar 怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194471/