Estou usando o SQLite Command Line Shell . Conforme documentado, posso abrir um banco de dados fornecendo-o como um argumento para o executável:
sqlite3 data.db
Não consigo descobrir como abrir um arquivo de banco de dados de dentro da ferramenta depois de invocá-lo sem fornecer o arquivo como um argumento de linha de comando (se eu, digamos, clicar duas vezes em sqlite3.exe no Windows). Qual é o comando dentro da ferramenta de shell SQLite para especificar um arquivo de banco de dados?
SELECT * FROM db1.tbl1;
Acho que a maneira mais simples de apenas abrir um único banco de dados e começar a consultar é:
Aviso: Isso funciona apenas para as versões 3.8.2+
fonte
O comando dentro do shell Sqlite para abrir um banco de dados é .open
A sintaxe é,
Se for um novo banco de dados que você gostaria de criar e abrir, é
Se o banco de dados existir em uma pasta diferente, o caminho deve ser mencionado assim:
No shell do Windows Command, você deve usar '\' para representar um diretório, mas nos diretórios SQLite são representados por '/'. Se você ainda preferir usar a notação do Windows, deve usar uma sequência de escape para cada '\'
fonte
Da mesma forma que você faz em outro sistema de banco de dados, você pode usar o nome do banco de dados para identificar tabelas com nomes duplos. tablenames exclusivos podem ser usados diretamente.
ou se o nome da tabela em todos os bancos de dados anexados é exclusivo
Mas eu acho que o de sqlite-shell é apenas para pesquisa manual ou manipulação manual de dados e, portanto, desta forma é mais inconseqüente
normalmente você usaria a linha de comando sqlite em um script
fonte
Você pode simplesmente especificar o nome do arquivo de banco de dados na linha de comando:
Além disso, você pode executar sua consulta na linha de comando:
Você pode anexar outro arquivo de banco de dados do shell SQLite:
As tabelas desta 2ª base de dados estarão acessíveis via prefixo da base de dados:
Mas quem sabe como especificar vários arquivos de banco de dados na linha de comando para executar a consulta na linha de comando?
fonte
fonte
Os shells de linha de comando SQLite mais antigos (
sqlite3.exe
) não parecem oferecer o.open
comando ou qualquer alternativa prontamente identificável.Embora eu não tenha encontrado nenhuma referência definitiva, parece que o
.open
comando foi introduzido por volta da versão 3.15 . O SQLite Release History menciona primeiro o.open
comando com 2016-10-14 (3.15.0).fonte
Eu me pergunto por que ninguém foi capaz de entender o que a pergunta realmente perguntou. Ele declarou qual é o comando dentro da ferramenta de shell SQLite para especificar um arquivo de banco de dados?
Um banco de dados sqlite está no meu disco rígido
E:\ABCD\efg\mydb.db
. Como faço para acessá-lo com a interface de linha de comando sqlite3?.open E:\ABCD\efg\mydb.db
não funciona. Esta é a pergunta feita.Eu descobri que a melhor maneira de fazer o trabalho é
E:\ABCD\efg\mydbs
)sqlite3
e então.open mydb.db
Desta forma, você também pode fazer a operação de junção em diferentes tabelas pertencentes a diferentes bancos de dados.
fonte
E:
primeiro? Muitas vezes, o Windows não gosta de fazer referência a diretórios em outras unidades sem alterar a letra você mesmo.