studio - sqlite manager




Apertura de archivo de base de datos desde el shell de línea de comandos de SQLite (5)

Creo que la forma más sencilla de abrir una única base de datos y comenzar a consultar es:

sqlite> .open "test.db"
sqlite> SELECT * FROM table_name ... ;

Aviso: Esto funciona solo para las versiones 3.8.2+

Estoy usando el shell de línea de comandos de SQLite . Tal como está documentado, puedo abrir una base de datos suministrándola como argumento para el ejecutable:

sqlite3 data.db

No puedo averiguar cómo abrir un archivo de base de datos desde la herramienta después de haberlo invocado sin proporcionar el archivo como un argumento de línea de comandos (si, por ejemplo, hago doble clic en sqlite3.exe en Windows). ¿Cuál es el comando dentro de la herramienta de shell SQLite para especificar un archivo de base de datos?


De la misma manera que lo hace en otro sistema db, puede usar el nombre de la base de datos para identificar tablas nombradas dobles. los nombres de tablas únicos pueden usarse directamente.

select * from ttt.table_name;

o si el nombre de la tabla en todas las bases de datos adjuntas es único

select * from my_unique_table_name;

Pero creo que el uso de sqlite-shell es solo para la búsqueda manual o la manipulación manual de datos y, por lo tanto, de esta manera es más inconsecuente

normalmente usaría sqlite-command-line en un script


Me pregunto por qué nadie fue capaz de obtener lo que realmente hizo la pregunta. Estableció ¿Cuál es el comando dentro de la herramienta de shell SQLite para especificar un archivo de base de datos?

Un sqlite db está en mi disco duro E:\ABCD\efg\mydb.db ¿Cómo accedo a él con la interfaz de línea de comando sqlite3? .open E:\ABCD\efg\mydb.db no funciona. Esto es lo que preguntamos.

Encontré que la mejor manera de hacer el trabajo es

  • copiar y pegar todos sus archivos db en 1 directorio (digamos E:\ABCD\efg\mydbs )
  • cambiar a ese directorio en su línea de comando
  • ahora abre sqlite3 y luego .open mydb.db

De esta forma, también puede hacer la operación de join en diferentes tablas que pertenecen a diferentes bases de datos.


Puede adjuntar una o más bases de datos y trabajar con ella de la misma manera que con sqlite dbname.db

sqlite3
:
sqlite> attach "mydb.sqlite" as db1;

y puede ver todas las bases de datos adjuntas con .databases

donde de manera normal, el principal se utiliza para la línea de comando db

.databases
seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main                                                                       
1    temp                                                                       
2    ttt              c:\home\user\gg.ite                                   

create different db files using
      >sqlite3 test1.db
sqlite> create table test1 (name text);
sqlite> insert into test1 values('sourav');
sqlite>.exit
      >sqlite3 test2.db
sqlite> create table test2 (eid integer);
sqlite> insert into test2 values (6);
sqlite>.exit
      >sqlite
SQLite version 3.8.5 2014-06-04 14:06:34
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open test1.db
sqlite> select * from test1;
sourav
sqlite> .open test2.db
sqlite> select * from test1;
Error: no such table: test1
sqlite> select * from test2;
6
sqlite> .exit
      >

Thank YOU.




sqlite3