Paratte.NET

Chapitre 1– Introduction au langage SAS

Découverte du système SAS à travers les différents modules disponibles

Voici une liste non exhaustive des modules disponibles pour SAS :
• SAS/BASE : le langage de requête de SAS et la gestion des bibliothèques de données SAS, langage SQL, langage L4G et macro langage.
• SAS/STAT, SAS/ETS et SAS/IML : Modules pour les statistiques, les séries chronologiques et la langage matriciel.
• SAS/GRAPH : Module pour la réalisation des graphiques et/ou cartes.
• SAS/FSP : Module de consultation et de mise à jour des données SAS.
• SAS/CONNECT : Module de gestion de la relation Client lourd (SAS/Windows) – Serveur (SAS/UNIX).
• SAS/IT : Module de gestion de la relation Client léger (SEG) – Serveur (SAS/UNIX).

Bibliothèques, tables, vues

Une bibliothèque SAS correspond à un répertoire. Cette bibliothèque contiendra un ou plusieurs fichiers de données SAS sous forme de tables ou de vues.

Une table SAS ou jeu de données SAS est forcément dans une bibliothèque référencée par un nom logique (libref). Elle est constituée de colonnes (les variables) et de lignes (les observations). Il existe deux types de colonnes : numériques et alphanumériques. Les lignes correspondent aux enregistrements.

Les variables

Les variables sont caractérisées par :
Leur nom : de 1 à 32 caractères, ne doit pas commencer par un chiffre, ne doit pas contenir de caractères autres que des chiffres, des lettres non accentuées et le caractère _ (underscore).
Leur type : numérique, numérique-date ou caractère.
Leur libellé : de 1 à 256 caractères, description longue de cette variable qui apparaîtra dans vos sorties.
Leur longueur de stockage en octets : de 3 à 8 octets pour les numériques et de 1 à 32850 octets pour les caractères.
Leur formats : informat pour les formats de saisie et format pour les formats d’édition. Ils contiennent toujours un point délimiteur en fin ou avant les décimales quand il y en a.

Les variables numériques dates ont une longueur de 6 octets. Une date est un nombre entier de jours depuis le 1er janvier 1960. Les dates antérieures au 1er janvier 1960 sont des nombres négatifs.

Les observations

Les données manquantes sont représentées par un point pour les variables numériques et par un blanc pour les variables caractères.

SAS est un langage orienté étapes

SAS est un langage orienté étapes plutôt qu’un langage orienté routines. Un langage orienté routines passe l’information entre les routines avec des arguments, tandis que les différentes étapes de SAS communiquent avec les suivantes par des jeux de données SAS. Ce qui revient à dire que SAS est un langage d’entrées – sorties. Par conséquent, l’optimisation de votre code passera en premier lieu par la limitation des données soit en choisissant quelles variables (colonnes) appartiennent au jeu de données, soit en choisissant quelles observations (lignes) garder dans le jeu de données et en second lieu en limitant le nombre d’étapes où les données sont lues ou créées. Vous pouvez également utiliser les procédures SAS – les instructions PROC. Le détail des différentes instructions PROC sera donné dans les prochains chapitres.

Rôle de l’instruction DATA

L’instruction DATA permet de manipuler les données, c’est-à-dire les nettoyer, les éditer et les restructurer. C’est une sorte de « langage dans le langage », un langage différent de celui des procédures. En effet, l’instruction DATA est plus complexe que les procédures. Vous ne pouvez pas utiliser votre code PROC dans l’instruction DATA et inversement. A la différence des autres langages, SAS est perçu plus comme un groupe de langage interrelié que comme un langage unique. Cela signifie également qu’un programmeur peut devenir expert dans son domaine d’intérêt sans devoir investir trop de temps dans tous les domaines. Toutefois, l’instruction DATA permet de lier tous ces langages entre eux et, de ce fait, est plus importante pour le programmeur SAS que pour l’utilisateur SAS.

Les limites de l’instruction

Certaines instructions ne s’exécutent que lorsqu’elles rencontrent la limite, la fin de l’instruction. Typiquement, l’instruction RUN est cette limite, mais parfois c’est l’instruction QUIT, dans d’autres cas, il n’y en a pas besoin, l’instruction s’exécute immédiatement (par exemple PROC SQL), ou encore l’instruction RUN sert de limite à un groupe d’instruction au sein de la procédure (par exemple PROC DATASETS). Il est également possible de mettre des limites implicites, simplement en ouvrant une nouvelle procédure. Toutefois cette façon de procéder est à proscrire pour des raisons évidentes de lisibilité du code.
Le fait que les instructions soient exécutées dès que la limite est atteinte signifie que le reste du code n’est pas encore lu. Par conséquent, des instructions peuvent être exécutées alors que les suivantes contiennent des erreurs ou ne sont simplement pas encore écrites. Cette caractéristique est importante pour le développement, le processus de debug et également pour simplement donner un retour d’informations sur le comportement du programme. Cela signifie aussi que l’information obtenue dans les instructions précédentes peut être utilisée pour écrire et ensuite exécuter des instructions supplémentaires via l’ordre %INCLUDE.

Les instructions globales

En plus des ces différents langages d’instructions, SAS possède des instructions globales qui peuvent apparaître n’importe où et être exécutées dès qu’elles trouvent un point-virgule. Les instructions OPTIONS, LIBNAME, FILENAME, TITLE et FOOTNOTE sont les exemples les plus courants. Ces instructions s’exécutent immédiatement et leur effet persiste tout au long du traitement ou jusqu’à ce que l’instruction soit modifiée.

Les procédures

Les instructions PROC sont des packages de code fournit par SAS afin de vous aider dans le développement de vos applications. Ainsi le tri, la copie ou encore l’impression de vos datasets sont facilités. Nous n’allons pas les aborder de manière très précise pour certaines, car elles seront détaillées dans les prochains chapitres suivant leur utilisation.

proc contents

Syntaxe :
proc contents data=libref.matable
< OPTIONS > ;
title1 « Le titre du tableau généré » ;
run ;

Sa syntaxe simple et la richesse des informations qu’elle produit en ont fait une procédure très utilisée. Elle permet d’obtenir la description de toutes les variables d’une table, la date de création, la version de SAS utilisée, la présence d’un tri sur la table, le nombre d’observations et de variables, et plus encore.
Par défaut, proc contents décrit la table citée dans l’option DATA= dans l’output et toute destination ODS concernée. Les options supplémentaires sont les suivantes :

CENTILES Imprime les informations des centiles des variables indexées
DETAILS|NODETAILS Inclut les informations dans l’output concernant le nombre d’observations, le nombre de variables, le nombre d’indexes et les libellés du jeu de données (dataset)
DIRECTORY Imprime la liste des fichiers SAS contenus dans la bibliothèque du dataset SAS
FMTLEN Imprime la longueur de l’informat ou du format de la variable
MEMTYPE= Restreint le process à un ou plusieurs types de fichiers SAS
NODS Supprime l’impression des fichiers
NOPRINT Supprime l’impression dans l’output
ORDER=IGNORECASE Imprime une liste des variables dans l’ordre alphabétique même si ces dernières contiennent des caractères majuscules-minuscules
OUT= Spécifie le nom du dataset en sortie
OUT2= Spécifie le nom du dataet en sortie qui contiendra des informations au sujet des indexes et des contraintes d’intégrité
SHORT Imprime une sortie abrégée
VARNUM Imprime une liste des variables selon leur position dans le dataset. Par défaut, CONTENTS liste les éléments dans un ordre alphabétique

proc datasets

PROC DATASETS est un utilitaire qui permet de gérer vos fichiers SAS. Avec cette instruction vous pouvez :
• Copier des fichiers SAS d’une bibliothèque à une autre,
• Renommer des fichiers SAS,
• Réparer des fichiers SAS,
• Supprimer des fichiers SAS,
• Lister les fichiers SAS contenus dans une bibliothèque,
• Lister les attributs d’un dataset SAS, comme la date de dernière modification, la compression ou non des données, l’indexation du dataset et plus encore,
• Créer ou supprimer des indexes sur les datasets SAS,
• Créer et gérer des fichiers d’audit sur les datasets SAS et
• Créer et supprimer des contraintes d’intégrité sur des datasets SAS.

Syntaxe :

PROC DATASETS <option(s)>;AGE current-name related-SAS-file(s) <ALTER=alter-password
<MEMTYPE=mtype>;

APPEND BASE=<libref.>SAS-data-set <APPENDVER=V6> <DATA=<libref.>
SAS-data-set>  <FORCE>  <GETSORT>;

AUDIT SAS-file <(SAS-password)>;
INITIATE  <AUDIT_ALL=NO|YES>;<LOG <ADMIN_IMAGE=YES|NO>  <BEFORE_IMAGE=YES|NO>  <DATA_IMAGE=YES|NO> 
<ERROR_IMAGE=YES|NO>>;<USER_VAR variable-1 <… variable-n>>;

AUDIT SAS-file <(<SAS-password
> <GENNUM= integer>)>; SUSPEND|RESUME|TERMINATE;

CHANGE old-name-1=new-name-1
 <…old-name-n=new-name-n>  <ALTER=alter-password
<GENNUM=ALL|integer> <MEMTYPE=mtype>;

CONTENTS<option(s)>;

COPY OUT=libref-1<CLONE|NOCLONE> <CONSTRAINT=YES|NO>
<DATECOPY> <FORCE> <IN=libref-2><INDEX=YES|NO> <MEMTYPE=(mtype(s))>
<MOVE <ALTER=alter-password>>;

EXCLUDE SAS-file(s)
< / MEMTYPE=mtype>;

SELECT SAS-file(s) <ALTER=alter-password>
<MEMTYPE= mtype>;

DELETE SAS-file(s) <ALTER=alter-password>
<GENNUM=ALL|HIST|REVERT|integer> <MEMTYPE=mtype>;

EXCHANGE name-1=other-name-1<…name-n=other-name-n>
<ALTER=alter-password> <MEMTYPE=mtype>;


MODIFY
SAS-file <(option(s))> <CORRECTENCODING=encoding-value>
<DTC=SAS-date-time> <GENNUM=integer> <MEMTYPE=mtype>;

FORMAT variable-list-1 <format-1> <…variable-list-n
<format-n>>;

IC CREATE <constraint-name=>
constraint <MESSAGE=’message-string’ <MSGTYPE=USER>>;


IC DELETE
constraint-name(s)| _ALL_;

IC REACTIVATE
foreign-key-name REFERENCES libref;

INDEX CENTILES index(s)
<REFRESH> <UPDATECENTILES= ALWAYS|NEVER|integer>;

INDEX CREATE
index-specification(s) <NOMISS> <UNIQUE> <UPDATECENTILES=ALWAYS|NEVER|integer>;

INDEX DELETE index(s) | _ALL_;

INFORMAT
variable-list-1 <informat-1> <…variable-list-n <informat-n>>;

LABEL variable-1=<’label-1’|’ ’> <…variable-n=<’label-n’|’
>>;

RENAME old-name-1=new-name-1 <…old-name-n=new-name-n>;

REPAIR SAS-file(s) <ALTER=alter-password> <GENNUM=integer>
<MEMTYPE=mtype>;

SAVE SAS-file(s) <MEMTYPE=mtype>;

 

Une petite explication des options s’impose :
AGE Renomme un groupe ou des fichiers SAS spécifiques
APPEND Ajoute des observations d’un dataset à la fin d’un autre dataset SAS
AUDIT Initie, contrôle, suspend, reprend ou met fin à la capture d’évènements dans un fichier d’audit
CHANGE Renomme un ou plusieurs fichiers SAS
CONTENTS Décrit le contenu d’un ou plusieurs datasets SAS et pointe vers une bibliothèque SAS
COPY Copie tous les fichiers SAS ou une partie seulement
DELETE Supprimer les fichiers SAS
EXCHANGE Echange le nom de deux fichiers SAS
EXCLUDE Interdit les fichiers SAS d’être copiés
FORMAT Assigne, change et enlève de manière permanente les formats sur les variables
IC CREATE Crée une contrainte d’intégrité
IC DELETE Supprime une contrainte d’intégrité
IC REACTIVATE Réactive une contrainte d’intégrité sur une clé étrangère
INDEX CENTILES Met à jour les statistiques des centiles pour les variables indexées
INDEX CREATE Crée des indexes simples ou composites
INDEX DELETE Supprimer un ou plusieurs indexes
INFORMAT Assigne, change et enlève de manière permanente les informats sur les variables
LABEL Assigne, change et enlève les libellés des variables
MODIFY Change les attributs d’un fichier SAS ainsi que les attributs des variables
RENAME Renomme les variables d’un dataset SAS
REPAIR Tente de restaurer des datasets SAS ou des catalogues endommagés
SAVE Supprime tous les fichiers SAS EXCEPTES ceux listés dans l’option SAVE
SELECT Sélectionne les fichiers SAS pour copie.

L’instruction contents data = _all_ ; donne la liste des tables présentes dans la bibliothèque SAS.

proc sort

L’instruction SORT trie les observations d’un dataset SAS selon les valeurs d’une ou plusieurs variables caractères ou numériques. Soit elle remplace le dataset original, soit elle crée un nouveau dataset. Elle ne peut produire q’un seul résultat à la fois.

Syntaxe :

PROC SORT ;
BY variable-1 <… variable-n>;

Par défaut le tri est ascendant. Cette instruction permet la recherche de doublons. Deux options en particulier permettent cette recherche : NODUPLICATE et NODUPKEY.

NODUPLICATE cherche dans la table les observations qui sont exactement semblables pour toutes les variables.
NODUPKEY recherche les observations qui ont les mêmes valeurs pour toutes les variables citées dans l’instruction BY.

Dans les deux cas les doublons sont éliminés dans la table triée ou, si l’option OUT n’est pas renseignée, dans la table d’origine. L’option DUPOUT permet de donner une table dans laquelle les doublons éliminés seront conservés.

proc print

L’instruction PRINT imprime les observations dans un dataset SAS en utilisant toutes ou une partie des variables. Vous pouvez créer toute sorte de rapport, du plus simple ou au plus complexe avec des sous-totaux et totaux pour les variables numériques.

Syntaxe :

PROC PRINT ;
BY variable-1 <… variable-n>;
PAGEBY BY-variable;
SUMBY BY-variable;
ID variable(s) ;
SUM variable(s) ;
VAR variable(s) ;

Les options sont les suivantes :
Options Description
BY Produit une section du rapport pour chaque groupe BY
ID Identifie les observations grâce aux valeurs formatées des variables à la place du nombre d’observations
PAGEBY Contrôle les sauts de page
SUMBY Limite le nombre de sommes du rapport
SUM Total des valeurs des variables numériques
VAR Sélectionne les variables à faire apparaître dans le rapport ainsi que leur ordre d’apparition

Pour chaque SUMBY vous avez un sous-total et un total général pour chaque PAGEBY.

Proc sql

Cette instruction implémente les SQL (Structured Query Language) pour SAS. SQL est le langage standardisé pour interroger des bases de données.
Proc sql vous permet de :

• Recueillir et manipuler des données stockées dans des tables ou des vues,
• Créer des tables, des vues et des indexes sur des colonnes de ces tables,
• Créer des macro variables SAS qui contiennent les valeurs des enregistrements de votre requête,
• Ajouter ou modifier les valeurs des données des tables ou insérer et supprimer des enregistrements,
• Modifier la structure de vos tables en ajoutant, modifiant ou supprimant des colonnes,
• Envoyer un ordre SQL directement à votre base de données dans son langage SQL spécifique.

Syntaxe :

PROC SQL <option(s)>;

ALTER TABLE table-name

<ADD <CONSTRAINT> constraint-clause<, …
constraint-clause>>

<ADD column-definition<, …
column-definition>>

<DROP CONSTRAINT constraint-name <, …
constraint-name>>

<DROP column<, … column>>

<DROP FOREIGN KEY constraint-name>

<DROP PRIMARY KEY>

<MODIFY column-definition<, …
column-definition>>;

CREATE <UNIQUE> INDEX index-name

ON table-name ( column <, … column>);

CREATE TABLE table-name

(column-specification<, …column-specification
| constraint-specification>);

CREATE TABLE table-name LIKE
table-name2;

CREATE TABLE table-name AS query-expression

<ORDER BY order-by-item<, …
order-by-item>>;

ALTER TABLE table-name

<ADD <CONSTRAINT> constraint-clause<, …
constraint-clause>>

<ADD column-definition<, …
column-definition>>

<DROP CONSTRAINT constraint-name <, …
constraint-name>>

<DROP column<, … column>>

<DROP FOREIGN KEY constraint-name>

<DROP PRIMARY KEY>

<MODIFY column-definition<, …
column-definition>>;

CREATE <UNIQUE> INDEX index-name

ON table-name ( column <, … column>);

CREATE TABLE table-name

(column-specification<, …column-specification
| constraint-specification>);

CREATE TABLE table-name LIKE
table-name2;

CREATE TABLE table-name AS query-expression

<ORDER BY order-by-item<, …
order-by-item>>;

 

Par défaut le tri est ascendant. Cette instruction permet la recherche de doublons. Deux options en particulier permettent cette recherche : NODUPLICATE et NODUPKEY.

CREATE VIEW proc-sql-view AS query-expression

<ORDER BY order-by-item<, …
order-by-item>>

<USING libname-clause<, … libname-clause>>
;

DELETE

FROM table-name|proc-sql-view |sas/access-view
<AS alias>

<WHERE sql-expression>;

DESCRIBE TABLE table-name <, … table-name>;

DESCRIBE VIEW proc-sql-view <, …
proc-sql-view>;

DESCRIBE TABLE CONSTRAINTS table-name <,
… table-name>;

DROP INDEX index-name <, … index-name>

FROM table-name;

DROP TABLE table-name <, … table-name>;

DROP VIEW view-name <, … view-name>;

INSERT INTO table-name|sas/access-view|proc-sql-view
<(column<, … column>)>

SET column=sql-expression <, … column=sql-expression>

<SET column=sql-expression <, … column=sql-expression>>;

INSERT INTO table-name|sas/access-view|proc-sql-view
<(column<, … column>)>

VALUES (value <, … value>) <… VALUES
(value <, … value>)>;

INSERT INTO table-name|sas/access-view|proc-sql-view

<(column<, …column>)> query-expression;

RESET <option(s)>;

SELECT <DISTINCT> object-item <, …object-item>

<INTO macro-variable-specification

<, … macro-variable-specification>>

FROM from-list

<WHERE sql-expression>

<GROUP BY group-by-item

<, … group-by-item>>

<HAVING sql-expression>

<ORDER BY order-by-item

<, … order-by-item>>;

UPDATE table-name|sas/access-view|proc-sql-view
<AS alias>

SET column=sql-expression
<, … column=sql-expression>

<SET column=sql-expression
<, … column=sql-expression>>

<WHERE sql-expression>;

VALIDATE
query-expression;

 

Les options sont les suivantes :

Options Description
ALTER TABLE Modifie, ajoute ou supprime des colonnes
CONNECT Etablit une connexion avec votre DBMS
CREATE INDEX Crée un index sur une colonne
CREATE TABLE Crée une table
CREATE VIEW Crée une vue
DELETE Supprime des enregistrements
DESCRIBE Décrit une table ou une vue
DISCONNECT Ferme la connexion avec votre DBMS
DROP Supprime des tables, vues ou indexes
EXECUTE Envoie un ordre SQL spécifique à votre DBMS vers votre DBMS
INSERT Ajoute des enregistrements
SELECT Sélectionne des enregistrements
CONNECTION TO Interroge un DBMS
UPDATE Modifie des enregistrements
VALIDATE Vérifie la justesse de votre requête

Cette procédure sera traitée en détail dans un chapitre suivant.

proc report

Syntaxe :


PROC REPORT

<option(s)>;

BREAK

location break-variable</
option(s)>;


BY
<DESCENDING>

variable-1

<…<DESCENDING>
variable-n>
<NOTSORTED>;


COLUMN

column-specification(s);


COMPUTE

location
<target>

</ STYLE=<style-element-name>

<[style-attribute-specification(s)]>>;


LINE

specification(s);


. . . select SAS language elements . . .

ENDCOMP
;


COMPUTE

report-item
</
type-specification>;


CALL DEFINE

(column-id,
attribute-name’,
value);


. . . select SAS language elements . . .

ENDCOMP
;


DEFINE

report-item / <usage>

<attribute(s)>

<option(s)>

<justification>

<COLOR=color>

<’column-header-1
<…’column-header-n’>>

<style>;

FREQ
variable;


RBREAK

location </
option(s)>;


WEIGHT

variable;

 

Les options suivantes sont disponibles :

Option Description
BREAK Crée un total au changement de la valeur d’un groupe ou d’une variable d’ordre
BY Crée un rapport séparé pour chaque groupe du BY
CALL DEFINE Valorise l’attribut d’une colonne spécifique de l’enregistrement courant
COLUMN Décrit l’agencement des colonnes et entêtes
COMPUTE - ENDCOMP Spécifie une ou plusieurs instructions de programmation que PROC REPORT exécute lorsqu’il crée le rapport
DEFINE Décrit comment utiliser et afficher une entité du rapport
FREQ Traite les observations comme si elle apparaissaient plusieurs fois dans le dataset en entrée
LINE Fournit des caractéristiques supplémentaires à l’instruction PUT pour créer des totaux customisés
RBREAK Produit un total par défaut au début ou à la fin du rapport ou alors soit au début soit à la fin d’un groupe BY
WEIGHT Spécifie le poids que vous donnez à vos variables d’analyse dans le calcul statistique

Cette procédure fera également l’objet d’un chapitre entier.

proc format

Cette procédure permet de créer des formats qui seront utiles dans vos rapports en particulier et dans toutes vos sorties en général. SAS utilise énormément les formats. Dans tous vos tableaux, vous créerez des formats en premier lieu pour nommer vos variables de manière plus parlante. Par exemple, vous formaterez votre variable sexe 1 et 2 en masculin et féminin. PROC FORMAT est également intéressant pour regrouper des valeurs selon le format choisi. Par exemple, vous pourrez créer un format de catégories d’âge et l’utiliser dans un groupe BY.

Syntaxe :

proc format library=malibrairie ;
value nom_du_format_numérique
1 = ‘masculin’
2 = ‘féminin’
other = ‘inconnu’ ;
value $nom_du_format_caractère
‘CH’ = ‘Suisse
‘FR’ = ‘France’
‘I’ = ‘Italie’
other = ‘non répertorié’ ;

L’utilisation et l’optimisation de vos formats seront traitées dans un chapitre suivant.

 

NODUPLICATE cherche dans la table les observations qui sont exactement semblables pour toutes les variables.
NODUPKEY recherche les observations qui ont les mêmes valeurs pour toutes les variables citées dans l’instruction BY.

Dans les deux cas les doublons sont éliminés dans la table triée ou, si l’option OUT n’est pas renseignée, dans la table d’origine. L’option DUPOUT permet de donner une table dans laquelle les doublons éliminés seront conservés.

proc print

L’instruction PRINT imprime les observations dans un dataset SAS en utilisant toutes ou une partie des variables. Vous pouvez créer toute sorte de rapport, du plus simple ou au plus complexe avec des sous-totaux et totaux pour les variables numériques.

Syntaxe :

PROC PRINT ;
BY variable-1 <… variable-n>;
PAGEBY BY-variable;
SUMBY BY-variable;
ID variable(s) ;
SUM variable(s) ;
VAR variable(s) ;

Les options sont les suivantes :
Options Description
BY Produit une section du rapport pour chaque groupe BY
ID Identifie les observations grâce aux valeurs formatées des variables à la place du nombre d’observations
PAGEBY Contrôle les sauts de page
SUMBY Limite le nombre de sommes du rapport
SUM Total des valeurs des variables numériques
VAR Sélectionne les variables à faire apparaître dans le rapport ainsi que leur ordre d’apparition

Pour chaque SUMBY vous avez un sous-total et un total général pour chaque PAGEBY.

Proc sql

Cette instruction implémente les SQL (Structured Query Language) pour SAS. SQL est le langage standardisé pour interroger des bases de données.
Proc sql vous permet de :

• Recueillir et manipuler des données stockées dans des tables ou des vues,
• Créer des tables, des vues et des indexes sur des colonnes de ces tables,
• Créer des macro variables SAS qui contiennent les valeurs des enregistrements de votre requête,
• Ajouter ou modifier les valeurs des données des tables ou insérer et supprimer des enregistrements,
• Modifier la structure de vos tables en ajoutant, modifiant ou supprimant des colonnes,
• Envoyer un ordre SQL directement à votre base de données dans son langage SQL spécifique.

Syntaxe :

PROC SQL <option(s)>;

ALTER TABLE table-name

<ADD <CONSTRAINT> constraint-clause<, …
constraint-clause>>

<ADD column-definition<, …
column-definition>>

<DROP CONSTRAINT constraint-name <, …
constraint-name>>

<DROP column<, … column>>

<DROP FOREIGN KEY constraint-name>

<DROP PRIMARY KEY>

<MODIFY column-definition<, …
column-definition>>;

CREATE <UNIQUE> INDEX index-name

ON table-name ( column <, … column>);

CREATE TABLE table-name

(column-specification<, …column-specification
| constraint-specification>);

CREATE TABLE table-name LIKE
table-name2;

CREATE TABLE table-name AS query-expression

<ORDER BY order-by-item<, …
order-by-item>>;

ALTER TABLE table-name

<ADD <CONSTRAINT> constraint-clause<, …
constraint-clause>>

<ADD column-definition<, …
column-definition>>

<DROP CONSTRAINT constraint-name <, …
constraint-name>>

<DROP column<, … column>>

<DROP FOREIGN KEY constraint-name>

<DROP PRIMARY KEY>

<MODIFY column-definition<, …
column-definition>>;

CREATE <UNIQUE> INDEX index-name

ON table-name ( column <, … column>);

CREATE TABLE table-name

(column-specification<, …column-specification
| constraint-specification>);

CREATE TABLE table-name LIKE
table-name2;

CREATE TABLE table-name AS query-expression

<ORDER BY order-by-item<, …
order-by-item>>;

 

Categories

 

July 2010
M T W T F S S
« Oct    
 1234
567891011
12131415161718
19202122232425
262728293031