我上传了一个名为factbook.db的sqlite数据库文件。 在笔记本中,我从以下内容开始:
from google.colab import drive
drive.mount('/content/drive')
my_path = '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1/'
%%capture
%load_ext sql
%sql sqlite:///my_path + factbook.db
之后,我想查看表列表:
%%sql
SELECT * FROM sqlite_master WHERE type='table';
但是它显示:
sqlite:///factbook.db
sqlite:///my_path
Done.
type name tbl_name rootpage sql
我什至尝试将文件从额外的文件夹中移出并粘贴到“我的云端硬盘”中。但这也不起作用。
我运行了这个查询:
%%sql
SELECT *
FROM facts
LIMIT 5;
但这显示了这一点:
* sqlite:///factbook.db
sqlite:///my_path
(sqlite3.OperationalError) no such table: facts
[SQL: SELECT *
FROM facts
LIMIT 5;]
(Background on this error at: http://sqlalche.me/e/e3q8)
谢谢。
答案 0 :(得分:0)
您的命令在这里无效。
%sql sqlite:///my_path + factbook.db
它不会连接字符串。您应该先使用当前目录对其进行测试。
!cp '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1/factbook.db' /content
%sql sqlite:////content/factbook.db
首先检查它是否起作用,然后尝试更改目录。 如果很难逃脱空间,则可以创建一个符号链接使其更容易。
!ln -s '/content/drive/My Drive/Analyzing_CIA_Factbook_Data_Using SQL_1' /content/sql