mysql查询语句(mysql学习笔记七)_MySQL
bitsCN.com
Sql语句
一般顺序GHOL : group by,having ,order by,limit
如果是分组,应该使用对分组字段进行排序的group by语法
Limit start ,length
去除重复记录默认为all
Select distinct 字段 from
Select distinct * from 没用(所有字段组合不相同才认为不相同,用在这里基本没用),记录值完全一样时取其一个
Union查询
把两个select 结果union起来
( select 语句1)union(select 语句2)
选出英语最高分和数学最高分的学生的id,name ,class
注意加括号
有重复记录时的合并
按english由高到低和由低到高的结果合并
在符合语句中 order by功能受影响,需加上limit
子语句的排序
1.将子语句包裹在子括号内
2.子语句的 order by
中有order by配合Limit使用时才生效。
原因是:union在做子语句时,会对没有limit的order by优化(忽略)
所有结果排序
只需要在最后一个select语句后增加相应排序即可。
子语句括号非必须最后一个排序默认针对所有结果。
Union检索的字段必须个数一样(否者出错),数据类型也一样(发生类型转换) 列名由第一个select检索列名来定
子查询
语句内部的查询语句
表中数据
查出英语成绩最高的学生的信息
不用子查询:
但有2个学生英语成绩最高且一致,这个时候在不知道表里数据的情况下就不能使用这种查询方法
思路:先找出英语成绩最大的那个值,再找出哪些学生的英语成绩与这个最大的值相等。这样一步一步进行查询。
只检索一个字段时可以作为一个值使用,必须只检索一个字段
子查询分类
不同的分类会有不同的使用方式
分类标准:
子查询出现的位置
子查询的返回值形式
返回值分类:
单一值,单列,多列,多行多列(表)
出现位置:
Where 型,where 后
From型 from后
Exists型
使用:
标量的:获得一个值后用关系运算符进行运算(> >=, )
列子查询(只是1列):获得一列通常是对个行的一列值(一个集合)
使用in,not in运算符
查出班级为php101中所有学生的信息
集合操作符还有
Any(集合) 集合中的任意一个
=any(集合) 等于集合中的任意一个即可
等同于in
=All(集合) 集合中的所有元素
!=all(集合) 不等于集合中的所有元素等同于Not in
!=any(集合) 不等于集合中的任意一个元素成立即可,即为只要不等于其中的一个元素即为成立的。
注意:这种语法不该出现在实际开发中
Some(集合) 集合中的一些
语法上与any一样
总结:
=any 等同于in
!=all 等同于 not in
Some 和any同义
All,any ,some可以使用除了=,!=之外运算符,比in强大
返回一行
在参与比较时,使用括号可以构建一行
(field1,field2,…)
表中数据
现在要查询出和贺8在同样的班级且与他math成绩一样的同学的信息
子查询
返回一个表
如果用在from子句内,要求要是一个表
现在是查询结果,必须给这个查询结果起别名
表中数据
查询php103班 english不及格的学生信息
必须有别名
Exists
如果子查询可以返回数据则返回真,否者返回假
有以下2表
A表
B表
在a中查询出id在 b中有的记录
先获取a表的第一行记录,在子查询中判断a表的id与b表的id比较
连接查询
Join
每个实体,一个表
一个业务逻辑,使用多个实体的数据
多张表应该在一起使用,将多个表的记录连接起来
Teacher表
Teacher_class1表
查出代课老师的代课信息
笛卡尔(交叉)连接
内连接处理
在连接时,是可以省略连接条件的。意味着,所有的左表数据,都要与右表的记录做一个连接
共存在m*n个连接
称之为交叉连接或笛卡尔集
此时可以使用 cross join代替inner join
Mysql中cross join与inner join相同
Inner join是默认的连接方式(inner 省略)
等效的
也可使用
表示笛卡尔积
结果虽然一样
On数据连接条件
Where数据过滤条件
但 where是先连接成笛卡尔积
然后做筛选,而on 是在连接时就判断
上表是连接条件2个
下表是
过滤条件2个
下表连接过滤各一个
Using:要求负责连接的两个实体之间字段名称一致。
查询条件与外连接通用 外连接不能用where作为连接条件。
注意:
无论是连接条件还是连接查询多字段列表,都没必要一定要写表名.字段语法,是否写取决于是否发生冲突。建议写上。
别名
表应该别名,保证简洁清晰。
列别名
外连接:
分类
左外连接
右外连接
全外连接(暂不支持)
左连接
在连接时,如果出现左边表,数据连接不到右边表的情况,则左表的数据在最终结果内保留。而如果出现右表的数据连接不到左标的情况,右表数据被丢弃。
由于内连接没有左右连接之分,left outer join中outer可以省略。
在外连接中不可以用where做连接条件可用on ,using
表别名可以用在连接条件里,但字段别名不可以。
表起别名后,在筛选或者连接条件里必须用别名,原名不能用了
左表teacher里的数据孙武连接不上也保留。
全外连接左外与右外 union(取并集)
内连接是左外右外交集
Using会去掉结果中重复字段,并放在列首
外连接不能使用没有条件的连接(不像内连接那样形成笛卡尔积)
自然连接
通过mysql自己判断完成连接过程。不需要指定连接条件,mysql会使用多表内相同的字段作为连接条件。
表one数据
Two表数据
自然连接也有内外之分
内:natural join
外:左外natural left join ,右外 natural right join

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vous pouvez ouvrir PHPMYADMIN via les étapes suivantes: 1. Connectez-vous au panneau de configuration du site Web; 2. Trouvez et cliquez sur l'icône PHPMYADMIN; 3. Entrez les informations d'identification MySQL; 4. Cliquez sur "Connexion".

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

Redis utilise une architecture filetée unique pour fournir des performances élevées, une simplicité et une cohérence. Il utilise le multiplexage d'E / S, les boucles d'événements, les E / S non bloquantes et la mémoire partagée pour améliorer la concurrence, mais avec des limites de limitations de concurrence, un point d'échec unique et inadapté aux charges de travail à forte intensité d'écriture.

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Apache se connecte à une base de données nécessite les étapes suivantes: Installez le pilote de base de données. Configurez le fichier web.xml pour créer un pool de connexion. Créez une source de données JDBC et spécifiez les paramètres de connexion. Utilisez l'API JDBC pour accéder à la base de données à partir du code Java, y compris l'obtention de connexions, la création d'instructions, les paramètres de liaison, l'exécution de requêtes ou de mises à jour et de traitement des résultats.

Les méthodes de visualisation des erreurs de base de données SQL sont: 1. Afficher directement les messages d'erreur; 2. Utilisez des erreurs d'affichage et des commandes d'avertissement Show; 3. Accédez au journal d'erreur; 4. Utiliser les codes d'erreur pour trouver la cause de l'erreur; 5. Vérifiez la connexion de la base de données et la syntaxe de requête; 6. Utilisez des outils de débogage.

La surveillance efficace des bases de données Redis est essentielle pour maintenir des performances optimales, identifier les goulots d'étranglement potentiels et assurer la fiabilité globale du système. Le service Redis Exporter est un utilitaire puissant conçu pour surveiller les bases de données Redis à l'aide de Prometheus. Ce didacticiel vous guidera à travers la configuration et la configuration complètes du service Redis Exportateur, en vous garantissant de créer des solutions de surveillance de manière transparente. En étudiant ce tutoriel, vous réaliserez les paramètres de surveillance entièrement opérationnels
