Aller au contenu

Tables:

Voir les tables de la base courante:

mysql [database]> SHOW TABLES;

MariaDB [wordpress]> SHOW TABLES;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.003 sec)

Structure d’une table:

mysql [database]> DESCRIBE table;

MariaDB [wordpress]> DESCRIBE wp_terms;
+------------+---------------------+------+-----+---------+----------------+
| Field      | Type                | Null | Key | Default | Extra          |
+------------+---------------------+------+-----+---------+----------------+
| term_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | varchar(200)        | NO   | MUL |         |                |
| slug       | varchar(200)        | NO   | MUL |         |                |
| term_group | bigint(10)          | NO   |     | 0       |                |
+------------+---------------------+------+-----+---------+----------------+
4 rows in set (0.006 sec)

Renommer une table:

mysql [database]> ALTER TABLE table AS new_table;

MariaDB [zenphoto]> ALTER TABLE _tags RENAME AS _new-tags;

Créer une table:

mysql [database]> CREATE TABLE table;

MariaDB [mydatabase]> CREATE TABLE animal (nom VARCHAR(20), maitre VARCHAR(20), espece VARCHAR(20), sexe CHAR(1), naissance DATE, mort DATE);
Query OK, 0 rows affected (0.138 sec)

Charger des données dans une table:

mysql [database]> INSERT INTO table VALUES ('','');

MariaDB [mydatabase]> INSERT INTO animal VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Query OK, 1 row affected (0.012 sec)

mysql [database]> LOAD DATA LOCAL INFILE "file.txt" INTO TABLE table;

MariaDB [mydatabase]> LOAD DATA LOCAL INFILE "evenements.txt" INTO TABLE evenement;
Query OK, 11 rows affected, 3 warnings (0.017 sec)
Records: 11  Deleted: 0  Skipped: 0  Warnings: 3

Le fichier .txt doit être dans le dossier qui contient les tables:

/opt/homebrew/var/mysql/mydatabase master                                                                                                            13:26:16
❯ ls -la
total 208
drwx------  8 bruno admin   256 sep  6 13:26 .
drwxr-xr-x 18 bruno admin   576 sep  4 08:00 ..
-rw-rw----  1 bruno admin   741 sep  4 09:17 animal.frm
-rw-rw----  1 bruno admin 98304 sep  4 09:17 animal.ibd
-rw-rw----  1 bruno admin    67 sep  4 08:00 db.opt
-rw-rw----  1 bruno admin  1377 sep  6 11:18 evenement.frm
-rw-rw----  1 bruno admin 98304 sep  6 11:18 evenement.ibd
-rw-r--r--  1 bruno admin   529 sep  6 13:26 evenements.txt

Vérification des tables :

2 solutions:

1) CHECK TABLE table;

MariaDB [wordpress]> CHECK TABLE wp_terms;
+--------------------+-------+----------+----------+
| Table              | Op    | Msg_type | Msg_text |
+--------------------+-------+----------+----------+
| wordpress.wp_terms | check | status   | OK       |
+--------------------+-------+----------+----------+
1 row in set (0.008 sec)

2) mysqlcheck

mysqlcheck verrouille chaque table en lecture seule (la base est alors inaccessible pour les autres processus pendant ce temps) pour vérification ou réparation.

❯ mysqlcheck -u root -ppassword wordpress
wordpress.wp_commentmeta                           OK
wordpress.wp_comments                              OK
wordpress.wp_links                                 OK
wordpress.wp_options                               OK
wordpress.wp_postmeta                              OK
wordpress.wp_posts                                 OK
wordpress.wp_term_relationships                    OK
wordpress.wp_term_taxonomy                         OK
wordpress.wp_termmeta                              OK
wordpress.wp_terms                                 OK
wordpress.wp_usermeta                              OK
wordpress.wp_users                                 OK

Optimiser:

Les bases InnoDB ne supportent pas l’option OPTIMIZE.

A la place,MySQL crée une nouvelle table, y copie toutes les lignes, efface l’ancienne table, renomme la nouvelle et lance ANALYSE

❯ mysqlcheck -u root -psncfp1p2 -o --all-databases
mysql.column_stats                                 Table is already up to date
mysql.columns_priv                                 Table is already up to date
mysql.db                                           OK
mysql.event                                        Table is already up to date
...
wordpress.wp_commentmeta
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wordpress.wp_comments
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK
wordpress.wp_links
note     : Table does not support optimize, doing recreate + analyze instead
status   : OK

Dernière mise à jour: September 15, 2021