J'ai la commande suivante SQL que je lance habituellement dans phpmyadmin en sélectionnant la base de données, puis en l'exécutant dans la fenêtre de commande.
DELETE FROM `wp_posts` WHERE `post_type` = "attachment"
Cependant, je n'ai jamais fait cela via un terminal auparavant. Ma question est la suivante: comment "pointer" cette commande vers une base de données spécifique puis l'exécuter?
Pour que vous puissiez l’exécuter depuis un terminal, vous devez d’abord être connecté à mysql, puis vous exécutez votre programme. Le code idéal serait
mysql -u(username) -p(password) (the name of the database) -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment""
Je suis sûr que ça marche, j'espère que ça aide
Je pense que vous avez oublié votre nom d'utilisateur pour MySQL. veuillez donc entrer le nom d'utilisateur et le mot de passe corrects lorsque vous tapez la commande mysql. pour par exemple
$ mysql -u root -p
Enter Password:
Remarque: Le nom d'utilisateur et le mot de passe par défaut sont root
Il suffit de taper la commande suivante dans terminal pour utiliser l'interpréteur mysql:
mysql -u root -p nom de la base de données
Entrez votre mot de passe, vous pourrez alors exécuter vos commandes mysql.
Une autre façon consiste à utiliser:
mysql -u root -p nom de la base de données << eof SUPPRIMER DE `wp_posts` WHERE` post_type` = "attachment" eof
Essaye ça:
mysql --Host *Host_IP* --user *USER* --password=*PASSWORD* -D *DATABASE_NAME* -e "DELETE FROM `wp_posts` WHERE `post_type` = "attachment" ;
Utilisation du client MySQL CLI.
$ mysql -u <user> -p
mysql> use <your-database>
mysql> DELETE FROM `wp_posts` WHERE `post_type` = "attachment"
Notez que j'utilise -u
et le nom d'utilisateur, mais dans -p
, je ne mets rien. MySQL vous demandera votre mot de passe.
Et si vous essayez de l'utiliser en ligne, vous pouvez utiliser
$ mysql -u <user> -p <your-database> -e "DELETE FROM `wp_posts` WHERE `post_type` = 'attachment'"
Ici, remarquez que j'utilise aussi l'argument -e
. Il représente execute .
Pro tip
Dans le client MySQL, vous pouvez utiliser:
mysql> show databases;
si vous voulez voir toutes les dabatases sur votre serveur. Et vous pouvez utiliser:
mysql> use <database>;
mysql> show tables;
si vous voulez voir toutes les tables dans une base de données.
J'utilise $
et mysql>
comme invites, $
signifie votre terminal Linux et mysql>
, client MySQL.