Maison > Article > base de données > Notes d'étude MySQL (1)
Le royaume de la technologie est tellement fascinant. Dès que j'ai commencé à travailler dans l'informatique, j'ai été séduit et confus par diverses technologies et j'ai voulu tout apprendre. Je suis toujours le genre de personne qui tient parole, mais heureusement j'ai un peu de persévérance, donc j'ai eu un peu de toutes sortes de choses. Mais cette situation omniprésente ne correspond vraiment pas à mon QI. Je n'ai pas beaucoup d'énergie pour apprendre tant de choses. Apprenez lentement à abandonner temporairement certaines technologies et étudiez d'abord en profondeur les éléments que vous devez utiliser dans votre travail. Comme MySQL, etc. Pour les choses que j'aime particulièrement, comme Linux, c'est trop avancé et compliqué. Je ne veux pas abandonner, je vais donc donner à Linux une heure chaque jour pour me familiariser avec les commandes et progresser progressivement. Une fois que les différentes compétences sur lesquelles je compte pour ma survie seront plus parfaites, je pense que je pourrai consacrer beaucoup de temps à étudier Linux.
Je lisais un livre en y réfléchissant. Le titre du livre est "MySQL Core Technology and Best Practices". Pendant mes études, je note tout ce qui est utile quand je le vois, donc mes notes auront certainement l'air un peu brouillones. J'ai déjà maîtrisé certains points de connaissances auparavant, alors peut-être que je n'écrirai pas à leur sujet. Ceci est juste une note d’auto-apprentissage, vous pouvez donc vous arrêter ici, je ne veux pas perdre votre temps d’étude.
Moteur InnoDB et moteur MyISAM
MySQL est une base de données relationnelle. Les moteurs de stockage peuvent être visualisés à l'aide des moteurs d'exposition. Ma version est la 5.6.26. Pour afficher la version, utilisez select version() pour l'afficher. MySQL 5.6.26 dispose de 9 moteurs de stockage. Les plus courants et les plus clichés sont MyISAM et InnoDB. S'il s'agit d'une activité sans transaction, les deux moteurs de stockage sont similaires et il n'y a aucune différence de performances. Si la plupart des requêtes sélectionnées sont requises dans l'entreprise, le moteur de stockage MyISAM peut être utilisé. Si vous avez besoin de choses, vous devez utiliser le stockage InnoDB.
Sauvegarde MySQL
Afin d'éviter toute incohérence des données lors de la sauvegarde, les opérations d'écriture dans la base de données ne sont pas autorisées lors de la sauvegarde de la base de données.
Vous pouvez utiliser des tables vides avec verrouillage en lecture ;
Analysez maintenant les données de la table dans la mémoire et restaurez-les dans la table. Verrouillez ensuite la table. Les collègues accordent l’autorisation de lecture. En d’autres termes, lorsque la base de données est sauvegardée, l’autorisation de lecture est toujours disponible.
Attendez que l'opération de sauvegarde de la base de données soit terminée, puis déverrouillez la base de données. tables unlock;
Type de données MySQL
L'image de cette structure de type de données dans le livre est assez bonne, mais je l'ai recherchée en ligne et elle n'avait pas l'air bien. Alors autant en dessiner un moi-même, ça ne prendra pas longtemps.
Ma Dan, mon outil de dessin est cassé, je vais juste résumer mes connaissances, pourquoi s'embêter.
La prochaine étape est le texte. Le texte arrive rapidement et économise des efforts.
Les types décimaux sont divisés en types décimaux exacts et en types décimaux à virgule flottante.
Les types décimaux incluent les types décimaux exacts.
Décimale à virgule flottante, y compris simple et double précision. (Je ne sais pas ce que cela signifie. Si vous êtes intéressé, consultez-le sur Baidu. Le plus couramment utilisé est décimal). '
décimal (longueur, précision). La longueur représente la longueur totale du nombre et la précision représente la longueur après la virgule décimale.
Le type de chaîne de MySQL
MySQL prend principalement en charge six types de chaîne, char, varchar, tinyintm, text, mediumtext, longtext.
Sur le type de chaîne, je ne l'ai pas reconnu clairement avant. J'ai fait beaucoup d'erreurs. Après avoir lu le livre et expérimenté, j'ai beaucoup compris.
Le contenu suivant cite directement le chapitre 3 de « Technologie de base MySQL et meilleures pratiques ».
char(n) est un type de chaîne de longueur fixe, ce qui signifie qu'il occupe n caractères (notez et non octets) d'espace de stockage. La valeur maximale de n est 255. Par exemple, pour le caractère chinois simplifié. set gbk encoding , char(255) signifie que 255 caractères chinois peuvent être stockés et que chaque caractère chinois occupe deux octets d'espace de stockage. Pour une chaîne du jeu de caractères utf8, char(255) signifie que 255 caractères chinois peuvent être stockés et que chaque caractère chinois occupe 3 octets d'espace de stockage.
varchar(n) est un type de chaîne de longueur variable, ce qui signifie que l'espace de stockage occupé par une telle chaîne est l'espace de stockage occupé par la chaîne elle-même, quel que soit n. Ceci est différent de char(n), qui est différent de char(n). Par exemple, pour la chaîne du jeu de caractères chinois simplifié gbk, varchar(255) signifie que 255 caractères chinois peuvent être stockés. Chaque caractère chinois occupe deux octets d'espace de stockage. Si cette chaîne ne contient pas autant de caractères chinois, par exemple, elle inclut uniquement le mot "中", alors varchar(255) n'occupe qu'un seul caractère (2 octets) d'espace de stockage, si aucune autre surcharge n'est prise en compte. Et char(255) doit occuper 255 caractères d'espace de stockage, même si un seul caractère chinois y est stocké.
Espace de stockage occupé par différents types de caractères :
Type de date MySQL
MySQL prend principalement en charge 5 types de dates. date, heure, année, dateheure, horodatage.
type de date. Le format prend en charge l'année, le mois et le jour. AAAA—MM—JJ;
type d'heure. Heures, minutes et secondes. HH : II : SS.
Datetime est une combinaison de date et d'heure. C'est l'année, le mois et le jour. Les heures, les minutes et les secondes passèrent.
l'horodatage est similaire à datetime.
Mais vous ne pouvez pas être trop pointilleux sur vos études. Jetons un coup d'œil à la différence entre l'horodatage et la date/heure.
représente différentes plages de valeurs, et la plage de valeurs de datetime est beaucoup plus grande que la plage de valeurs de timestamp. l’horodatage sera terminé d’ici 2037.
Si aucune valeur n'est attribuée à l'horodatage, la valeur de ce champ est en fait la date et l'heure actuelles du serveur mysql.
Pour les dates ou heures du même type d'horodatage. Différentes pertes donnent des résultats différents. L'utilisation de la commande MySQL show varialbes comme "time_zone" affichera les informations suivantes.
Ce SYSTÈME signifie que l'heure du système est utilisée.
Lorsqu'un enregistrement contenant des données d'horodatage est modifié, les données d'horodatage seront automatiquement mises à jour à la date et à l'heure actuelles du serveur mysql.
Type binaire MySQL
Je ne devrais pas être impliqué dans les types de données binaires dans la base de données MySQL, du moins pas encore. Il suffit de savoir que MySQL peut stocker des données binaires, je pense. Revenez étudier si nécessaire à l’avenir.
Quelques idées :
(1) Lorsque vous répondez aux exigences de l'application (plage de valeurs et précision), essayez d'utiliser des types de données courts.
(2) Plus le type de données est simple, mieux c'est.
(3) Essayez d'utiliser des types décimaux précis.
(4) Essayez d'utiliser les types de données de date et d'heure intégrés au lieu d'utiliser des chaînes pour stocker les dates et les heures.
(5) Essayez d'éviter les champs nuls, et il est recommandé de spécifier les champs comme contraintes non nulles. En effet, il est difficile d'optimiser les requêtes pour les colonnes contenant des valeurs nulles dans MySQL. Les valeurs nulles rendront les statistiques d'index et les opérations d'optimisation de comparaison plus compliquées. Il est recommandé d'utiliser 0, une valeur spéciale ou une chaîne vide au lieu de null.
Tous les articles de mon blog sont originaux. Certains articles peuvent citer des informations pertinentes, mais la source a été clairement indiquée. N'hésitez pas à réimprimer et à partager, mais vous devez ajouter un lien vers cet article et une déclaration de droit d'auteur.
Ce qui précède est le contenu des notes d'étude Mysql (1). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !