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
|
||||
|
||||
### Créer
|
||||
|
||||
Créer une nouvelle base de données nommée _foo_ :
|
||||
|
||||
~~~{.sql}
|
||||
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 :
|
||||
|
||||
~~~{.sql}
|
||||
|
@ -229,63 +253,49 @@ Voir les tables créées :
|
|||
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 :
|
||||
|
||||
~~~{.sql}
|
||||
mysql> DESC bar;
|
||||
~~~
|
||||
|
||||
Ajouter un champ à une table :
|
||||
Sélectionner tous les champs d'une table :
|
||||
|
||||
~~~{.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}
|
||||
mysql> ALTER TABLE bar ADD another VARCHAR(100) DEFAULT NULL AFTER prenom;
|
||||
~~~{ .sql }
|
||||
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 :
|
||||
|
||||
~~~{.sql}
|
||||
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 :
|
||||
|
||||
~~~{.sql}
|
||||
|
@ -322,30 +332,9 @@ Supprimer un accès (utilisateur) :
|
|||
mysql> DROP USER 'user'@'localhost';
|
||||
~~~
|
||||
|
||||
Lancer des commandes bash depuis l'invite de commande :
|
||||
### Renommer
|
||||
|
||||
~~~{ .sql }
|
||||
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
|
||||
#### Base
|
||||
|
||||
- Créer une base vide
|
||||
- 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
|
||||
On crée une base de données et un utilisateur associé :
|
||||
|
|
Loading…
Reference in New Issue