我正在学习 MySQL,这可能是我可以问的最基本问题,但我想确保我理解语法。
我有一个 MySQL 脚本,它创建了三个不同的数据库。如果我想从特定数据库的表中选择所有字段,我会使用
SELECT * from database1.table1
正确吗?或者只是
SELECT * from table1
如果我只想从另一个表中选择两个字段,会是
SELECT field1, field2 from database1.table2
还是只是表名?
最佳答案
这两种形式实际上都很好。在 SQL 中,您可以限定名称以显式指定数据库对象所在的位置。例如,如果您有一个处于 2 个不同模式的 table2(顺便说一句,这是正确的术语,而不是“数据库”),这非常有用。
正如前面提到的,您可以设置默认架构,以避免一直向引用(如 table2)添加架构。如果没有给出模式,则将采用默认模式(使用USE schema
命令设置)。如果您愿意,您仍然可以使用显式模式(设置为默认模式或任何其他模式)。当您想要访问不在默认架构中的对象时,这将有所帮助。
关于MySQL 从特定表中选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923440/