Base de données H2 - Modifier

ALTER est une commande utilisée pour changer la structure de la table en ajoutant différentes clauses au altercommander. Sur la base du scénario, nous devons ajouter une clause respective à la commande alter. Dans ce chapitre, nous discuterons de divers scénarios de commande alter.

Modifier la table Ajouter

Alter Table Add est une commande utilisée pour ajouter une nouvelle colonne à une table avec le type de données respectif. Cette commande valide la transaction dans cette connexion.

Syntaxe

Voici la syntaxe générique de la commande Alter Table Add.

ALTER TABLE [ IF EXISTS ] tableName ADD [ COLUMN ] 
{ [ IF NOT EXISTS ] columnDefinition [ { BEFORE | AFTER } columnName ] 
   | ( { columnDefinition } [,...] ) }

Exemple

Dans cet exemple, nous allons ajouter une nouvelle colonne start_date à la table tutorials_tbl. Le type de données pour start_date est Date. Voici la requête pour ajouter une nouvelle colonne.

ALTER TABLE tutorials_tbl ADD start_date DATE;

La requête ci-dessus produit la sortie suivante.

(6) rows effected

Modifier la table Ajouter une contrainte

Alter table add constraint est une commande utilisée pour ajouter différentes contraintes à la table telles que la clé primaire, la clé étrangère, non nulle, etc.

Les index requis sont automatiquement créés s'ils n'existent pas encore. Il n'est pas possible de désactiver la vérification de la contrainte unique. Cette commande valide une transaction ouverte dans cette connexion.

Syntaxe

Voici la syntaxe générique de la commande Alter table add constraint.

ALTER TABLE [ IF EXISTS ] tableName ADD constraint [ CHECK | NOCHECK ]

Exemple

Dans cet exemple, ajoutons une contrainte de clé primaire (tutorials_tbl_pk) à l'ID de colonne de la table tutorials_tbl, en utilisant la requête suivante.

ALTER TABLE tutorials_tbl ADD CONSTRAINT tutorials_tbl_pk PRIMARYKEY(id);

La requête ci-dessus produit la sortie suivante.

(6) row (s) effected

Modifier la contrainte de changement de nom de table

Cette commande est utilisée pour renommer le nom de contrainte d'une table de relations particulière. Cette commande valide une transaction ouverte dans cette connexion.

Syntaxe

Voici la syntaxe générique de la commande Alter Table Rename Constraint.

ALTER TABLE [ IF EXISTS ] tableName RENAME oldConstraintName TO newConstraintName

Lors de l'utilisation de cette syntaxe, assurez-vous que l'ancien nom de contrainte doit exister avec la colonne correspondante.

Exemple

Dans cet exemple, nous allons changer le nom de la contrainte de clé primaire de la table tutorials_tbl de tutorials_tbl_pk à tutorials_tbl_pk_constraint. Voici la requête pour ce faire.

ALTER TABLE tutorials_tbl RENAME CONSTRAINT 
tutorials_tbl_pk TO tutorials_tbl_pk_constraint;

La requête ci-dessus produit la sortie suivante.

(1) row (s) effected

Modifier la table Modifier la colonne

Cette commande est utilisée pour modifier la structure et les propriétés de la colonne d'une table particulière. Changer les propriétés signifie changer le type de données d'une colonne, renommer une colonne, changer la valeur d'identité ou changer la sélectivité.

Syntaxe

Voici la syntaxe générique de la commande Alter Table Alter Column.

ALTER TABLE [ IF EXISTS ] tableName ALTER COLUMN columnName 
{ { dataType [ DEFAULT expression ] [ [ NOT ] NULL ] [ AUTO_INCREMENT | IDENTITY ] } 
| { RENAME TO name } 
| { RESTART WITH long } 
| { SELECTIVITY int } 
| { SET DEFAULT expression } 
| { SET NULL } 
| { SET NOT NULL } }

Dans la syntaxe ci-dessus -

  • RESTART - La commande change la valeur suivante d'une colonne à incrémentation automatique.

  • SELECTIVITY- La commande définit la sélectivité (1-100) pour une colonne. Sur la base de la valeur de sélectivité, nous pouvons représenter la valeur de la colonne.

  • SET DEFAULT - modifie la valeur par défaut d'une colonne.

  • SET NULL - définit la colonne pour autoriser NULL.

  • SET NOT NULL - définit la colonne pour autoriser NOT NULL.

Exemple

Dans cet exemple, nous renommerons la colonne du tableau tutorials_tbl de Title à Tutorial_Title en utilisant la requête suivante.

ALTER TABLE tutorials_tbl ALTER COLUMN title RENAME TO tutorial_title;

La requête ci-dessus produit la sortie suivante.

(0) row(s) effected

De la même manière, nous pouvons effectuer différents scénarios avec la commande ALTER.