web-dev-qa-db-fra.com

Créer une base de données sqlite3 à l'invite

J'ai essayé d'utiliser les commandes suivantes pour créer un fichier de base de données à l'invite, mais aucune d'entre elles ne fonctionnerait.

$ sqlite3 test.db
sqlite3 test.db
test.db

faut-il un point-virgule à la fin ou est-ce si difficile de créer un fichier de base de données à l'aide de l'invite sqlite3?

Modifier:

Lorsque je lance l’invite sqlite3, je reçois

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

quand tapez "sqlite3 test.db" je reçois,

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> sqlite3 test.db
   ...>

où devrait être le fichier test.db sur le disque?

21
user15432

Si vous voulez un fichier .db vierge, utilisez simplement:

touch stuff.db
26
Oswaldo Ferreira

Je pense que le problème peut en réalité être que le fichier ne semble pas avoir été créé sur le disque avant d'avoir exécuté une telle action telle que CREATE TABLE.

mes actions:

C:\path\to\sqlite3.exe test.db
SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit

aucun fichier n'a été créé.

Ensuite:

C:\path\to\sqlite3.exe test.db

SQLite version 3.7.13 2012-06-11 02:05:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t1(t1key integer);
sqlite> .quit

Le fichier apparaît!

11
J Webb

Pour les futurs lecteurs, cela provient du site SQLite.org et fonctionne pour moi:

SQLite version 3.8.5 2014-05-29 12:36:14
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open ex1.db
sqlite>

L'exemple ci-dessus provoque l'ouverture et l'utilisation du fichier de base de données nommé "ex1.db" et sa création s'il n'existait pas auparavant. Vous voudrez peut-être utiliser un chemin d'accès complet pour vous assurer que le fichier se trouve dans le répertoire dans lequel vous pensez qu'il se trouve. Utilisez des barres obliques comme caractère de séparation de répertoire. En d’autres termes, utilisez "c: /work/ex1.db" et non "c:\work\ex1.db".

Visitez http://www.sqlite.org/cli.html pour plus de détails.

8
MishaLee

J'espère que ça va aider ..

  1. Aller à l'invite de commande
  2. tapez cd\(appuyez sur entrée)
  3. cd sqlite (appuyez sur enter)
  4. sqlite3 mydb.db (appuyez sur enter)
  5. .databases (appuyez sur enter)
5
Irfan Qureshi

C'est étrange, il suffit de taper 

sqlite3 test.db

Devrait-il créer la base de données sqlite qu’il fait pour moi, affiche-t-il des erreurs?

Quand il utilise cette commande, j'obtiens le résultat suivant

$ sqlite3 test.db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 

Quelle est l'interface de ligne de commande sqlite

En réponse à votre modification, vous devez taper sqlite3 test.db à partir de votre ligne de commande et non à partir de l'invite sqlite.

Lorsque vous le tapez dans l'invite de commande, il crée la base de données dans le répertoire dans lequel vous travaillez et ouvre l'invite de commande sqlite.

3
Rwky

J'ai rencontré le même problème, puis je me suis connecté à l'invite de commande avec le privilège Exécuter en tant qu'administrateur.

3
kns

Vous pouvez créer un fichier de base de données SQLite sous Linux: touch db_name.db 
Si vous voulez exécuter des commandes telles que create table, vous devez ouvrir le fichier de base de données 
d'abord en utilisant: .open db_name.db

2
Thanos Pappas

Ce que vous avez est incorrect:

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> sqlite3 test.db
...>

En particulier la ligne: sqlite> sqlite3 test.db. Il ne correspond pas non plus à votre déclaration: lorsque vous tapez "sqlite3 test.db" je reçois,.

La commande devrait être comme suit:

sqlite3 test.db

Cela vous donnera alors la sortie suivante:

SQLite version 3.20.0 2017-08-01 13:24:15
Enter ".help" for usage hints.
sqlite>

Après cela, vous pouvez taper .databases qui vous montrera le chemin complet vers Votre fichier, puis tapez .quit pour sortir de cette invite. Si vous ne le faites pas à la commande Less .database, le fichier n'est pas créé.

Le fichier sera créé dans le répertoire dans lequel vous avez entré la commande

Cela apparaît clairement ici: sqlite tutoriaspoint

J'espère que cela t'aides.

2
Carlos

J'ai également observé la même chose… .. Lorsque je tape sqlite3 test.db, j'entre l'invite sqlite3. Puis vérifié les bases de données en utilisant la commande .databases. Yahooo !! Il montre le test.db et aussi dans le répertoire, je peux voir le fichier test.db.

Je pense que le fichier de base de données n'est visible qu'après toute opération dans le nouveau fichier de base de données. (Pas certain)

0
Shree Harsha S