J'ai inséré une donnée dans une table .... Je veux voir maintenant une table entière avec des lignes et des colonnes et des données. Comment puis-je l'afficher via la commande?
la source
J'ai inséré une donnée dans une table .... Je veux voir maintenant une table entière avec des lignes et des colonnes et des données. Comment puis-je l'afficher via la commande?
psql -U username -d mydatabase -c 'SELECT * FROM mytable'
Si vous débutez avec postgresql et que vous n'êtes pas familier avec l'utilisation de l'outil de ligne de commande, psql
vous devez être conscient du comportement déroutant lorsque vous avez ouvert une session interactive.
Par exemple, lancez une session interactive:
psql -U username mydatabase
mydatabase=#
À ce stade, vous pouvez saisir directement une requête, mais vous devez vous rappeler de terminer la requête par un point-virgule;
Par exemple:
mydatabase=# SELECT * FROM mytable;
Si vous oubliez le point-virgule, lorsque vous appuyez sur Entrée, vous n'obtiendrez rien sur votre ligne de retour, car psql
vous supposerez que vous n'avez pas terminé de saisir votre requête. Cela peut entraîner toutes sortes de confusion. Par exemple, si vous ressaisissez la même requête, vous devrez très probablement créer une erreur de syntaxe.
À titre expérimental, essayez de taper n'importe quel brouillage souhaité à l'invite psql, puis appuyez sur Entrée. psql
vous fournira en silence une nouvelle ligne. Si vous entrez un point-virgule sur cette nouvelle ligne, puis appuyez sur Entrée, vous recevrez l'ERREUR:
mydatabase=# asdfs
mydatabase=# ;
ERROR: syntax error at or near "asdfs"
LINE 1: asdfs
^
La règle générale est la suivante: si vous n'avez reçu aucune réponse de psql
mais que vous vous attendiez à au moins QUELQUE CHOSE, vous avez oublié le point-virgule;
--single-line
(ou-s
) qui rend chaque commande immédiate sans avoir besoin d'ajouter un point-virgule.où
my_table
est le nom de votre table.ÉDITER:
ou tout simplement
psql
puis tapez vos requêtes.la source
psql -U username -c your_database "SELECT * FROM my_table"
cmd.exe /c chcp 1252
après avoir ouvert l'invite de la console.psql: FATAL: database "SELECT * FROM tb_name" does not exist
Si votre base de données est protégée par mot de passe, la solution serait:
la source
Ouvrez "SQL Shell (psql)" à partir de vos applications (Mac).
Cliquez sur Entrée pour les paramètres par défaut. Entrez le mot de passe lorsque vous y êtes invité.
*) Type
\?
d'aide*) Tapez
\conninfo
pour voir sous quel utilisateur vous êtes connecté.*) Tapez
\l
pour voir la liste des bases de données.*) Connectez-vous à une base de données par
\c <Name of DB>
exemple\c GeneDB1
Vous devriez voir la modification de l'invite de clé dans la nouvelle base de données, comme suit:
*) Maintenant que vous êtes dans une base de données donnée, vous voulez connaître les schémas de cette base de données. La meilleure commande pour ce faire est
\dn
.D'autres commandes qui fonctionnent également (mais pas aussi bien) sont
select schema_name from information_schema.schemata;
etselect nspname from pg_catalog.pg_namespace;
:-) Maintenant que vous avez les schémas, vous voulez connaître les tables de ces schémas. Pour cela, vous pouvez utiliser la
dt
commande. Par exemple\dt "GeneSchema1".*
*) Vous pouvez maintenant faire vos requêtes. Par exemple:
*) Voici à quoi ressemblent la base de données, le schéma et les tables ci-dessus dans pgAdmin:
la source
La même requête est écrite comme ci-dessous pour l'invite de commande psql de postgres.
D: \ TOOLS \ Postgresql-9.4.1-3 \ bin> psql -U postgres -d DatabaseName -h localhost - t -c "Sélectionnez u. \" UserName \ "parmi les utilisateurs u Où u. \" UserId \ "= 1;
la source
Je n'ai aucun doute sur la réponse @Grant. Mais je suis parfois confronté à quelques problèmes, comme si le nom de la colonne est similaire à n'importe quel mot clé réservé de postgresql tel que natural dans ce cas, un SQL similaire est difficile à exécuter à partir de la ligne de commande car "\ natural \" sera nécessaire dans le champ Query. Mon approche consiste donc à écrire le SQL dans un fichier séparé et à exécuter le fichier SQL à partir de la ligne de commande. Cela a aussi un autre avantage. Si vous devez modifier la requête d'un grand script, vous n'avez pas besoin de toucher le fichier de script ou la commande. Modifiez uniquement le fichier SQL comme ceci
la source
J'ai également remarqué que la requête
donne une erreur sur l'invite de commande psql et
fonctionne bien, vraiment étrange, alors n'oubliez pas les guillemets doubles. J'ai toujours aimé les bases de données :-(
la source
Pour un type particulier d'instructions, vous pouvez trouver plus approprié à utiliser
Azure Data Studio
- pour tout le reste, il est livré avec une ligne de commande intégrée. En utilisant le studio, vous pouvez trouver les instructions de frappe et la lecture du résultat plus confortables.Suivez les étapes ci-dessous:
Connectez-vous à votre serveur local ou distant:
Concentrez-vous sur l'écriture et l'exécution de SQL uniquement:
Il existe de nombreuses fonctionnalités intéressantes telles que l'enregistrement des connexions, la création de groupes de serveurs et même le terminal intégré si vous êtes plus à l'aise d'effectuer une tâche via le
psql
.la source