Résumé du problème MySQL et enregistrement d'apprentissage 1
Quelle est la différence entre utf8 et utf8mb4 ? - Zhihu (zhihu.com)
Problème avec la configuration du codage unifié permanent Mysql : (2 messages) Le codage/jeu de caractères unifié permanent MySQL5.7 est utf8 (résoudre le code tronqué)_mysql 5.7.29 utf8 code tronqué_Blog de NekoSheep-Blog CSDN
Je ne l'ai pas encore modifié ici, car certains blogueurs ont dit qu'il n'était pas nécessaire de le modifier et qu'il y avait quelques problèmes avec utf8, donc je ne l'ai pas encore modifié.
J'ai découvert que le client de ligne de commande fourni avec la dernière version de MySQL est livré avec deux versions, une sans suffixe - version Unicode et une avec version Unicode intégrée. Il s'avère que la version Unicode nous a aidé à unifier l'encodage. Nous n’avons donc pas besoin d’examiner cette question maintenant. (Comparaison des deux photos ci-dessous)
De là, nous pouvons savoir que lors d'une utilisation ultérieure, nous pouvons utiliser directement la version Unicode de la console pour éviter d'éventuels problèmes de caractères tronqués.
instruction SQL :
Dossier d'actions (Bibliothèque)
增:créer une base de données db1 charset utf8 ;
查:show create database db1;
改:modifier le jeu de caractères db1 de la base de données gbk ;
Supprimer : supprimer la base de données db1 ;
fichier d'action (tableau)
Changer de dossier : utilisez db1 ;
Afficher le dossier actuel : sélectionnez la base de données ();
增:créer la table t1(id int,name char);
查:show create table t1 ;
afficher les tableaux ;#Voir tout
desc t1 ;
改:altérer la table t1 modifier le nom char(6);
modifier la table t1 changer le nom NAME char(7);
Supprimer : supprimer la table t1 ;
Contenu du fichier d'opération (enregistrement)
Ajouté : insérer les valeurs t1(id,name)(1,'egon1'),(2,'egon2'),(3,'egon3');#Correspondance individuelle dans l'ordre
查:sélectionnez l'identifiant, le nom dans db2.t1 ;
select * from db2.t1;#Requête sur tous les fichiers, mais non recommandé
改:mettre à jour db2.t1 set name='SB';
mettre à jour db2.t1 set name='DUMP'où id = 2 ;
Vérifiez : supprimer de t1 ;
supprimer de t1 où id = 2 ;
opérations de la bibliothèque
Le langage SQL est divisé en trois types :
1. Langage de définition de base de données d'instructions DDL : base de données, table, vue, index, procédure stockée, telle que CREATE DROP ALTER
2. Langage de manipulation de base de données d'instructions DML : insérer des données INSERT, supprimer des données DELETE, mettre à jour les données UPDATE
3. Langage de contrôle de base de données d'instructions DCL : par exemple, contrôle des droits d'accès des utilisateurs GRANT et REVOKE
Base de données système
information_schema : bibliothèque virtuelle, qui n'occupe pas d'espace disque et stocke certains paramètres après le démarrage de la base de données, tels que les informations sur la table utilisateur, les informations sur les colonnes, les informations sur les autorisations, les informations sur les caractères, etc.
performance_schema : collectez les paramètres de performances du serveur de base de données et enregistrez divers événements, verrous et autres phénomènes qui se produisent lors du traitement des demandes de requête.
mysql : bibliothèque d'autorisations, stocke principalement les informations d'autorisation des utilisateurs du système
test : une base de données de test créée automatiquement par le système de base de données MySQL
Créer une base de données
créer la base de données nom de la base de données charset utf8
Règles : lettres, chiffres, traits de soulignement disponibles, @, # et & ; sensible à la casse ; unique ; ne peut pas utiliser de mots-clés ; ne peut pas utiliser de chiffres seuls ; jusqu'à 128 caractères (similaires aux règles Python)
Opérations liées à la base de données : instructions SQL dans la section précédente
*help xxx : vous pouvez afficher les noms des opérations associées ; les règles d'utilisation, etc.
opération de table
moteur de stockage
Le moteur de stockage est le type de table
Afficher les moteurs de stockage pris en charge par MySQL : show moteurs ;
Spécifiez le type de table/moteur de stockage :
créer la table t1(id int)engine = innodb;#default est innodb
create table t2(id int)engine = memory;#Existe en mémoire, elle disparaîtra après le redémarrage
créer la table t3(id int)engine = blackhole;#Jetez les données indésirables et elles disparaîtront
créer la table t4(id int)engine = myisam;
Insérer une valeur de tableau
insérer dans les valeurs t1 (1);
insérer dans les valeurs t2 (1);
insérer dans les valeurs t3 (1);
insérer dans les valeurs t4 (1);
Afficher les données du tableau : sélectionnez * à partir de tx ;
Ajouter, supprimer, modifier et interroger des tables
Créer un tableau :
créer une table nom de la table (
Nom du champ 1 type [contrainte (largeur)],
Type de nom de champ 2 [contrainte (largeur)],
);#Les noms de champs dans la même table ne peuvent pas être identiques, la largeur et les contraintes sont facultatives, les noms et types de champs doivent être
nom du fichier desc : afficher les informations sur la table ;
show create table t1\G;#Pour visualiser la structure détaillée du tableau, vous pouvez ajouter \G pour faciliter l'affichage ligne par ligne.
Modifier la structure du tableau
copier le tableau
Par exemple, créez la table t1, sélectionnez l'hôte, l'utilisateur à partir de mysql.user ; #Placez les données contenant les champs hôte et utilisateur dans mysql.user dans la table t1 (la structure de la table et les enregistrements sont requis)
créer la table t2 sélectionner l'hôte, l'utilisateur depuis mysql.user où 1>5;#Donnez une mauvaise logique, vous ne pouvez copier que la structure de la table mais pas le contenu.
Autre méthode : créer la table t3 comme mysql.user ;#Peut copier directement la structure de la table sans copier le contenu
Supprimer la table : supprimer le nom de la table ;
type de données
type entier
Si rien n’est spécifié, la valeur par défaut est une plage signée.
créer la table t2(x tinyint non signé);#bit plage non signée
L'ancienne version affichera directement la valeur maximale si elle dépasse la plage, tandis que la nouvelle version signalera une erreur si elle dépasse la plage.
create table t3(id int(1) unsigned);#(1)Cette largeur fait référence à la largeur d'affichage, pas à la largeur de stockage. La largeur de stockage est fixe comme indiqué dans le tableau précédent.
Largeur d'affichage : si la quantité de données dépasse les données de largeur d'affichage, la largeur d'affichage contrôlée n'est pas valide.
point flottant
float double décimal a des précisions différentes