Database
 sql >> Base de données >  >> RDS >> Database

Comment créer une base de données en SQL ?

Comment créer une base de données en SQL

  • Il est très nécessaire de créer une base de données afin de stocker les données dans la base de données.
  • Le nom de la base de données doit toujours être unique.
  • SQL ne permet pas de créer une base de données avec le même nom qui existe déjà sur le serveur.
  • Pour garantir l'unicité lors de la création d'une nouvelle base de données, l'administrateur de la base de données doit connaître les bases de données déjà existantes sur le serveur.
  • La AFFICHER LES BASES DE DONNÉES La commande est utilisée en SQL pour lister toutes les bases de données présentes sur le serveur.

Exemple :

Nous vérifierons toutes les bases de données disponibles.

 mysql> SHOW DATABASES;
 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | demo               |
 | mysql              |
 | performance_schema |
 | test               |
 +--------------------+
 5 rows in set (0.05 sec) 

Dans l'exemple ci-dessus, toutes les bases de données présentes sur le serveur, y compris les bases de données système (information_schema, performance_schema, mysql) et les bases de données créées par l'utilisateur (demo, test) sont affichées.

  • Une fois que l'administrateur de la base de données est familiarisé avec les noms des bases de données déjà existantes qui sont présentes dans le serveur SQL, l'administrateur de la base de données peut maintenant créer une base de données avec n'importe quel nom en tenant compte de la sortie de la commande SHOW DATABASES.

Syntaxe pour créer une base de données en SQL :

CREATE DATABASE DATABASENAME;

Exemple : Nous allons créer une nouvelle base de données avec le nom "Exampledb".

mysql> CREATE DATABASE Exampledb;

Une nouvelle base de données nommée "exampledb" est créée avec succès sur le serveur.

  • Pour nous assurer que la base de données est créée avec succès, nous utiliserons à nouveau la commande SHOW DATABASES.

Exemple :

Nous afficherons toutes les bases de données disponibles pour vérifier si le "exampledb" est créé ou non.

mysql> SHOW DATABASES;

Sortie :

 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | demo               |
 | exampledb         |
 | mysql              |
 | performance_schema |
 | test               |
 +--------------------+ 

Maintenant, nous pouvons voir que la base de données nouvellement créée avec le nom "exampledb" est également répertoriée.

  • Une alternative à la commande CREATE DATABASE est CREATE SCHEMA COMMAND . Les deux requêtes effectuent la même tâche de création de base de données.

Syntaxe :

CREATE SCHEMA DATABASENAME;

Exemple : Nous allons utiliser une requête alternative pour créer une base de données avec le nom "testDB".

mysql> CREATE SCHEMA testDB;

Exemple : Nous afficherons toutes les bases de données disponibles pour vérifier si le "testdb" est créé ou non.

mysql> SHOW DATABASES;

Sortie

 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | demo               |
 | exampledb         |
 | mysql              |
 | performance_schema |
 | test               |
 | testdb             |
 +--------------------+
 7 rows in set (0.05 sec) 
  • On peut également consulter la base de données déjà créée à l'aide de la commande ci-dessous :
SHOW CREATE DATABASE DATABASE_NAME;

Exemple :

 We will review the already created database named as “exampledb”.
 mysql> SHOW CREATE DATABASE exampledb; 

Sortie :

 +------------+-----------------------------------------------------------------------+
 | Database   | Create Database                                                       |
 +------------+-----------------------------------------------------------------------+
 | exampledb | CREATE DATABASE ` exampledb ` /*!40100 DEFAULT CHARACTER SET latin1 */ |
 +------------+-----------------------------------------------------------------------+
 1 row in set (0.00 sec) 

Ici, la commande qui a été utilisée pour créer la base de données nommée « exampledb » est affichée avec le jeu de caractères. Étant donné que le jeu de caractères n'a pas été spécifié lors de la création de la base de données, la base de données est créée avec le jeu de caractères par défaut, c'est-à-dire latin1 .

  • Pour stocker les données dans une base de données particulière, il faut indiquer au serveur quelle base de données spécifique l'administrateur souhaite utiliser.

Syntaxe :

USE DATABASE_NAME;

Exemple :

Pour opérer sur une base de données spécifique, l'utilisateur doit indiquer au serveur qu'il souhaite effectuer d'autres requêtes sur "exampledb".

mysql> USE exampledb;

Sortie :

Database changed

Depuis que nous avons utilisé la base de données nommée "exampledb", toutes les autres requêtes seront désormais exécutées sur cette base de données particulière.

Paramètres de l'instruction CREATE

On peut également improviser la requête CREATE DATABASE en y ajoutant des paramètres et des spécifications.

  1. SI NON EXISTE

Il peut y avoir plusieurs bases de données dans un même serveur MySQL. On peut essayer de créer une base de données qui est déjà présente dans le serveur MySQL. Donc, dans ce cas, l'utilisation du paramètre "IF NOT EXISTS" avec la requête CREATE DATABASE sert l'objectif. Avant la création d'une nouvelle base de données, il demande au serveur de vérifier si la base de données existe déjà avec le nom spécifié.

Syntaxe :

CREATE DATABASE IF NOT EXISTS DATABASENAME;

Exemple :

Afin de créer une nouvelle base de données "demodb", nous allons d'abord afficher toutes les bases de données disponibles, puis créer "demodb" si une base de données portant ce nom n'existe pas déjà.

mysql> SHOW DATABASES;

Sortie :

 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | demo               |
 | exampledb         |
 | mysql              |
 | performance_schema |
 | test               |
 | testdb             |
 +--------------------+
 7 rows in set (0.05 sec) 
 mysql> CREATE DATABASE IF NOT EXISTS demodb;
 Query OK, 1 row affected (0.00 sec) 

Auparavant, il n'y avait pas de base de données portant le nom "demodb". Ainsi, maintenant la base de données avec le nom "demodb" sera créée. Si nous essayons de créer une base de données avec le nom existant sans utiliser IF NOT EXISTS, alors dans ce cas SQL lancera une erreur.

Exemple :

Maintenant, nous allons afficher toutes les bases de données disponibles pour nous assurer que la base de données "demodb" est créée.

mysql> SHOW DATABASES;

Sortie :

 +--------------------+
 | Database           |
 +--------------------+
 | information_schema |
 | demo               |
 | demodb             |
 | exampledb        |
 | mysql              |
 | performance_schema |
 | test               |
 | testdb             |
 +--------------------+
 8 rows in set (0.00 sec) 

Ici, la base de données avec le nom "demodb" est créée.

  • Collation et jeu de caractères

Le classement est un ensemble de règles utiles pour la comparaison. On peut stocker les données SQL dans une autre langue que l'anglais. Pour stocker les données dans une autre langue, vous devez sélectionner le jeu de caractères pour cette langue particulière. Différents niveaux de jeu de caractères incluent le serveur, la base de données, la table et la colonne. Une fois le jeu de caractères choisi, seules les règles de classement peuvent être sélectionnées.

Exemple :

Nous allons créer une nouvelle base de données avec le nom "sample" dont le jeu de caractères est "latin1" et la règle de classement est "latin1_swedish_ci".

mysql> CREATE DATABASE IF NOT EXISTS sample CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Ici, la base de données "exemple" est créée avec latin1 comme jeu de caractères et latin1_swedish_ci comme règle de classement.