Étapes pour créer une base de données dans MySQL
Créer une base de données de deux manières
1) En exécutant une simple requête SQL
2) En utilisant l'ingénierie avancée dans MySQL Workbench
Dans ce didacticiel SQL, vous apprendrez-
- Comment créer une base de données
- Comment créer une table dans MySQL
- Types de données
- MySQL Workbench ER Diagramme Forward Engineering
En tant que débutant SQL, examinons d'abord la méthode de requête.
Comment créer une base de données
Voici comment créer une base de données dans MySQL:
CREATE DATABASE est la commande SQL utilisée pour créer une base de données dans MySQL.
Imaginez que vous deviez créer une base de données avec le nom "films". Vous pouvez créer une base de données dans MySQL en exécutant la commande SQL suivante.
CREATE DATABASE movies;
Remarque: vous pouvez également utiliser la commande CREATE SCHEMA au lieu de CREATE DATABASE
Maintenant, améliorons notre requête SQL en ajoutant plus de paramètres et de spécifications.
S'IL N'EXISTE PAS
Un seul serveur MySQL peut avoir plusieurs bases de données. Si vous n'êtes pas le seul à accéder au même serveur MySQL ou si vous devez gérer plusieurs bases de données, il est probable que vous tentiez de créer une nouvelle base de données avec le nom d'une base de données existante. IF NOT EXISTS vous permet de demander au serveur MySQL de vérifier l'existence d'une base de données avec un nom similaire avant de créer la base de données.
Lorsque IF NOT EXISTS est utilisé, la base de données est créée uniquement si le nom donné n'est pas en conflit avec le nom d'une base de données existante. Sans l'utilisation de IF NOT EXISTS MySQL génère une erreur.
CREATE DATABASE IF NOT EXISTS movies;
Collation et jeu de caractères
Le classement est un ensemble de règles utilisées en comparaison. De nombreuses personnes utilisent MySQL pour stocker des données autres que l'anglais. Les données sont stockées dans MySQL à l'aide d'un jeu de caractères spécifique. Le jeu de caractères peut être défini à différents niveaux à savoir, serveur, base de données, table et colonnes.
Vous devez sélectionner les règles de classement qui dépendent à leur tour du jeu de caractères choisi.
Par exemple, le jeu de caractères Latin1 utilise le
latin1_swedish_ci
collation qui est l'ordre suédois insensible à la casse.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci
La meilleure pratique lors de l'utilisation de langues locales comme l'arabe, le chinois, etc. est de sélectionner le jeu de caractères Unicode (utf-8) qui a plusieurs classements ou simplement de s'en tenir au classement par défaut utf8-general-ci.
Vous pouvez trouver la liste de tous les classements et jeux de caractères ici
Vous pouvez voir la liste des bases de données existantes en exécutant la commande SQL suivante.
SHOW DATABASES
Comment créer une table dans MySQL
La commande CREATE TABLE est utilisée pour créer des tables dans une base de données
Les tables peuvent être créées à l'aide de l' instruction CREATE TABLE et elle a en fait la syntaxe suivante.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ICI
- "CREATE TABLE" est celui responsable de la création de la table dans la base de données.
- "[IF NOT EXISTS]" est facultatif et ne crée la table que si aucun nom de table correspondant n'est trouvé.
- "` fieldName` "est le nom du champ et" data Type "définit la nature des données à stocker dans le champ.
- "[paramètres optionnels]" informations supplémentaires sur un champ tel que "AUTO_INCREMENT", NOT NULL etc.
Exemple de création de table MySQL
Voici un exemple MySQL pour créer une table dans la base de données:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` (`membership_number` INT AUTOINCREMENT ,`full_names` VARCHAR(150) NOT NULL ,`gender` VARCHAR(6) ,`date_of_birth` DATE ,`physical_address` VARCHAR(255) ,`postal_address` VARCHAR(255) ,`contact_number` VARCHAR(75) ,`email` VARCHAR(255) ,PRIMARY KEY (`membership_number`) )ENGINE = InnoDB;
Voyons maintenant quels sont les types de données de MySQL. Vous pouvez utiliser n'importe lequel d'entre eux en fonction de vos besoins. Vous devez toujours essayer de ne pas sous-estimer ou surestimer la plage potentielle de données lors de la création d'une base de données.
TYPES DE DONNÉES
Les types de données définissent la nature des données qui peuvent être stockées dans une colonne particulière d'une table
MySQL a 3 catégories principales de types de données à savoir
- Numérique,
- Texte
- Date / heure.
Types de données numériques
Les types de données numériques sont utilisés pour stocker des valeurs numériques. Il est très important de vous assurer que la plage de vos données se situe entre les limites inférieure et supérieure des types de données numériques.
TINYINT () | -128 à 127 normal 0 à 255 UNSIGNED. |
PETITE INTELLIGENCE () | -32768 à 32767 normal 0 à 65535 UNSIGNED. |
MOYENNEINT () | -8388608 à 8388607 normal 0 à 16777215 NON SIGNÉ. |
INT () | -2147483648 à 2147483647 normal 0 à 4294967295 NON SIGNÉ. |
GRAND () | -9223372036854775808 à 9223372036854775807 normal 0 à 18446744073709551615 NON SIGNÉ. |
FLOTTER | Un petit nombre approximatif avec une virgule décimale flottante. |
DOUBLE( , ) | Un grand nombre avec une virgule décimale flottante. |
DÉCIMAL( , ) | Un DOUBLE stocké sous forme de chaîne, permettant un point décimal fixe. Choix pour stocker les valeurs monétaires. |
Types de données texte
Comme le nom de catégorie de type de données l'indique, ils sont utilisés pour stocker des valeurs de texte. Assurez-vous toujours que la longueur de vos données textuelles ne dépasse pas les longueurs maximales.
CHAR () | Une section fixe de 0 à 255 caractères. |
VARCHAR () | Une section variable de 0 à 255 caractères. |
TINYTEXT | Une chaîne d'une longueur maximale de 255 caractères. |
TEXTE | Une chaîne d'une longueur maximale de 65 535 caractères. |
GOUTTE | Une chaîne d'une longueur maximale de 65 535 caractères. |
MEDIUMTEXT | Une chaîne d'une longueur maximale de 16777215 caractères. |
BLOB MOYEN | Une chaîne d'une longueur maximale de 16777215 caractères. |
LONGTEXTE | Une chaîne d'une longueur maximale de 4294967295 caractères. |
LONGBLOB | Une chaîne d'une longueur maximale de 4294967295 caractères. |
Date / heure
DATE | AAAA-MM-JJ |
DATETIME | AAAA-MM-JJ HH: MM: SS |
HORAIRE | AAAAMMJJHHMMSS |
TEMPS | HH: MM: SS |
En dehors de ce qui précède, il existe d'autres types de données dans MySQL.
ENUM | Pour stocker la valeur de texte choisie dans une liste de valeurs de texte prédéfinies |
ENSEMBLE | Ceci est également utilisé pour stocker des valeurs de texte choisies dans une liste de valeurs de texte prédéfinies. Il peut avoir plusieurs valeurs. |
BOOL | Synonyme de TINYINT (1), utilisé pour stocker des valeurs booléennes |
BINAIRE | Semblable à CHAR, la différence est que les textes sont stockés au format binaire. |
VARBINAIRE | Semblable à VARCHAR, la différence est que les textes sont stockés au format binaire. |
Voyons maintenant une requête pour créer une table contenant des données de tous les types de données. Étudiez-le et identifiez la manière dont chaque type de données est défini dans l'exemple de création de table MySQL ci-dessous.
CREATE TABLE`all_data_types` (`varchar` VARCHAR( 20 ) ,`tinyint` TINYINT ,`text` TEXT ,`date` DATE ,`smallint` SMALLINT ,`mediumint` MEDIUMINT ,`int` INT ,`bigint` BIGINT ,`float` FLOAT( 10, 2 ) ,`double` DOUBLE ,`decimal` DECIMAL( 10, 2 ) ,`datetime` DATETIME ,`timestamp` TIMESTAMP ,`time` TIME ,`year` YEAR ,`char` CHAR( 10 ) ,`tinyblob` TINYBLOB ,`tinytext` TINYTEXT ,`blob` BLOB ,`mediumblob` MEDIUMBLOB ,`mediumtext` MEDIUMTEXT ,`longblob` LONGBLOB ,`longtext` LONGTEXT ,`enum` ENUM( '1', '2', '3' ) ,`set` SET( '1', '2', '3' ) ,`bool` BOOL ,`binary` BINARY( 20 ) ,`varbinary` VARBINARY( 20 )) ENGINE= MYISAM ;
Les meilleures pratiques
- Utilisez des lettres majuscules pour les mots-clés SQL, par exemple "DROP SCHEMA IF EXISTS` MyFlixDB`; "
- Terminez toutes vos commandes SQL en utilisant des points-virgules.
- Évitez d'utiliser des espaces dans les noms de schéma, de table et de champ. Utilisez plutôt des traits de soulignement pour séparer les noms de schéma, de table ou de champ.
Ingénierie avancée du diagramme ER MySQL Workbench
MySQL workbench a des utilitaires qui prennent en charge l'ingénierie avancée. L'ingénierie avancée est un terme technique qui décrit le processus de traduction automatique d'un modèle logique en un outil physique .
Nous avons créé un diagramme ER sur notre didacticiel de modélisation ER. Nous allons maintenant utiliser ce modèle ER pour générer les scripts SQL qui créeront notre base de données.
Création de la base de données MyFlix à partir du modèle MyFlix ER
1. Ouvrez le modèle ER de la base de données MyFlix que vous avez créé dans le didacticiel précédent.
2. Cliquez sur le menu de la base de données. Sélectionnez l'ingénieur avant
3. La fenêtre suivante, vous permet de vous connecter à une instance du serveur MySQL. Cliquez sur la liste déroulante des connexions stockées et sélectionnez l'hôte local. Cliquez sur Exécuter
4. Sélectionnez les options ci-dessous dans l'assistant qui apparaît. Cliquez sur Suivant
5. L'écran suivant montre le résumé des objets dans notre diagramme EER. Notre MyFlix DB a 5 tables. Conservez les sélections par défaut et cliquez sur Suivant.
6… La fenêtre ci-dessous apparaît. Cette fenêtre vous permet de prévisualiser le script SQL pour créer notre base de données. Nous pouvons enregistrer les scripts dans un fichier * .sql "ou copier les scripts dans le presse-papiers. Cliquez sur le bouton suivant
7. La fenêtre ci-dessous apparaît après la création réussie de la base de données sur l'instance de serveur MySQL sélectionnée.
Résumé
- La création d'une base de données implique la traduction du modèle de conception de base de données logique dans la base de données physique.
- MySQL prend en charge un certain nombre de types de données pour les valeurs numériques, de dates et de chaînes.
- La commande CREATE DATABASE est utilisée pour créer une base de données
- La commande CREATE TABLE est utilisée pour créer des tables dans une base de données
- MySQL workbench prend en charge l'ingénierie avancée qui implique la génération automatique de scripts SQL à partir du modèle de base de données logique qui peut être exécuté pour créer la base de données physique
La base de données ainsi que les données factices sont jointes. Nous utiliserons cette base de données pour tous nos autres tutoriels. Importez simplement la base de données dans MySQL Workbench pour commencer
Cliquez ici pour télécharger MyFlixDB