Opérations de données MySQL_____ ajouter, supprimer, modifier et vérifier

manipulation de données de table

1. Ajouter des données

1. Ajouter toutes les colonnes (créer)

insert into score values(, , ,);

construire un tableau
insérez la description de l'image ici

1.1 Insertion d'une colonne complète sur une seule ligne

insérez la description de l'image ici
Remarque : Si vous ne spécifiez pas de colonne lors de l'ajout, l'ordre des valeurs insérées doit être cohérent avec l'ordre dans lequel la table a été créée.

1.2 Insertion de colonnes pleines sur plusieurs lignes

insert into score values( , , , );

insérez la description de l'image ici

2. Spécifiez la colonne à insérer

insert into score( , , , ) values( , , , );

insérez la description de l'image ici
Remarque :
Les colonnes doivent être spécifiées
L'ordre des valeurs insérées doit être cohérent avec l'ordre des colonnes spécifiées
Extension : Répertoire de stockage des tables et des données de table (deux méthodes)
insérez la description de l'image ici
insérez la description de l'image ici

2. Interroger les données (Récupérer)

1. Requête de colonne complète

select * from table_name;

insérez la description de l'image ici
Il peut y avoir deux problèmes avec la requête de colonne complète :
1. Plus il y a de colonnes interrogées, plus la quantité de données à transmettre est importante, ce qui consommera beaucoup d'informations sur la bande passante et la vitesse de transmission sera très lente ;
2. Cela peut affecter l'utilisation de l'index.

2. Spécifiez la requête de colonne

select 列名 from 表名

insérez la description de l'image ici

3. Requête d'expression

select 表达式 from 表名;

insérez la description de l'image ici
insérez la description de l'image ici
Requête d'expression SQL, ne modifiera pas les données d'origine de la table

4. Requête d'alias (alias la colonne spécifiée)

select 指定列 as 别名 from 表名;

insérez la description de l'image ici
insérez la description de l'image ici

Peut être utilisé comme ou non

5. Déduplication distincte

5.1 Déduplication sur une seule colonne

select distinct 去重列名 from 表名;

insérez la description de l'image ici

5.2 déduplication conjointe distincte

Règle : Tous les champs sont identiques avant d'être combinés pour supprimer les doublons, sinon ils ne seront pas dupliqués.
insérez la description de l'image ici

6. Trier la commande par

6.1 ascendant asc selon une colonne - de petit à grand

select * from 表名 order by 列名 asc;

insérez la description de l'image ici

6.2 Descendant selon une colonne desc - de grand à petit

select * from 表名 order by 列名 desc;

insérez la description de l'image ici
Si asc ou desc ne sont pas spécifiés, asc est utilisé par défaut

6.3 Ordre croissant basé sur le score total

select 列名 from 表名 oeder by 列名 asc;

insérez la description de l'image ici

6.4 Selon le score total par ordre décroissant, le score total utilise un alias

select 列名 from 表名 oeder by 列名 desc;

insérez la description de l'image ici
Remarque : trier par peut être trié à l'aide d'alias
NULL est le niveau minimum lors du tri

6.5 Tri multi-colonnes

 select name,math,chinese from score order by math,chinese desc;

insérez la description de l'image ici

7. Requête conditionnelle

insérez la description de l'image ici
Remarque : La priorité d'exécution de l'opérateur logique et est supérieure à celle de ou, donc s'il y a à la fois une requête et et une requête ou dans une requête, vous devez ajouter () à la requête ou, la fonction est d'augmenter la priorité d'exécution, add () L'instruction SQL est prioritaire.
Les bourses ne peuvent être délivrées que si les deux conditions suivantes sont remplies :
1. Score en mathématiques >= 30 ou score en anglais >= 40 ;
2. Le score de langue doit être >=50.
Incorrect
insérez la description de l'image ici

7.1<=> Utilisation

insérez la description de l'image ici

7.2 utilisation nulle

insérez la description de l'image ici

7.3 où requête conditionnelle

7.3.1***Remarques :***

1. Les alias peuvent être utilisés dans l'ordre
où la requête conditionnelle ne peut pas utiliser d'alias

select math+chinese+english as total from score order by total desc;

insérez la description de l'image ici
insérez la description de l'image ici

7.3.2.où syntaxe de requête conditionnelle :

selest * from table_name where 查询条件;

insérez la description de l'image ici

Pourquoi les alias ne peuvent-ils pas être utilisés dans où, mais peuvent être utilisés dans l'ordre par

L' ordre d'exécution de mysql est le suivant :
1.FROM stage
2.WHERE stage
3.GROUP BY stage grouping query
4.HAVING stage grouping query conditions
5.SELECT stage
6.ORDER BY stage
7.LIMIT stage paging query
alias is generator in la 5ème étape de la requête.
Une fois l'alias obtenu, il peut être utilisé dans les étapes suivantes, c'est-à-dire que l'alias ne peut être utilisé par la requête qu'après l'étape 5.

7.3.3 Se renseigner sur les absents du test d'anglais

insérez la description de l'image ici

7.3.4 Se renseigner sur les personnes dont le score total est supérieur à 100

insérez la description de l'image ici

7.3.5 Nom de champ entre x et y (peut contenir des valeurs x et y)

insérez la description de l'image ici
insérez la description de l'image ici
plus élégant

7.3.6 en requête : tous les ensembles qui satisfont les conditions seront interrogés

insérez la description de l'image ici

7.3.7 Requête floue comme :

%------> peut correspondre à n'importe quel caractère

where 字段名 like '% _';

insérez la description de l'image ici

__------> peut correspondre à un caractère arbitraire

% et _ peuvent être utilisés dans n'importe quelle position
Toutes les requêtes dans NMySQL doivent considérer le principe le plus à gauche et mettre la condition qui peut filtrer le plus d'éléments à l'extrême gauche
insérez la description de l'image ici

8. Requête de pagination LIMIT : Interroger une partie des informations sur une page (une partie des informations est interceptée)

Limitez 3 manières d'écrire :

  1. limite limite n;
select * from table_name limit n;

insérez la description de l'image ici
Le nombre maximum de requêtes est limité à 300. Si la quantité de données n'est pas suffisante, la requête ne rapportera pas d'erreur
2. limit n offset s offset;

limit n offset s  偏移;
                                            查询n条 跳过前s条    

insérez la description de l'image ici

3.limit s,n ;
interroger n éléments, ignorer les s premiers éléments
insérez la description de l'image ici
Remarque : L'ordre de 2. et 3. est inversé

3. Modifier les données

1. Toute modification de données (très dangereux, accidentellement modifié toutes les données)

updata table_name set 修改内容;

insérez la description de l'image ici

2. Modification partielle des données

limite
insérez la description de l'image ici

insérez la description de l'image ici

3. Modification multi-colonnes de certaines données

Positionner , , ,
insérez la description de l'image ici

4. Utilisation de la modification d'expression

insérez la description de l'image ici

4. Opération de suppression de MySQL

1.delete supprimer le langage DML

delete from table_name [where...] [order by...] [limit...]

insérez la description de l'image ici
Supprimer les données de ligne, la structure de la table existe

2.drop supprimer le langage DDL

drop table table_name;

insérez la description de l'image ici

3. truncate delete (ne supprimera pas la structure du tableau, supprimera uniquement toutes les données du tableau)

truncate [table] table_name;

insérez la description de l'image ici

La différence entre les trois

1. L'influence de la suppression :
drop (structure de la table + données) > truncate (supprimer toutes les données) >= delete (supprimer tout ou partie des données)
2. Conditions de requête : delete peut ajouter des conditions de requête aux expressions where, mais d'autres delete les commandes ne le peuvent pas.
3. Le type de commande :
drop appartient à DDL,
delete appartient à DML (principe d'exécution : sous le ***moteur de base de données InnoDB***, delete ne supprime pas vraiment les données, mais marque les données avec une étiquette de suppression pour identifier les données actuelles ont été supprimées)

   ***truncate 属于 DDL***(执行原理:1.重新创建一个表2.将原来的表删除)

**4. La récupération de données est différente : **Les données supprimées peuvent être récupérées, mais les données supprimées par troncature et suppression ne peuvent pas être récupérées

Si autocommit = 1, la suppression peut être restaurée, supprimez le journal updata table table_name set iddel = 0 ;
exécutez l'opération de négation SQL pour restaurer les données. La condition préalable est que la journalisation de la base de données soit activée. Les performances d'exécution de la base de données peuvent être améliorées et le journal peut être désactivé pour les systèmes qui ne sont pas sensibles à la perte de données.
**5. Efficacité d'exécution : **drop > truncate > delete
plus la quantité de données est importante, plus l'écart entre l'efficacité d'exécution ci-dessus est grand.
6. delete delete ne réinitialise pas la valeur enfant ajoutée

Je suppose que tu aimes

Origine blog.csdn.net/biteqq/article/details/123421158
conseillé
Classement