Apparence
Tables et colonnes
Faites un clic droit sur une table et choisissez Ouvrir la structure, ou faites un clic droit sur une base et choisissez + Nouvelle table pour en créer une.
Les onglets de structure
| Onglet | Contenu |
|---|---|
| Colonnes | Nom, type, nullable, clé primaire, valeur par défaut, commentaire, auto-incrément, collation, on update, extra |
| Index | Nom, colonnes, indicateur d’unicité, type d’index |
| Clés étrangères | Contraintes référençant d’autres tables |
| SQL | L’instruction CREATE TABLE |
| Options | Moteur, jeu de caractères et autres options au niveau de la table |
Modifier les colonnes
Vous pouvez ajouter une colonne, en supprimer une, modifier la définition d’une colonne existante et définir la clé primaire. Chaque modification est traduite en l’instruction ALTER TABLE correspondante.
Changer le type d’une colonne réécrit les données
Restreindre un type — varchar(255) en varchar(50), bigint en int — peut tronquer ou rejeter des valeurs existantes, et sur une grande table l’opération peut la verrouiller un moment. Vérifiez l’onglet SQL et essayez d’abord sur une copie. Dupliquer dans le menu contextuel de la table vous donne cette copie.
Types de colonnes et versions du serveur
La liste des types dans l’éditeur de structure, dans + Nouvelle table et dans l’assistant d’import suit le serveur auquel vous êtes connecté. NabuSQL lit la version propre du serveur, de sorte qu’un serveur MariaDB enregistré comme connexion MySQL est quand même reconnu, et un type que le serveur ne possède pas n’est pas proposé :
| Type | MariaDB | MySQL |
|---|---|---|
JSON | 10.2.7 et ultérieur | 5.7.8 et ultérieur |
INET6 | 10.5 et ultérieur | — |
UUID | 10.7 et ultérieur | — |
INET4 | 10.10 et ultérieur | — |
VECTOR | 11.7 et ultérieur | 9.0 et ultérieur |
XMLTYPE | 12.3 et ultérieur | — |
UUID, INET4, INET6 et XMLTYPE ne prennent pas de longueur, le champ longueur reste donc désactivé pour eux. VECTOR en exige une — le nombre de dimensions, par ex. VECTOR(384). Le champ type de + Nouvelle table accepte toujours tout ce que vous saisissez, pour les types que la liste ne connaît pas.
Les tables avec historique des lignes peuvent être modifiées ici comme les autres.
Index
Ajoutez un index sur une ou plusieurs colonnes et marquez-le unique lorsque les données l’exigent. Les index accélèrent les lectures et ralentissent les écritures ; ajoutez-les parce qu’une requête en a besoin, et vérifiez avec le profileur que la requête l’utilise réellement.
Opérations sur les tables
Depuis le menu contextuel d’une table :
| Action | Effet |
|---|---|
| Renommer la table | Demande le nouveau nom |
| Copier la table | La copie dans le presse-papiers, pour la coller dans une autre base de la même connexion |
| Dupliquer | Crée une copie dans la même base |
| Importer dans la table | Ouvre l’assistant d’import |
| Dump en fichier SQL ▸ | Structure et données, structure uniquement, ou structure + un échantillon des lignes |
| Tronquer (réinit. AI) | Supprime toutes les lignes et réinitialise l’auto-incrément |
| Vider (DELETE FROM) | Supprime toutes les lignes, conserve le compteur d’auto-incrément |
| Supprimer la table | Supprime entièrement la table |
Les trois dernières demandent confirmation et nomment la table dans la question. Tronquer et vider ne diffèrent que par le compteur — si la ligne suivante doit continuer l’ancienne numérotation, utilisez Vider.
Sélectionnez plusieurs tables et le menu propose Supprimer N tables. Sur le nœud de groupe Tables, vous pouvez copier toutes les tables à la fois, coller une table copiée ou les supprimer toutes.
Copier des tables entre bases
Copier la table puis Coller la table sur la base cible fonctionne au sein d’une même connexion. Entre connexions — ou entre moteurs — utilisez le transfert de données, qui gère les différences de types.
