Les instructions suivantes sont des instructions Mssql et ne peuvent pas être utilisées en accès.
Classement SQL :
DDL : langage de définition de données (CREATE, ALTER, DROP, DECLARE)
DML : langage de manipulation de données (SELECT, DELETE, UPDATE, INSERT)
DCL – Langage de contrôle des données (GRANT, REVOKE, COMMIT, ROLLBACK)
Tout d’abord, une brève introduction aux déclarations de base :
1. Instructions : Créer une base de données
CREATE DATABASE nom-base de données
2. Description : Supprimer la base de données
supprimer le nom de base de données
3. Description : Sauvegarder le serveur SQL
--- Créer un périphérique pour les données de sauvegarde
UTILISER le maître
EXEC sp_addumpdevice 'disque', 'testBack', 'c:mssql7backupMyNwind_1.dat'
--- Démarrer la sauvegarde
SAUVEGARDE DES Pubs DE BASE DE DONNÉES À testBack
4. Description : Créer une nouvelle table
créer un nom d'onglet de table (col1 type1 [non nul] [clé primaire], col2 type2 [non nul],..)
Créez une nouvelle table basée sur une table existante :
A : créez la table tab_new comme tab_old (utilisez l'ancienne table pour créer une nouvelle table)
B : créer la table tab_new en sélectionnant col1, col2… à partir de la définition tab_old uniquement
5. Description :
Supprimer une nouvelle table : supprimer le nom de l'onglet de la table
6. Description :
Ajouter une colonne : Modifier le nom de l'onglet de la table, ajouter le type de colonne
Remarque : Une fois qu'une colonne est ajoutée, elle ne peut pas être supprimée. Dans DB2, le type de données ne peut pas être modifié une fois la colonne ajoutée. La seule chose qui peut être modifiée est d'augmenter la longueur du type varchar.
7. Description :
Ajouter une clé primaire : modifier le nom de l'onglet de la table, ajouter une clé primaire (col)
illustrer:
Supprimer la clé primaire : modifier le nom de l'onglet de la table, supprimer la clé primaire (col)
8. Description :
Créer un index : créer un index [unique] idxname sur tabname (col….)
Supprimer l'index : supprimer l'index idxname
Remarque : L'index ne peut pas être modifié. Si vous souhaitez le modifier, vous devez le supprimer et le reconstruire.
9. Description :
Créer une vue : créer la vue viewname en tant qu'instruction select
Supprimer une vue : supprimer la vue viewname
10. Description : Plusieurs sélections d'instructions SQL de base simples : sélectionnez * dans la table 1 où insertion de plage : insérer dans la table 1 (champ 1, champ 2) valeurs (valeur 1, valeur 2)
Supprimer : supprimer de la table1 où mise à jour de la plage : mettre à jour la table1 définir champ1=valeur1 où recherche de plage : sélectionner * de la table1 où champ1 comme '%valeur1%' ---la syntaxe de like est très sophistiquée, vérifiez les informations !
Tri : sélectionnez * dans la table 1, triez par champ 1, champ 2 [desc]
Nombre total : sélectionnez le nombre * comme nombre total dans le tableau 1
Somme : sélectionnez somme (champ 1) comme valeur de somme dans la table 1
Moyenne : sélectionnez avg(field1) comme valeur moyenne dans le tableau 1
Maximum : sélectionnez max(field1) comme valeur maximale dans la table1
Minimum : sélectionnez min(field1) comme valeur minimale dans la table1
11. Description : Plusieurs opérateurs de requête avancés A : Opérateur UNION L'opérateur UNION dérive une table de résultats en combinant deux autres tables de résultats (telles que TABLE1 et TABLE2) et en éliminant toutes les lignes en double dans la table. Lorsque ALL est utilisé avec UNION (c'est-à-dire UNION ALL), les lignes en double ne sont pas éliminées. Dans les deux cas, chaque ligne de la table dérivée provient de TABLE1 ou de TABLE2.
B : Opérateur EXCEPT L'opérateur EXCEPT dérive une table de résultats en incluant toutes les lignes qui se trouvent dans TABLE1 mais pas dans TABLE2 et en éliminant toutes les lignes en double. Lorsque ALL est utilisé avec EXCEPT (EXCEPT ALL), les lignes en double ne sont pas éliminées.
C : opérateur INTERSECT L'opérateur INTERSECT dérive une table de résultats en incluant uniquement les lignes qui se trouvent à la fois dans TABLE1 et TABLE2 et en éliminant toutes les lignes en double. Lorsque ALL est utilisé avec INTERSECT (INTERSECT ALL), les lignes en double ne sont pas éliminées.
Remarque : Plusieurs lignes de résultats de requête utilisant des mots d'opérateur doivent être cohérentes.
12. Description : utilisez la jointure externe A, la jointure externe gauche :
Jointure externe gauche (jointure gauche) : le jeu de résultats comprend les lignes correspondantes de la table jointe et toutes les lignes de la table jointe à gauche.
SQL : sélectionnez aa, ab, ac, bc, bd, bf à partir de a LEFT OUT JOIN b ON aa = bc
B:jointure externe droite :
Jointure externe droite (jointure droite) : le jeu de résultats comprend à la fois les lignes de jointure correspondantes de la table de jointure et toutes les lignes de la table de jointure droite.
C : jointure externe complète :
Jointure externe complète : inclut non seulement les lignes correspondantes de la table de connexion symbolique, mais également tous les enregistrements des deux tables jointes.
Deuxièmement, jetons un coup d'œil à quelques bonnes instructions SQL 1. Description : Copiez la table (copiez uniquement la structure, nom de la table source : a, nouveau nom de la table : b) (Accès disponible)
Méthode 1 : sélectionnez * dans b à partir de a où 1<>1
Méthode 2 : sélectionnez le top 0 * dans b à partir de a
2. Description : Copier la table (copier les données, nom de la table source : a, nom de la table cible : b) (Accès disponible)
insérer dans b(a, b, c) sélectionner d,e,f dans b ;
3. Description : Copier des tables entre des bases de données (utiliser des chemins absolus pour des données spécifiques) (Accès disponible)
insérer dans b(a, b, c) sélectionner d,e,f à partir de b dans 'base de données spécifique' où exemple de condition : ..from b dans '"&Server.MapPath(".")&"data.mdb" & "' où..
4. Description : Sous-requête (Nom de la table 1 : a Nom de la table 2 : b)
sélectionnez a,b,c à partir de a où a IN (sélectionnez d à partir de b ) ou : sélectionnez a,b,c à partir de a où a IN (1,2,3)
5. Description : Afficher l'article, l'auteur et l'heure de la dernière réponse
sélectionnez a.title,a.username,b.adddate dans la table a, (sélectionnez max(adddate) adddate dans la table où table.title=a.title) b
6. Description : requête de jointure externe (nom de table 1 : un nom de table 2 : b)
sélectionnez aa, ab, ac, bc, bd, bf à partir de a LEFT OUT JOIN b ON aa = bc
7. Description : Requête de vue en ligne (nom de table 1 : a)
sélectionnez * dans (SELECT a,b,c FROM a) T où ta > 1 ;
8. Description : L'utilisation de between, between limite la plage de données de la requête et inclut les valeurs limites, not between n'inclut pas
sélectionnez * dans la table 1 où le temps entre l'heure 1 et l'heure 2
sélectionnez a,b,c, dans la table1 où a n'est pas compris entre la valeur 1 et la valeur 2
9. Description : Comment utiliser dans
sélectionnez * dans la table1 où un [pas] dans ('value1','value2','value4','value6')
10. Description : Deux tables liées, supprimez les informations de la table principale qui ne sont pas dans la table secondaire
supprimer de la table1 où il n'existe pas (sélectionner * de la table2 où table1.field1=table2.field1)
11. Description : Problème de requête conjointe à quatre tables :
sélectionnez * à partir d'une jointure interne gauche b sur aa=bb jointure interne droite c sur aa=cc jointure interne d sur aa=dd où .....
12. Description : Programmer un rappel cinq minutes à l'avance
SQL : sélectionnez * dans le calendrier où datediff('minute',f start time,getdate())>5
13. Description : une instruction SQL termine la pagination de la base de données
sélectionnez les 10 premiers b.* dans (sélectionnez les 20 premiers champs de clé primaire, triez le champ dans l'ordre des noms de table en triant le champ desc) a, nom de la table b où b. Champ de clé primaire = a. . Description : 10 premiers enregistrements.
sélectionnez le top 10 * formez le tableau 1 où plage 15. Description : sélectionnez toutes les informations de l'enregistrement avec le plus grand a dans chaque groupe de données avec la même valeur b (une utilisation similaire peut être utilisée pour les classements mensuels des forums, les ventes mensuelles chaudes, l'analyse des produits, classement par performance thématique, etc.)
sélectionnez a,b,c dans le nom de la table ta où a=(sélectionnez max(a) dans le nom de la table tb où tb.b=ta.b)
16. Description : Incluez toutes les lignes du TableauA mais pas du TableauB et du TableauC et éliminez toutes les lignes en double pour dériver un tableau de résultats.
(sélectionnez a dans la tableA) sauf (sélectionnez a dans la tableB) sauf (sélectionnez a dans la tableC)
17. Description : Extrayez au hasard 10 éléments de données
sélectionnez le top 10 * dans l'ordre des noms de table par newid()
18. Description : sélectionner au hasard des enregistrements
sélectionnez newid()
19. Description : Supprimer les enregistrements en double
Supprimer du nom de table où l'identifiant n'est pas présent (sélectionnez max(id) dans le groupe de nom de table par col1, col2,...)
20. Description : Répertorier tous les noms de tables dans la base de données
sélectionnez le nom dans les objets système où type = 'U'
21. Description : répertoriez tous les éléments du tableau
sélectionnez le nom dans les colonnes système où id=object_id('TableName')
22. Description : Répertoriez les champs type, fournisseur et pcs, classés par champ type. Case peut facilement implémenter plusieurs sélections, comme dans le cas de sélection.
sélectionnez le type, somme (vendeur de cas lorsque 'A' puis pcs sinon 0 fin), somme (vendeur de cas lorsque 'C' puis pcs sinon 0 fin), somme (vendeur de cas quand 'B' puis pcs sinon 0 fin) FROM groupe de nom de table par type
Afficher les résultats :
type vendeur pcs
Ordinateur A1
Ordinateur A1
Disque B2
Disque A 2
Téléphone portable B 3
Mobile C3
23. Description : Initialiser la table table1
TRONQUER LA TABLE table1
24. Instructions : Sélectionnez les enregistrements de 10 à 15
sélectionnez les 5 premiers * de (sélectionnez les 15 premiers * de la table, commandez par id asc) table_alias, commandez par id desc
Méthode de sélection aléatoire des enregistrements de base de données (à l'aide de la fonction Randomize, implémentée via des instructions SQL)
Pour les données stockées dans une base de données, les fonctionnalités de nombres aléatoires peuvent donner l'effet ci-dessus, mais elles peuvent être trop lentes. Vous ne pouvez pas demander à ASP de "trouver un nombre aléatoire" et de l'imprimer. Une solution courante consiste en fait à créer une boucle comme celle-ci :
Randomiser
RNombre = Int(Rnd*499) +1
Bien que non objRec.EOF
Si objRec("ID") = RNumber ALORS
...voici le script d'exécution...
finir si
objRec.MoveNext
Wende
C'est facile à comprendre. Tout d’abord, vous supprimez un nombre aléatoire compris entre 1 et 500 (en supposant que 500 correspond au nombre total d’enregistrements dans la base de données). Ensuite, vous parcourez chaque enregistrement pour tester la valeur de l’ID et voir si elle correspond au RNumber. Si la condition est remplie, le bloc de code commençant par le mot clé THEN sera exécuté. Si votre RNumber est égal à 495, le parcours de la base de données prendra beaucoup de temps. Même si 500 peut sembler un nombre important, il s'agit néanmoins d'une petite base de données par rapport aux solutions d'entreprise plus robustes, qui contiennent souvent des milliers d'enregistrements dans une seule base de données. N'est-il pas mort maintenant ?
À l'aide de SQL, vous pouvez trouver rapidement l'enregistrement exact et ouvrir un jeu d'enregistrements contenant uniquement cet enregistrement, comme suit :
Randomiser
RNombre = Int(Rnd*499) + 1
SQL = "SELECT * FROM Clients WHERE ID = " & RNumber
définir objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
Au lieu d’écrire le RNumber et l’ID, il vous suffit de vérifier s’il y a une correspondance. Tant que vous êtes satisfait du fonctionnement du code ci-dessus, vous pouvez manipuler les enregistrements « aléatoires » selon vos besoins. Recordset ne contient aucun autre contenu, vous pouvez donc trouver rapidement les enregistrements dont vous avez besoin, ce qui réduit considérablement le temps de traitement.
Parlons à nouveau des nombres aléatoires. Maintenant que vous êtes déterminé à extraire la dernière goutte d'huile de la fonction Aléatoire, vous pouvez supprimer plusieurs enregistrements aléatoires à la fois ou vouloir utiliser des enregistrements dans une certaine plage aléatoire. En étendant l'exemple aléatoire standard ci-dessus, vous pouvez utiliser SQL pour gérer les deux situations ci-dessus.
Pour récupérer plusieurs enregistrements sélectionnés au hasard et les stocker dans le même jeu d'enregistrements, vous pouvez stocker trois nombres aléatoires, puis interroger la base de données pour les enregistrements correspondant à ces numéros :
SQL = "SELECT * FROM Clients WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
Si vous souhaitez sélectionner 10 enregistrements (peut-être une liste de 10 liens à chaque chargement de la page), vous pouvez utiliser BETWEEN ou une équation mathématique pour sélectionner le premier enregistrement et le nombre approprié d'enregistrements incrémentiels. Cette opération peut être effectuée de plusieurs manières, mais l'instruction SELECT ne montre qu'une seule possibilité (l'ID ici est un numéro généré automatiquement) :
SQL = "SELECT * FROM Clients WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"
Remarque : Le but de l'exécution du code ci-dessus n'est pas de vérifier s'il existe 9 enregistrements simultanés dans la base de données.
Lire au hasard plusieurs enregistrements et tester
Syntaxe d'accès : SELECT top 10 * À partir du nom de la table ORDER BY Rnd(id)
Serveur SQL : sélectionnez le premier n * dans l'ordre des noms de table par newid()
mysql select * À partir du nom de la table Order By rand() Limite n
Syntaxe d'accès aux jointures gauches (le développement récent nécessite l'utilisation de jointures gauches. Il n'y a rien dans l'aide d'Access. Il n'y a pas de description SQL d'Access sur Internet. Je ne peux la tester que par moi-même. Je vais l'écrire maintenant pour référence future. .)
Syntaxe select table1.fd1,table1,fd2,table2.fd2 De la table1, joignez à gauche la table2 sur la table1.fd1,la table2.fd1 où...
Utilisez des instructions SQL pour remplacer la syntaxe d'affichage de chaîne trop longue par... :
Base de données SQL : sélectionnez le cas lorsque len(field)>10 puis left(field,10)+'...' sinon le champ se termine par news_name, news_id à partir du nom de la table
Base de données Access : SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename ;
Conn.Execute Description Méthode Execute Cette méthode est utilisée pour exécuter des instructions SQL. Selon que le jeu d'enregistrements est renvoyé ou non après l'exécution de l'instruction SQL, le format d'utilisation de cette méthode est divisé en deux types :
1. Lorsqu'une instruction de requête SQL est exécutée, le jeu d'enregistrements obtenu par la requête sera renvoyé. L'utilisation est :
Définir le nom de la variable d'objet = objet de connexion.Execute("SQL Query Language")
Après l'appel de la méthode Execute, un objet recordset sera automatiquement créé et les résultats de la requête seront stockés dans l'objet record. Grâce à la méthode Set, le jeu d'enregistrements sera attribué à l'objet spécifié pour le stockage. représente l'objet jeu d'enregistrements.
2. Lors de l'exécution du langage opérationnel SQL, aucun jeu d'enregistrements n'est renvoyé. L'utilisation à l'heure actuelle est la suivante :
Objet de connexion.Exécuter "Instruction opérationnelle SQL" [, RecordAffected][, Option]
·RecordAffected est facultatif. Une variable peut être placée ici Une fois l'instruction SQL exécutée, le nombre d'enregistrements effectifs sera automatiquement enregistré dans la variable. En accédant à cette variable, vous pouvez savoir sur combien d'enregistrements l'instruction SQL a opéré.
·Option facultative, la valeur de ce paramètre est généralement adCMDText, qui est utilisée pour indiquer à ADO que le premier caractère après la méthode Execute doit être interprété comme un texte de commande. En spécifiant ce paramètre, vous pouvez rendre l'exécution plus efficace.
·Les trois méthodes BeginTrans, RollbackTrans et CommitTrans sont des méthodes fournies par l'objet de connexion pour le traitement des transactions. BeginTrans est utilisé pour démarrer une transaction ; RollbackTrans est utilisé pour annuler la transaction ; CommitTrans est utilisé pour soumettre tous les résultats du traitement de la transaction, c'est-à-dire pour confirmer le traitement de la transaction.
Le traitement des transactions peut traiter un groupe d'opérations dans son ensemble. Le traitement des transactions sera considéré comme réussi uniquement lorsque toutes les instructions seront exécutées avec succès ; si une instruction échoue, l'ensemble du traitement échouera et reviendra à l'état précédent.
BeginTrans et CommitTrans sont utilisés pour marquer le début et la fin d'une transaction. Les instructions entre ces deux sont utilisées comme instructions de traitement de transaction. Il est possible de déterminer si le traitement de la transaction a réussi en connectant la collection Error de l'objet. Si le nombre de membres de la collection Error n'est pas 0, cela signifie qu'une erreur s'est produite et que le traitement de la transaction a échoué. Chaque objet Error de la collection Error représente un message d'erreur.
L'essentiel de l'encyclopédie des instructions SQL
2006/10/26 13:46
Instruction DELETE
Instruction DELETE : utilisée pour créer une requête de suppression qui peut supprimer des enregistrements d'une ou plusieurs tables répertoriées dans la clause FROM, et la clause satisfait aux conditions de la clause WHERE. Vous pouvez utiliser DELETE pour supprimer plusieurs enregistrements.
Syntaxe : DELETE [table.*] FROM table WHERE critères
Syntaxe : DELETE * FROM table WHERE critères='Mots de requête'
Description : Le paramètre table permet de préciser le nom de la table de laquelle les enregistrements sont supprimés.
Le paramètre critères est une expression utilisée pour spécifier quels enregistrements doivent être supprimés.
Vous pouvez utiliser la méthode Execute avec une instruction DROP pour supprimer une table entière de la base de données. Cependant, si vous supprimez le tableau de cette manière, vous perdrez la structure du tableau. La différence est que lorsque DELETE est utilisé, seules les données seront supprimées ; la structure de la table et tous les attributs de la table sont toujours conservés, tels que les attributs de champ et les index.
MISE À JOUR
Concernant la MISE À JOUR, urgent ! ! ! ! ! ! ! ! ! ! !
Table A (ID, FIRSTNAME, LASTNAME) dans la base de données ORACLE
Tableau B(ID,NOM)
Les données des champs ID d'origine et FIRSTNAME du tableau A sont complètes. Les données des champs ID d'origine et LASTNAME du tableau B sont maintenant complètes. Nous devons maintenant remplir les données correspondantes du champ LASTNAME du tableau B dans le LASTNAME. tableau A. emplacement correspondant. Les champs ID des deux tables sont liés les uns aux autres.
Merci d'avance!!!!
mettre à jour un ensemble a.lastname=(sélectionnez b.lastname à partir de b où a.id=b.id)
Maîtrisez les quatre instructions d'opération de données les plus élémentaires de SQL : Insérer, Sélectionner, Mettre à jour et Supprimer.
La pratique de SQL est un atout précieux pour les utilisateurs de bases de données. Dans cet article, nous vous guiderons pour maîtriser les quatre instructions de manipulation de données les plus élémentaires (les fonctions essentielles de SQL) pour introduire les opérateurs de comparaison, les assertions de sélection et la logique à trois valeurs en séquence. Lorsque vous terminez ces études, il est évident que vous commencez à maîtriser SQL.
Avant de commencer, utilisez l'instruction CREATE TABLE pour créer une table (comme le montre la figure 1). Les instructions DDL définissent des objets de base de données tels que des tables, des colonnes et des vues. Ils ne traitent pas les lignes de la table car les instructions DDL ne traitent pas les données réelles de la base de données. Ces tâches sont gérées par un autre type d'instruction SQL : les instructions DML (Data Manipulation Language).
Il existe quatre opérations DML de base dans SQL : INSERT, SELECT, UPDATE et DELETE. Comme ceux-ci sont couramment utilisés par la plupart des utilisateurs de SQL, il est nécessaire que nous les expliquions un par un ici. Dans la figure 1, nous donnons un tableau nommé EMPLOYÉS. Chaque ligne correspond à un dossier d'employé spécifique. Veuillez vous familiariser avec ce tableau, nous l'utiliserons dans les exemples suivants