ordre
This commit is contained in:
parent
70878b936a
commit
d4612ba20c
134
HowtoMySQL.md
134
HowtoMySQL.md
|
@ -205,12 +205,36 @@ Le répertoire `/var/log/mysql/` contient les *binlogs* (trace de toutes les req
|
||||||
|
|
||||||
## Utilisation courante
|
## Utilisation courante
|
||||||
|
|
||||||
|
### Créer
|
||||||
|
|
||||||
Créer une nouvelle base de données nommée _foo_ :
|
Créer une nouvelle base de données nommée _foo_ :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
mysql> CREATE DATABASE foo;
|
mysql> CREATE DATABASE foo;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
Créer une table nommée _bar_ avec différents champs :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> CREATE TABLE bar (id INT not null AUTO_INCREMENT, prenom VARCHAR
|
||||||
|
(50) not null , nom VARCHAR (50) not null , ne_le DATE not null ,
|
||||||
|
ville VARCHAR (90), enfants INT, PRIMARY KEY (id));
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Ajouter un champ à une table :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> ALTER TABLE bar ADD another VARCHAR(100) DEFAULT NULL;
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Ajouter un champ à une table en précisant sa place :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> ALTER TABLE bar ADD another VARCHAR(100) DEFAULT NULL AFTER prenom;
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Lister
|
||||||
|
|
||||||
Voir les bases de données créées :
|
Voir les bases de données créées :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
|
@ -229,63 +253,49 @@ Voir les tables créées :
|
||||||
mysql> SHOW TABLES;
|
mysql> SHOW TABLES;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Créer une table nommée _bar_ avec différents champs :
|
|
||||||
|
|
||||||
~~~{.sql}
|
|
||||||
mysql> CREATE TABLE bar (id INT not null AUTO_INCREMENT, prenom VARCHAR
|
|
||||||
(50) not null , nom VARCHAR (50) not null , ne_le DATE not null ,
|
|
||||||
ville VARCHAR (90), enfants INT, PRIMARY KEY (id));
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Décrire une table :
|
Décrire une table :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
mysql> DESC bar;
|
mysql> DESC bar;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Ajouter un champ à une table :
|
Sélectionner tous les champs d'une table :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
mysql> ALTER TABLE bar ADD another VARCHAR(100) DEFAULT NULL;
|
mysql> SELECT * FROM bar;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Ajouter un champ à une table en précisant sa place :
|
Lancer des commandes bash depuis l'invite de commande :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{ .sql }
|
||||||
mysql> ALTER TABLE bar ADD another VARCHAR(100) DEFAULT NULL AFTER prenom;
|
mysql> \! ls -l
|
||||||
|
-rw-r----- 1 user user 208774 Jan 11 14:31 dump_base.sql
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
Lister les droits pour tous les accès MySQL créés :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# mysql -e "select concat('\'',User,'\'@\'',Host,'\'') as '' from mysql.user" | sort | \
|
||||||
|
( while read user; do [ -z "$user" ] && continue; echo "-- $user :"; mysql -e "show grants for $user"; done )
|
||||||
|
|
||||||
|
-- 'accesbase'@'localhost' :
|
||||||
|
Grants for accesbase@localhost
|
||||||
|
GRANT USAGE ON *.* TO 'accesbase'@'localhost' IDENTIFIED BY PASSWORD '*XXXX'
|
||||||
|
GRANT ALL PRIVILEGES ON `base`.* TO 'accesbase'@'localhost'
|
||||||
|
~~~
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# mysql -e "select * from information_schema.user_privileges;"
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Supprimer
|
||||||
|
|
||||||
Supprimer un champ à une table :
|
Supprimer un champ à une table :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
mysql> ALTER TABLE bar DROP another;
|
mysql> ALTER TABLE bar DROP another;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Renommer un champ :
|
|
||||||
|
|
||||||
~~~{.sql}
|
|
||||||
mysql> ALTER TABLE bar CHANGE COLUMN another anotherone TEXT;
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Changer le type d'un champ :
|
|
||||||
|
|
||||||
~~~{.sql}
|
|
||||||
mysql> ALTER TABLE bar CHANGE another another enum('foo',bar');
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Insertion de données dans une table :
|
|
||||||
|
|
||||||
~~~{.sql}
|
|
||||||
mysql> INSERT INTO bar VALUES (1,'jp','papin','2005-06-12','Marseille',2);
|
|
||||||
INSERT INTO test (id,prenom,nom,ne_le) VALUES (2,'c','waddle','2004-06-17');
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Sélectionner tous les champs d'une table :
|
|
||||||
|
|
||||||
~~~{.sql}
|
|
||||||
mysql> SELECT * FROM bar;
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Effacer des données d'une table :
|
Effacer des données d'une table :
|
||||||
|
|
||||||
~~~{.sql}
|
~~~{.sql}
|
||||||
|
@ -322,30 +332,9 @@ Supprimer un accès (utilisateur) :
|
||||||
mysql> DROP USER 'user'@'localhost';
|
mysql> DROP USER 'user'@'localhost';
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
Lancer des commandes bash depuis l'invite de commande :
|
### Renommer
|
||||||
|
|
||||||
~~~{ .sql }
|
#### Base
|
||||||
mysql> \! ls -l
|
|
||||||
-rw-r----- 1 user user 208774 Jan 11 14:31 dump_base.sql
|
|
||||||
~~~
|
|
||||||
|
|
||||||
Lister les droits pour tous les accès MySQL créés :
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# mysql -e "select concat('\'',User,'\'@\'',Host,'\'') as '' from mysql.user" | sort | \
|
|
||||||
( while read user; do [ -z "$user" ] && continue; echo "-- $user :"; mysql -e "show grants for $user"; done )
|
|
||||||
|
|
||||||
-- 'accesbase'@'localhost' :
|
|
||||||
Grants for accesbase@localhost
|
|
||||||
GRANT USAGE ON *.* TO 'accesbase'@'localhost' IDENTIFIED BY PASSWORD '*XXXX'
|
|
||||||
GRANT ALL PRIVILEGES ON `base`.* TO 'accesbase'@'localhost'
|
|
||||||
~~~
|
|
||||||
|
|
||||||
~~~
|
|
||||||
# mysql -e "select * from information_schema.user_privileges;"
|
|
||||||
~~~
|
|
||||||
|
|
||||||
### Renommer une base
|
|
||||||
|
|
||||||
- Créer une base vide
|
- Créer une base vide
|
||||||
- Renommer toutes les tables vers cette dernière (utilisation script ci-dessous)
|
- Renommer toutes les tables vers cette dernière (utilisation script ci-dessous)
|
||||||
|
@ -355,6 +344,29 @@ BASE_FROM=bf_griffe16; BASE_TO=bf_griffe16_old
|
||||||
for table in $(mysql -e "use $BASE_FROM; show tables\G;" | grep -v '^\*\*\*' | cut -d':' -f2 | sed 's/^ //'); do echo $table; mysql -e "RENAME TABLE ${BASE_FROM}.${table} TO ${BASE_TO}.${table};"; done
|
for table in $(mysql -e "use $BASE_FROM; show tables\G;" | grep -v '^\*\*\*' | cut -d':' -f2 | sed 's/^ //'); do echo $table; mysql -e "RENAME TABLE ${BASE_FROM}.${table} TO ${BASE_TO}.${table};"; done
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
#### Table
|
||||||
|
|
||||||
|
Renommer un champ :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> ALTER TABLE bar CHANGE COLUMN another anotherone TEXT;
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Changer le type d'un champ :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> ALTER TABLE bar CHANGE another another enum('foo',bar');
|
||||||
|
~~~
|
||||||
|
|
||||||
|
### Insérer
|
||||||
|
|
||||||
|
Insertion de données dans une table :
|
||||||
|
|
||||||
|
~~~{.sql}
|
||||||
|
mysql> INSERT INTO bar VALUES (1,'jp','papin','2005-06-12','Marseille',2);
|
||||||
|
INSERT INTO test (id,prenom,nom,ne_le) VALUES (2,'c','waddle','2004-06-17');
|
||||||
|
~~~
|
||||||
|
|
||||||
## Administration
|
## Administration
|
||||||
|
|
||||||
On crée une base de données et un utilisateur associé :
|
On crée une base de données et un utilisateur associé :
|
||||||
|
|
Loading…
Reference in a new issue