Documentation > Commandes > Create

1. Scope

La commande create vous permet de créer un data broker, un master broker, un synsql broker, une table ou un utilisateur.

2. Create databroker

Cette commande vous permet de déclarer un nouveau data broker dans un cluster.

 Syntaxe : create databroker DB_NAME DB_IP DB_PORT DB_USER DB_PASSWORD DATABASE_NAME DATACENTER RACK; 

Après avoir vérifié les arguments, le serveur tente de se connecter au nouveau data broker. S'il n'y parvient pas, la commande échoue. Dans le cas contraire, il ajoute le nouveau data broker au dictionnaire des données.

Immédiatement après la création, le nouveau data broker peut être utilisé par n'importe quel synsql broker pour déployer une table.

Notes.

Vous devez utiliser un compte administrateur pour créer un data broker.

Vous ne pouvez pas déclarer un data broker si vous avez atteint les limites de votre licence.

Le processus de création d'un data broker est décrit au chapitre 6 du guide de l'administrateur.

3° Create masterbroker

Cette commande permet de déclarer un nouveau master broker.

  Syntaxe : create masterbroker MB_NAME MB_IP MB_PORT MB_USER MB_PASSWORD DATABASE_NAME [ using DirName ]; 

Après avoir vérifié les arguments, le serveur tente de se connecter au nouveau data broker. S'il n'y parvient pas, la commande échoue. Dans le cas contraire, il exporte le dictionnaire des données d'un master broker et l'importe dans le nouveau. Le nouveau broker devient opérationnel immédiatement.

Le processus d'import export utilise un fichier temporaire qui sera créé par défaut dans le répertoire /tmp. Si ce répertoire ne convient pas, il faut utiliser l'option 'using DirName' pour en spécifier un autre.

Le processus de création d'un master broker est décrit au chapitre 6 du guide de l'administrateur.

4. Create synsqlbroker

Cette commande permet de déclarer un nouveau synsql broker.

 Syntaxe : create synsqlbroker SB_NAME SB_PORT SB_BACKUP_DIR; 

Le processus de création d'un synsql broker est décrit au chapitre 6 du guide de l'administrateur.

5. Create table

Cette Commande permet de définir une nouvelle table. Il existe deux méthodes de définition. Vous pouvez définir une table en décrivant ses colonnes et leur type via une seule requête. Vous pouvez créer une table vide (empty) et lui adjoindre des colonnes une par une. Cette seconde méthode est obligatoire si la requête de définition de votre table dépasse 4 Ko.

5.1 Créer une table vide

 Syntaxe : create table Table_Name empty; 

Pour définir les colonnes de la table, il faudra ensuite utiliser la commande 'alter table TableName add column...'

Cette façon de créer une table ne permet pas de fournir des instructions de stockage de la table (Moteur de stockage, jeux de caractères, collation).

5.2 Créer une table avec une requête

 Syntaxe : create table Table_Name ( Col_Name Col_Type [ , … ] ); 

Vous pouvez aussi déclarer une clef primaire ou unique ainsi que des clauses NULL ou NOT NULL comme dans l'exemple suivant :

 create table example_1 ( id int primary key not null, col2 varchar(25) not null, col3 varchar(4096) null); 

Les clauses NULL and NOT NULL sont appliquées inconditionnellement.

Pour la clef primaire ou unique, c'est plus compliqué car elle est appliquée segment par segment, pas globalement.
- Si vous décidez que la colonne id ne fait pas partie de la clef de hachage ou si elle en fait partie avec une ou plusieurs autres colonnes, alors vous pourrez avoir deux rangées possédant le même id dans deux segments différents.
- Si vous décidez que la colonne id est la clef de hachage et si vous imposez une gestion consistante des données. alors la clef primaire sera valable pour toute la table. Pour mémoire, la création de données consistantes implique de ne jamais utiliser une formule pour spécifier la valeur d'une colonne de clef de hachage mais d'utiliser la valeur exacte. La clef de hachage de '1 + 1' est en général différente de celle de '2'.

A la suite de la définition des colonnes de la table, vous pouvez ajouter des instructions de stockage. L'exemple qui suit fonctionne

 create example exemple2 (
 first_name varchar(32) NOT NULL,
 last_name varchar(32) NOT NULL,
 key smallint(5) unsigned NOT NULL,
 status tinyint(4) DEFAULT 0 COMMENT 'all comments are welcome'
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; 

Restriction

Il n'est pas possible de déclarer une clef primaire ou unique multi segments dans l'instruction de création de la table. L'exemple suivant ne fonctionne pas.

 create table exemple_3 (
 id int not null,
 col2 varchar(25) not null,
 primary key ( id, col2) using btree ); 

Le serveur confond la contrainte avec une colonne nommée PRIMARY. Il va accepter la requête mais le déploiement va échouer.

Contournement : Après le déploiement, utiliser la commande execute sur tous les segments de la table pour créer la contrainte souhaitée. Comme précédemment, si les segments de la clef ne correspondent pas exactement à la clef de hachage ou si vous n'appliquez une gestion consistante de création de données votre clef n'aura d'effet que segment par segment, pas globalement.

6. Create user

Cette commande permet de créer un nouvel utilisateur.

 Syntaxe : create user UserName [ identified by 'Password' ]; 

Sans la clause identified by ... L'utilisateur est créé mais ne peut pas se connecter.

Notes

Seul un compte administrateur peut créer un nouvel utilisateur.

Le mot de passe doit être encadré de simples quotes. Il ne doit contenir ni tabulation ni caractère d'espacement.

15 Jan 2026 07:17:10English version