Maison > base de données > tutoriel mysql > le corps du texte

Instructions de requête courantes MySQL

迷茫
Libérer: 2017-01-23 16:53:35
original
1221 Les gens l'ont consulté

Requête de données numériques :

 SELECT * FROM tb_name WHERE sum > 100;
Copier après la connexion

Prédicat de requête :>,=,<,<>,!=,!>,!<,=>,= <

2. Chaîne de requête

 SELECT * FROM tb_stu  WHERE sname  =  &#39;小刘&#39;
 SELECT * FROM tb_stu  WHERE sname like &#39;刘%&#39;
 SELECT * FROM tb_stu  WHERE sname like &#39;%程序员&#39;
 SELECT * FROM tb_stu  WHERE sname like &#39;%PHP%&#39;
Copier après la connexion

3. Interroger les données de date

 SELECT * FROM tb_stu WHERE date = &#39;2011-04-08&#39;
Copier après la connexion

Remarque : Différentes bases de données ont des différences dans les données de date : :
(1)MySQL : SELECT * depuis tb_name WHERE anniversaire = '2011-04-08'
(2)SQL Server :SELECT * depuis tb_name WHERE anniversaire = '2011-04-08'
(3) Accès : SELECT * from tb_name WHERE anniversaire = #2011-04-08#

Quatre données logiques de requête

 SELECT * FROM tb_name WHERE type = &#39;T&#39;
 SELECT * FROM tb_name WHERE type = &#39;F&#39;
Copier après la connexion

Opérateur logique : et ou non

5. Interroger des données non vides

 SELECT * FROM tb_name WHERE address <>&#39;&#39; order by addtime desc
Copier après la connexion

Remarque : <> Équivalent à !=

6. Interroger des données numériques à l'aide de variables

 SELECT * FROM tb_name WHERE id = &#39;$_POST[text]&#39;
Copier après la connexion

Remarque : Lorsque vous utilisez des variables pour interroger des données, les variables transmises à SQL n'ont pas besoin d'être placées entre guillemets, car lorsque les chaînes en PHP sont connectées à des données numériques, le programme convertira automatiquement les données numériques en chaînes, puis se connectera à la chaîne. pour être connecté

Seven utilise des variables pour interroger les données de chaîne

SELECT * FROM tb_name WHERE name LIKE &#39;%$_POST[name]%&#39;
Copier après la connexion

La méthode de correspondance exacte "%%" signifie qu'elle peut apparaître n'importe où

Huit requête les n premiers enregistrements

 SELECT * FROM tb_name LIMIT 0,$N;
Copier après la connexion

L'instruction limit est utilisée en conjonction avec d'autres instructions, telles que les instructions order by, et l'instruction SQL sera en constante évolution, ce qui rend le programme très flexible

Neuf interroge les n enregistrements suivants

 SELECT * FROM tb_stu ORDER BY id ASC LIMIT $n
Copier après la connexion

Dix interroge les n enregistrements à partir de la position spécifiée

 SELECT * FROM tb_stu ORDER BY id ASC LIMIT $_POST[begin],$n
Copier après la connexion

Remarque : L'identifiant des données commence à 0

Les n premiers enregistrements dans les résultats statistiques de la onzième requête

 SELECT * ,(yw+sx+wy) AS total FROM tb_score ORDER BY (yw+sx+wy) DESC LIMIT 0,$num
Copier après la connexion

Les données de la période spécifiée dans la douzième requête

SELECT Champ à trouver FROM Nom de la table WHERE Nom du champ BETWEEN Valeur initiale ET Valeur finale

 SELECT * FROM tb_stu WHERE age BETWEEN 0 AND 18
Copier après la connexion

Treizième requête de données statistiques par mois

 SELECT * FROM tb_stu WHERE month(date) = &#39;$_POST[date]&#39; ORDER BY date ;
Copier après la connexion

Remarque : le langage SQL fournit les fonctions suivantes, qui peuvent être utilisées pour interroger facilement par année, mois et jour
year(data) : Renvoie la valeur correspondant à l'année et à la minute AD dans le expression de données
mois(données) : renvoie la valeur correspondant au mois et à la minute dans l'expression de données
jour(données) : renvoie la valeur correspondant à la date dans l'expression de données

Quatorzième requête est supérieur à la condition spécifiée Enregistrements

 SELECT * FROM tb_stu WHERE age>$_POST[age] ORDER BY age;
Copier après la connexion

Quinze résultats de requête n'affichent pas d'enregistrements en double
SELECT DISTINCT field name FROM table name WHERE conditions de requête
Remarque : DISTINCT dans l'instruction SQL doit être cohérent avec la clause WHERE À utiliser conjointement, sinon les informations de sortie ne changeront pas et le champ ne peut pas être remplacé par *

Seize NOT et prédicat sont utilisés pour interroger les conditions combinées
(1) NOT BERWEEN … AND … paire entre le début La requête de ligne pour les données entre la valeur et la valeur de fin peut être modifiée en end value
(2)IS NOT NULL Requête pour non null valeurs
(3)IS NULL pair Requête avec des valeurs vides
(4)NOT IN Cette formule précise la recherche d'expression selon que le mot-clé utilisé est inclus dans la liste ou exclu de la liste. l'expression de recherche peut être une constante ou un nom de colonne, et le nom de la colonne peut être un ensemble de constantes, mais le plus souvent il s'agit d'une sous-requête

Dix-sept affiche les enregistrements en double et le nombre d'enregistrements dans la table de données

 SELECT  name,age,count(*) ,age FROM tb_stu WHERE age = &#39;19&#39; group by date
Copier après la connexion

Dix-huit trie les données par ordre décroissant / Requête par ordre croissant
SELECT nom du champ FROM tb_stu WHERE condition ORDER BY champ DESC ordre décroissant
SELECT nom du champ FROM tb_stu WHERE condition ORDER PAR champ ASC ordre croissant
Remarque : Si vous ne spécifiez pas de méthode de tri lors du tri des champs, alors la valeur par défaut est l'ordre croissant ASC

Dix-neuf paires de données sont des requêtes multi-conditions
SELECT nom du champ FROM tb_stu WHERE condition ORDER BY champ 1 ASC champ 2 DESC ...
Remarque : le tri multicondition des informations de requête est Afin de limiter conjointement la sortie des enregistrements, en général, il existe certaines différences dans les effets de sortie car ils ne sont pas limités par une seule condition.

Vingt paires de résultats statistiques sont triées
La fonction SUM (nom du champ [ALL]) ou SUM (nom du champ [DISTINCT]) peut être utilisée pour additionner les champs. is all Additionnez tous les enregistrements de ce champ. S'il est DISTINCT, additionnez les champs de tous les enregistrements uniques dans ce champ
Par exemple :

SELECT name,SUM(price) AS sumprice FROM. tb_price GROUP BY name

SELECT * FROM tb_name ORDER BY mount DESC,price ASC

Vingt et une statistiques de regroupement de données sur une seule colonne

SELECT id,name,SUM(price) AS title,date FROM tb_price GROUP BY pid ORDER BY title DESC
Copier après la connexion

注:当分组语句group by排序语句order by同时出现在SQL语句中时,要将分组语句书写在排序语句的前面,否则会出现错误

二十二多列数据分组统计
多列数据分组统计与单列数据分组统计类似
SELECT *,SUM(字段1*字段2) AS (新字段1) FROM 表名 GROUP BY 字段 ORDER BY 新字段1 DESC

SELECT id,name,SUM(price*num) AS sumprice  FROM tb_price GROUP BY pid ORDER BY sumprice DESC
Copier après la connexion

注:group by语句后面一般为不是聚合函数的数列,即不是要分组的列

二十三多表分组统计

 SELECT a.name,AVG(a.price),b.name,AVG(b.price) FROM tb_demo058 AS a,tb_demo058_1 AS b WHERE a.id=b.id GROUP BY b.type;
Copier après la connexion
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal