Maison  >  Article  >  base de données  >  Apprendre la syntaxe de base de MySQL

Apprendre la syntaxe de base de MySQL

巴扎黑
巴扎黑original
2017-06-23 11:10:401551parcourir

Avant-propos

mysql

Syntaxe MySQL--Cet article s'apprend en utilisant Navicat Premium (outil de gestion de base de données) pour connecter des données MySQL.

Cette étude comporte principalement deux parties :

  1. Créer des utilisateurs, créer des bases de données, attribuer des autorisations aux utilisateurs et supprimer des autorisations d'utilisateur.

2. Types de données courants dans MYSQL

3. Table - Créer une table, une clé primaire, une clé étrangère

  4. Trois paradigmes majeurs de conception de bases de données

Tous les codes suivants sont édités en utilisant la syntaxe mysql dans la nouvelle table de requêtes.

1. Créez des utilisateurs, créez des bases de données, attribuez des autorisations aux utilisateurs et supprimez des autorisations utilisateur.
1、创建用户,创建数据库,给用户分配权限,删除用户权限。
/* Commentaire SQL multiligne*/
-- Commentaire SQL sur une seule ligne

Créer un utilisateur  : CRÉER UN UTILISATEUR 'Nom d'utilisateur'@'Nom d'hôte' IDENTIFIÉ PAR 'Mot de passe' ;
Le nom d'hôte peut être vide. S'il est vide, la valeur par défaut est % d'autorisation, ce qui signifie que tous les hôtes peuvent le faire. connecter.
Attribuer des autorisations aux utilisateurs : GRANT nom d'autorisation ON nom de la base de données. Indique le nom d'utilisateur@nom d'hôte                                                                          🎜> : REVOKE nom d'autorisation SUR le nom de la base de données Indique FROM username@hostname;
Créer une base de données : CRÉER UNE BASE DE DONNÉES [IF NOT EXISTS] nom de la base de données [CHARACTER SET[= ] 'UTF8'];
 <<< ;Si vous omettez [IF NOT EXISTS] et créez la base de données à plusieurs reprises, une erreur sera signalée ! Interroger toutes les bases de données de cette machine
 : AFFICHER LES BASES DE DONNÉES
Utiliser la base de données mydb ↓, indique que les requêtes suivantes cibleront la base de données mydb par défaut

USE mydb; pour interroger toutes les tables de données de la base de données :
SHOW TABLES [FROM base de données]
2 types de données courants dans MYSQL
fort >
 
1. Type de caractère :

① CHAR(N) : Une chaîne avec une longueur fixe de N caractères. Si la longueur n'est pas suffisante, des espaces seront automatiquement ajoutés. fill;
② VARCHAR(N) : stocke les caractères de longueur variable. Couramment utilisé 0 ~ 255 ;
③ TEXTE : stocke des chaînes de longueur variable. (Expressions couramment utilisées pour publier des articles et autres contenus volumineux) 0~((2^16-1)*10^2);
​ ④ TINYTEXT:0~((2^8-1)*10);
​ ⑤ MEDIUMTEXT : 0~((2^24-1)*10^3);
⑥ LINGTEXT : 0~((2^32-1)*10^4) : énumération type, le champ ne peut contenir que des données énumérées.


2. Mise en forme :
① TINYINT : Non signé 0~2^8-1 Signé -2^7~2^7-1
② SMALLINT ; : Non signé 0~2^16-1 Signé-2^15~2^15-1 ;
③ MEDIUMINT : Non signé 0~2^24-1 Signé-2^23~2^23 -1 ;
④ INT : Non signé 0~2^32-1 Signé -2^31~2^31-1 Le plus couramment utilisé !
⑤ BIGINT : Non signé 0~2^64-1 Signé -2^63~2^63-1


3. Type à virgule flottante :
① FLOAT : peut être précis à 7 chiffres significatifs après la virgule décimale ;
② DOUBLE : peut être précis à 15 à 16 chiffres significatifs après la virgule décimale


4. type
Remarque : Étant donné que le stockage de l'heure utilise le stockage de chaîne ou d'horodatage, le type de date est rarement utilisé dans la base de données.
① DATE : stocke les données de date et d'heure
② TIMESTAMP : plus précis que DATE


3. Table-Créer une table, clé primaire, clé étrangère
3、表-创建表、主键、外键
 
【Créer une table

CRÉER UNE TABLE [SI NON EXISTE] nom du formulaire (
SI NON EXISTE peut être omis, après omis Erreur de création répétée. S'il n'est pas omis, il détectera si la table existe déjà lors de la création. Si la table existe, l'instruction de création ne sera plus exécutée
Définition des colonnes : mots-clés de la liste des types de données du nom de la colonne
)
Colonnes couramment utilisées Mot-clé de définition :
① UNSIGNED : Définissez la liste sur une colonne non signée. Seules les colonnes de type numérique peuvent être définies
② AUTO_INCREMENT PRIMARY KEY définit la colonne sur une colonne à croissance automatique. Les colonnes de croissance automatique doivent être des clés primaires.
  ③ NOT null : Définissez la colonne sur une contrainte non nulle
 ④ UNIQUE : Définissez une contrainte unique. Les valeurs en double ne peuvent pas apparaître dans ce champ.
⑤ DEFAULT : définissez les contraintes de valeur par défaut.


[Clé primaire ]  :

1. Quelles sont les précautions pour la clé primaire ? La clé primaire est vide par défaut ! Contrainte d'unicité par défaut de la clé primaire !
Seule la clé principale peut définir la croissance automatique (la clé primaire ne grandit pas nécessairement automatiquement, la croissance automatique doit être la clé principale)

2. La méthode de définition de la clé primaire ?


1. Quelles sont les précautions pour paramétrer les clés étrangères ? Les types doivent être les mêmes. (Les types numériques nécessitent la même longueur et non signés, les chaînes nécessitent le même type et les longueurs peuvent être différentes.)
   ③ Le champ où la clé étrangère est définie doit avoir un index. S'il n'y a pas d'index, un index sera automatiquement généré lors de la définition de la clé étrangère. 2. Quelle est la syntaxe de définition des clés étrangères ?
[NOM de la clé étrangère CONSTRAINT] FOREIGN KEY (champ de clé étrangère) Table de référence REFERENCES (champ de référence) [ON DELETE SET NULL lors de la mise à jour CASCADE] -- Définir l'intégrité référentielle


3. Référentiel étranger opérations d’intégrité pour les contraintes clés ?
Opération de référence : lorsque le champ de référence de la table de référence est supprimé ou mis à jour, comment gérer la clé étrangère dans la table de clé étrangère.
Reportez-vous à la valeur facultative : RESTRICT refuse de supprimer ou de mettre à jour le champ de référence ; (par défaut)
Aucune action n'est la même que RESTRICT, mais cette instruction n'est efficace que dans MySQL ; ; (La table de clés étrangères et la table de référence sont synchronisées)

 





4  数据库的三大范式

1. Première forme normale (1NF) : Chaque colonne (champ) du tableau de données doit être la plus petite unité qui ne peut pas être divisée. C'est pour garantir l'atomicité de chaque colonne.
Par exemple : userInfo : 'Yantai City, province du Shandong 13181621008'
userads : 'Yantai City, province du Shandong' userTel : '13181621008'

2. Deuxième forme normale (2NF) : après avoir satisfait 1NF , requête : toutes les colonnes de la table doivent dépendre de la clé primaire et il ne peut y avoir aucune colonne qui n'ait aucune relation avec la clé primaire. En d’autres termes, un tableau ne décrit qu’une seule chose.

Par exemple : la table des commandes ne peut décrire que les informations relatives à la commande, tous les champs doivent donc être liés à l'ID de la commande.
La table des produits ne peut décrire que les informations relatives au produit, tous les champs doivent donc être liés ; Lié à l'ID du produit
Par conséquent : les informations de commande et les informations sur le produit ne peuvent pas apparaître dans le même tableau.

3. Troisième forme normale (3NF) : Chaque colonne du tableau doit être directement liée à la clé primaire, plutôt qu'indirectement. (Chaque colonne du tableau ne peut dépendre que de la clé primaire).
Par exemple : Dans le tableau des commandes, les informations relatives au client sont requises, après le tableau des clients de l'agence. Dans le tableau des commandes, il vous suffit d’avoir un identifiant utilisateur. Il ne peut pas y avoir d'autres informations client. Parce que les autres informations utilisateur sont directement liées à l'ID utilisateur, et non à l'ID de commande.


[La différence essentielle entre la deuxième forme normale et la troisième forme normale]
est qu'il n'y a pas deux tables. La deuxième forme normale signifie qu'une table contient les attributs de plusieurs entités différentes. , il doit donc être divisé en plusieurs tables.
La troisième forme normale nécessite que plusieurs tables aient été divisées. Ensuite, une table ne peut avoir que l'ID (clé primaire) d'une autre table, mais aucune autre information (toute autre information doit être utilisée). La clé primaire est interrogée dans une autre table)

Il peut y avoir quelques erreurs dans les notes prises pendant les études. Vos critiques et conseils sont les bienvenus.

Réfléchissez, révisez et gagnez un peu chaque jour--------------------- Dans l'attente d'un meilleur moi

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn