Comment interroger une instruction MySQL : lors de l'interrogation d'enregistrements dans une table, le code est [select * from table name which name='long' and age ='18'], ajoutez le nom de la table après from, et suivre où Condition, sélectionner est suivi du champ filtré.
L'environnement d'exploitation de ce tutoriel : Système Windows 7, mysql version 8.0.22 Cette méthode convient à toutes les marques d'ordinateurs.
Recommandations d'apprentissage gratuites associées : Tutoriel vidéo MySQL
Comment interroger les instructions MySQL :
Interroger une table dans MySQL Quand enregistrement
l'ordre d'écriture est : select * from 表名 where name='long' and age ='18';
mais l'ordre d'exécution dans mysql est
par derrière Ajouter le nom de la table pour confirmer dans quelle table vous vous trouvez
Où est suivi des conditions pour filtrer le contenu de cette table
Sélectionner est suivi de où Certains champs dans les données filtrées * sont tous des champs
# Le résultat de l'exécution de l'instruction de requête est également une table, qui peut être considérée comme une table virtuelle
Nous créons un tableau des employés emp
Lorsque nous avons beaucoup de champs, la disposition des résultats peut être brouillonne. Nous pouvons ajouter en fin de champ. instruction de requête G pour normaliser les résultats de la requête
select * from 表名\G;
1 . Interrogez les données avec un identifiant supérieur ou égal à 3 et inférieur ou égal à 6
Laissez-moi vous montrer l'opération réelle 1. Déterminez d'abord de quelle table elles proviennent emp 2. Filtrez les conditions où id > = 3 et id <=6; 3.select *
select * from emp where id >= 3 and id <= 6; select * from emp where id between 3 and 6; between 等价于id >= 3 and id <= 6
2 Interrogez les données dont le salaire est de 20000 ou 18000 ou 17000
select id,name from emp where salary = 20000 or salary = 18000 or salary = 17000; select id,name from emp where salary in (20000,18000,17000);
3. les noms contiennent la lettre o
Fuzzy match % correspond à plusieurs caractères arbitraires _ correspond à n'importe quel caractère arbitraire
select name,salary from emp where name like '%o%';
4. Interrogez le nom de l'employé composé de quatre caractères et son salaire <. 🎜>
select name, salary from emp where length(name) =4; select name ,salary from emp where name like "____"
select * from emp where id<3 or id >6; select * from emp where id not between 3 and 6;
select * from emp where salary not in (20000,17000,18000);
Vous ne pouvez utiliser is que lorsque vous jugez null. Vous ne pouvez pas utiliser =
select name ,post from emp where post_comment is null;
MySQL n'est pas sensible à la casse. , vous pouvez utiliser des majuscules et des minuscules
1 groupe par groupeselect * from emp group by post; # 按照部门分组
mode strict n'est pas défini
show variables '%mode%'; # 找到严格模式所在的地方set session # 临时有效 set global # 永久有效set global sql_mode= 'strict_trans_tables' # 设置字符类型的自动截取set global sql_mode="strict_trans_tables,pad_char_to_full_length" #char 取出时 取消自动去空格set global sql_mode='strict_trans_tables,only_full_group_by' # 设置分组后 最小单位是组
此时你如果还使用 select name from emp group by post; 就会报错 #ERROR 1055 (42000): 'day37.emp.name' isn't in GROUP BYselest 后应该接的是 你分组的字段名
informations des champs groupés Vous ne pouvez pas obtenir directement les informations des autres champs mais vous pouvez les obtenir indirectement via d'autres méthodes (fonction d'agrégation)
Obtenezle salaire le plus élevé de chaque département
L'exigence est que chaque département indique qu'il existe des groupes, alors regroupez-le d'abord et utilisez la fonction d'agrégation pour obtenir la valeurselect post ,max(salary) from emp group by post;
select post,min(salary) emp group by post; select post,min(salary) as '最小' from emp group by post;
select post,avg(salary) from emp group by post;
select post,sum(salary) from emp group by post;
select post,count(age) from emp group by post; select post,count(salary) from emp group by post; select post,count(id) from emp group by post; select post,count(post_comment) from emp group by post;
Il est recommandé d'utiliser des champs permettant d'identifier de manière unique les données, tels que le champ d'identification. . La fonction d'agrégation fera automatiquement le calcul souhaité sur les données individuelles de chaque groupe sans que vous ayez à y penser
3.group_concat
select post, group_concat(name) from emp group by post;
select post,group_concat('hahha',name) from emp group by post;
group_concat()能够拿到分组后每一个数据指定字段(可以是多个)对应的值
group_concat(分组之后用)
concat(不分组时用)
查询每个员工的年薪
select name,salary*12 from emp;
相关免费学习推荐:php编程(视频)
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!