recherche
Maisonbase de donnéestutoriel mysqlMySQL est souvent mal compris par nous



MySQL, en tant que force majeure des bases de données, existe partout dans nos différents systèmes, je crois que tout le monde le connaît ! Cependant, ce n'est pas parce que vous savez que vous pouvez l'utiliser que vous connaissez les détails, alors faisons le point sur certaines des choses auxquelles nous ne prêtons généralement pas beaucoup d'attention, d'abord pour le plaisir, et ensuite pour nous empêcher d'entrer dans ce domaine. pièges.

Avertissement : si vous voulez connaître les détails, lisez le code source. Je n'ai vraiment pas cette capacité, donc je ne peux parler de certaines choses que d'un point de vue unilatéral !

1. Insensible à la casse (nom du champ)

Les noms de champs de requête MySQL ne sont pas sensibles à la casse, mais le contenu de la requête est sensible à la casse, donc si vous pouvez utiliser des traits de soulignement pour nommer, n'utilisez pas de distinction de casse lors de la dénomination, telle que :

  1. SELECT uid, v_state FROM all_user WHERE username = 'sunyue';

  2. SELECT uid,v_state FROM all_user WHERE USERNAME = 'sunyue'; // Identique au résultat de la déclaration précédente, les champs ne sont pas sensibles à la casse.


  3. SELECT uid,v_state FROM all_user WHERE USERname = 'SUNYUE'; Écrire

Copier le code

2. Correspondance floue ([_] correspond à n'importe quel caractère)

Bien que la correspondance floue a une signification un peu régulière, vous ne pouvez pas la faire correspondre dans la base de données aussi librement qu'une correspondance normale. Essayez simplement de simplifier la correspondance autant que possible ! (Nom supplémentaire : sphinx de recherche en texte intégral)

  1. SELECT uid,v_state FROM all_user WHERE USERNAME LIKE 'su_yue' //Underscore [_] correspond à n'importe quel single ; caractère

  2. SELECT uid,v_state FROM all_user WHERE USERNAME LIKE 'su%yue'; //% correspond à n'importe quel nombre de caractères

  3. SELECT uid ,v_state FROM all_user WHERE USERNAME NOT LIKE 'su%'; /t like Obtenir les informations non incluses

Copier le code

3. Comment deviner une fonction

En tant que base de données relationnelle, MySQL s'adresse aux développeurs ordinaires, donc tout est aussi convivial que possible. Donc, si vous ne savez pas ce qu’est une certaine fonction, alors peut-être pouvez-vous la deviner, car si une fonction rend impossible aux autres de la deviner, alors c’est peut-être une conception ratée. Pour MySQL, tant que votre niveau d'anglais est légèrement meilleur, vous pouvez facilement réfléchir à la manière d'écrire une requête relationnelle. Par conséquent, la capacité à deviner dépend de votre niveau d’anglais, hahaha ! ! !

4. remplacer dans la syntaxe

replace into est une méthode d'insertion très grossière, mais il est également nécessaire de l'utiliser dans des scénarios appropriés. Par exemple, certaines données qui doivent être écrasées à tout moment doivent être remplacées, mais pour certaines tables à incrémentation automatique, vous. devrait essayer d'éviter de l'utiliser, car ce serait un gaspillage d'ID, et il n'est peut-être pas nécessaire d'utiliser replace

5 insérer dans la syntaxe de mise à jour de la clé dumplicate

.

Cette méthode d'écriture est relativement douce, mais la vitesse est nettement plus lente. On dit que seul MySQL possède cette fonctionnalité. Si vous ne voulez pas vérifier si les données existent déjà avant de les insérer, c'est peut-être un bon choix !

6. expliquer la syntaxe

C'est un moyen efficace de vérifier l'effet de la requête. En fait, j'utilise rarement cette fonction, mais si un développeur l'utilise souvent. , alors, je crois qu’il doit être une personne formidable. Grâce à cette commande, vous pouvez déterminer si la déclaration que vous avez écrite est optimisée et, sinon, quelle est la direction. Il faut dire que plus vous l’utilisez, plus vous connaîtrez les résultats, alors utilisez-le simplement davantage !

7. Longueur de l'index

La longueur maximale de l'index de myisam est de 1000 octets et la longueur maximale de l'index d'innodb est de 767 octets ! Soyez prudent lorsque vous l'utilisez. S'il dépasse la plage, il dépassera les attentes !

8. Copie de la bibliothèque

1) Données directement la commande de sauvegarde et de récupération de la base de données fournie avec MySQL

2) Copiez directement les fichiers vers ; le serveur de destination (Faites attention au problème d'occupation du processus) ;

3) Utilisez des outils de synchronisation ; Je pense personnellement que la deuxième méthode est la plus simple !

9. Partitionnement

Pour certaines tables qui peuvent être très volumineuses, des opérations de partitionnement sont nécessaires. Si cela est nécessaire, vous devez en ajouter au moins une. au début de la partition, sinon la partition ne pourra pas être utilisée plus tard. (Du moins je le pense)

10. Requête lente

Requête lente, il s'agit d'un problème de surveillance des performances. Si les performances du serveur sont trop mauvaises, s'il y a un enregistrement d'une requête aussi lente lors du dépannage, le dépannage sera plus efficace !

11. binlog

binlog, cette fonction est généralement utilisée. Elle est très nécessaire pour la récupération de données, l'enregistrement des opérations de données, etc.!

12. Autres vues, procédures stockées, événements que vous devriez connaître...

Vues, ​​événements, etc., ce sont quelques applications avancées, j'en ai trouvé beaucoup projets Ce genre d'application n'existe pas du tout, et du moins les projets que j'ai rencontrés n'y participent quasiment jamais, ou s'ils le sont, c'est fait au hasard par d'autres ! Mais encore faut-il comprendre les fonctions avancées, qu’elles soient utiles ou non !

13. Les outils disponibles

phpMyAdmin, en tant que moyen distant et sûr d'exploiter la base de données, est toujours très bon, mais en tant qu'opération locale, c'est un peu maladroit ; sqlyog , bien que l'interface soit démodée, elle reste relativement pratique ; navicat est plus professionnel, mais il faut s'adapter à ses différentes formes d'expression en ligne de commande, je pense que personne n'utilisera directement la ligne de commande pour les opérations ; , mais la ligne de commande est fondamentale !

Il y a beaucoup de choses qui doivent être approfondies. Si vous en avez le temps et les capacités, vous devriez vous plonger dans le code source !

Ce qui précède est le contenu de MySQL qui est souvent mal compris par nous. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


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
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.