SlideShare a Scribd company logo
1 of 56
Download to read offline
Jean-Marie Renouard 
LightPath 2014© 
LightPath 2014© - http://www.jmrenouard.fr 
1
Le logo PHP est du domaine public 
http://commons.wikimedia.org/wiki/File:PHP-logo.svg 
Ce document est licencié sous licence 
◦Attribution-NonCommercial-ShareAlike 
◦CC BY-NC-SA 
Plus de détails: 
http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ 
LightPath 2014© - http://www.jmrenouard.fr 
2
Langage d'interrogation de données. 
Langage de manipulation de données. 
Les types de données. 
Création de tables. 
Opérateurs, fonctions et conversions. 
Les différents types d'index. 
LightPath 2014© - http://www.jmrenouard.fr 
3
LightPath 2014© - http://www.jmrenouard.fr 
4
SELECT [STRAIGHT_JOIN] 
[SQL_SMALL_RESULT] 
[SQL_BIG_RESULT] 
[SQL_BUFFER_RESULT] 
[SQL_CACHE | SQL_NO_CACHE] 
[SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] select_expression 
STRAIGHT_JOIN : Jointure ordonnée de colonne. 
SQL_SMALL_RESULT : Indication de résultats peu nombreux. 
SQL_BIG_RESULT : Indication de résultats très nombreux. 
SQL_BUFFER_RESULT : Stockage en table temporaire. 
SQL_CACHE | SQL_NO_CACHE : Stockage en cache. 
 SQL_CALC_FOUND_ROWS: Activation du comptage de tuples. 
HIGH_PRIORITY : Priorité augmentée à l'exécution. 
LightPath 2014© - http://www.jmrenouard.fr 
5
 [INTO {OUTFILE | DUMPFILE} 'nom_fichier' export_options] 
 [FROM table_references 
 [WHERE where_definition] 
 [GROUP BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC], ... 
 [HAVING where_definition] 
 [ORDER BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC] ,...] 
 [LIMIT [offset,] lignes] 
 [PROCEDURE procedure_name(argument_list)] 
 [FOR UPDATE | LOCK IN SHARE MODE]] 
FOR UPDATE et LOCK IN SHARE MODE 
◦Options de verrouillage des lignes. 
LightPath 2014© - http://www.jmrenouard.fr 
6
Requête simple 
◦select * from user; 
Fusion tuple à tuple 
◦select * db, user; 
Jointure 
◦select u.user , db.db from user u, db db where a.user=db.user group by user; 
LightPath 2014© - http://www.jmrenouard.fr 
7
Agrégation 
◦select a, count(b.db) 
◦from user a, db b 
◦where a.user=b.user 
◦group by a.user; 
 Requêtes imbriquées 
◦select tu.user 
◦from user tu 
◦where NOT EXISTS ( 
◦ select * from db td where td.user=tu.user 
◦) ; 
LightPath 2014© - http://www.jmrenouard.fr 
8
LightPath 2014© - http://www.jmrenouard.fr 
9
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
 [INTO] tbl_name [(col_name,...)] 
 VALUES ({expr | DEFAULT},...),(...),... 
 [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
 [INTO] tbl_name 
 SET col_name={expr | DEFAULT}, ... 
 [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] 
INSERT [LOW_PRIORITY | DELAYED] [IGNORE] 
 [INTO] tbl_name [(col_name,...)] SELECT ... 
LightPath 2014© - http://www.jmrenouard.fr 
10
Insertion simple 
◦INSERT INTO USER VALUES (1, « Paul », « DUPONT »); 
Insert-Affectation 
◦INSERT INTO USER SET USER=‘JEAN’; 
Insertion par requête 
◦INSERT INTO TABLE SELECT * FROM TMP_USER; 
LightPath 2014© - http://www.jmrenouard.fr 
11
LightPath 2014© - http://www.jmrenouard.fr 
12
TINYINT[(M)] [UNSIGNED] [ZEROFILL] : Entier (1 octet ). 
BIT/BOOL/ BOOLEAN : Alias de TinyInt. 
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 2 octets ) 
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 3 octets ). 
INT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 4 octets ). 
INTEGER[(M)] [UNSIGNED] [ZEROFILL] : Alias de INT. 
BIGINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( noctets ). 
FLOAT(precision) [UNSIGNED] [ZEROFILL]: Nombre à virgule flottante. 
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] : Nombre à virgule flottante. 
LightPath 2014© - http://www.jmrenouard.fr 
13
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] 
◦Nombre à virgule flottante double p. 
DOUBLE PRECISION[(M,D)] 
◦Nombre flottant double précision. 
REAL[(M,D)] [UNSIGNED] [ZEROFILL] : Alias de DOUBLE 
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] 
◦Nombre à virgule :littéral 
DEC[(M[,D])] [UNSIGNED] [ZEROFILL] : Alias de DECIMAL 
NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]: Alias de DECIMAL 
FIXED[(M[,D])] [UNSIGNED] [ZEROFILL] : Alias de DECIMAL 
LightPath 2014© - http://www.jmrenouard.fr 
14
 DATE: Date sur l'intervalle de '1000-01-01' à '9999- 12-31' . 
 DATETIME : Combinaison de date et heure. 
TIMESTAMP[(M)] : Timestamp. 
 TIME: Heure sur l'intervalle de +/-838:59:59. 
YEAR[(2|4)] : Année au format 2 ou 4 chiffres. 
LightPath 2014© - http://www.jmrenouard.fr 
15
[NATIONAL] CHAR/CHARACTER(M) [BINARY | ASCII | UNICODE]: 
◦Une chaîne de caractère de taille fixe (255 caractères) 
[NATIONAL] VARCHAR(M) [BINARY] 
◦Une chaîne de taille dynamique. 
CHAR : Alias de CHAR(1) . 
VARCHAR: Alias de CHARACTER VARYING . 
LightPath 2014© - http://www.jmrenouard.fr 
16
TINYBLOB/TINYTEXT 
◦Données de 2^8 octets. 
BLOB/TEXT 
◦Données de 2^16 octets. 
MEDIUMBLOB/MEDIUMTEXT 
◦Données de 2^24 octets. 
LONGBLOBLONGTEXT 
◦Données de 2^32 octets. 
ENUM('value1','value2',...) 
◦Une énumération de 65535 valeurs distinctes. 
SET('value1','value2',...) 
◦Un ensemble de 64 membres maximum. 
LightPath 2014© - http://www.jmrenouard.fr 
17
LightPath 2014© - http://www.jmrenouard.fr 
18
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 
[(create_definition,...)] 
[table_options] [select_statement] 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 
[(] LIKE old_tbl_name [)]; 
LightPath 2014© - http://www.jmrenouard.fr 
19
Requête SQL 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 
[(create_definition,...)] 
[table_options] [select_statement] 
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name 
[(] LIKE old_tbl_name [)]; 
CREATE TABLE t ( 
c1 CHAR(20) CHARACTER SET utf8, 
c2 CHAR(20) CHARACTER SET latin1 COLLATE latin1_bin 
); 
LightPath 2014© - http://www.jmrenouard.fr 
20
column_definition 
col_name type [NOT NULL | NULL] [DEFAULT default_value] 
[AUTO_INCREMENT] [[PRIMARY] KEY] [COMMENT 'string'] 
[reference_definition] 
reference_option 
RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT 
LightPath 2014© - http://www.jmrenouard.fr 
21
create_definition: 
column_definition 
| [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) 
| KEY [index_name] [index_type] (index_col_name,...) 
| INDEX [index_name] [index_type] (index_col_name,...) 
| [CONSTRAINT [symbol]] UNIQUE [INDEX] 
[index_name] [index_type] (index_col_name,...) 
| [FULLTEXT|SPATIAL] [INDEX] [index_name] (index_col_name,...) 
| [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] 
| CHECK (expr) 
LightPath 2014© - http://www.jmrenouard.fr 
22
index_col_name: 
col_name [(length)] [ASC | DESC] 
reference_definition: 
REFERENCES tbl_name [(index_col_name,...)] 
[MATCH FULL | MATCH PARTIAL] 
[ON DELETE reference_option] 
[ON UPDATE reference_option] 
LightPath 2014© - http://www.jmrenouard.fr 
23
table_option 
{ENGINE|TYPE} = {BDB|HEAP|ISAM|InnoDB|MERGE|MRG_MYISAM|MYISAM} 
| AUTO_INCREMENT = value | AVG_ROW_LENGTH = value | CHECKSUM = {0 | 1} 
| COMMENT = 'string' | MAX_ROWS = value | MIN_ROWS = value 
| PACK_KEYS = {0 | 1 | DEFAULT} | PASSWORD = 'string' | DELAY_KEY_WRITE = {0 | 1} 
| ROW_FORMAT = { DEFAULT | DYNAMIC | FIXED | COMPRESSED } 
| RAID_TYPE = { 1 | STRIPED | RAID0 } RAID_CHUNKS = value RAID_CHUNKSIZE = value 
| UNION = (tbl_name[,tbl_name]...) | INSERT_METHOD = { NO | FIRST | LAST } 
| DATA DIRECTORY = 'absolute path' | INDEX DIRECTORY = 'absolute path' 
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name] 
LightPath 2014© - http://www.jmrenouard.fr 
24
LightPath 2014© - http://www.jmrenouard.fr 
25
Opérateurs logiques 
AND, OR, NOT IN, BETWWEN 
Opérateurs de comparaison 
 <, >, <=, >=, =, !=, <> 
Opérateurs mathématiques 
 +,-,*,/, %,^, ||/, |/, !, @, &, |, ~, >>, << 
Les opérateurs 
LightPath 2014© - http://www.jmrenouard.fr 
26
LightPath 2014© - http://www.jmrenouard.fr 
27
ABS(X) : Valeur absolue de X . 
ACOS(X) : Arccosinus de X. 
ASIN(X) : Arcsinus de X. 
ATAN(X) : Arctangente de X. 
ATAN(Y,X) : Arctangente (Y,X) 
ATAN2(Y,X) : Arctangente des variables de Y / X 
CEILING(X)/CEIL(X) : Valeur entière supérieure de X . 
COS(X) : Cosinus de X , où X est donné en radian. 
COT(X) : Cotangente de X . 
Fonctions mathématiques 
LightPath 2014© - http://www.jmrenouard.fr 
28
CRC32(expr) : Somme de contrôle - entier 32 bits non-signé. 
DEGREES(X) :Conversion de radian en degré. 
EXP(X) : Exponentiel x : e^x 
FLOOR(X) : Valeur entière inférieure de X . 
LN(X) : Logarithme naturel de X (népérien). 
LOG(X)/LOG(B,X) : Logarithme de X en base B sinon LN(X) . 
LOG2(X) : Logarithme en base 2 de X . 
LOG10(X) : Logarithme en base 10 de X . 
MOD(N,M) : Reste de la division de N par M . 
Fonctions mathématiques 
LightPath 2014© - http://www.jmrenouard.fr 
29
PI() : Valeur de Pi. 
POW(X,Y)/POWER(X,Y) : Valeur de X élevée à la puissance Y. 
RADIANS(X) : Conversion de degré en radian. 
RAND()/RAND(N) : Nombre aléatoire à virgule flottante. 
ROUND(X)/ROUND(X,D) : Arrondi à un nombre à D décimales. 
SIGN(X) : Signe de l'argument sous la forme -1 , 0 , ou 1. 
SIN(X) : Sinus de X , où X est donnée en radian. 
SQRT(X) : Racine carrée de X. 
TAN(X) : Tangente de X en radian. 
TRUNCATE(X,D) : Troncature à D décimales. 
Fonctions mathématiques 
LightPath 2014© - http://www.jmrenouard.fr 
30
LightPath 2014© - http://www.jmrenouard.fr 
31
ASCII(str) : Code ASCII du premier caractère de la chaîne. BIN(N) : Chaîne représentant la valeur binaire de N BIT_LENGTH(str) : Nombre de bits de la chaîne de caractères str . CHAR(N,...) : Chaîne identifiée par leur code ASCII. CHAR_LENGTH(str) : Nombre de caractères de la chaîne str CHARACTER_LENGTH(str): Alias de CHAR_LENGTH. COMPRESS(string_to_compress) : Compression de la chaîne. CONCAT(str1,str2,...) : Concaténation des arguments. CONCAT_WS(separator, str1, str2,...) : Idem avec un séparateur. 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
32
CONV(N,from_base,to_base) : Conversion de N entre différentes bases. 
ELT(N,str1,str2,str3,...) : Élement N+1 de la liste d'argument 
EXPORT_SET(bits,on,off,[séparateur,[nombre_de_bits]]) : 
Conversion de bits en chaîne. 
FIELD(str,str1,str2,str3,...) : Index de la chaîne str dans les arguments. 
FIND_IN_SET(str,strlist) : Index de la chaîne la liste strlist 
H.EX(N_or_S) : Conversion chaîne/héxadécimal. 
INSERT(str,pos,len,newstr) : Chaîne de caractères avec newstr insérée. 
INSTR(str,substr) : Index de la première occurrence de la chaîne. 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
33
LCASE(str) : Alias de Lower() LEFT(str,len) : len premiers caractères LENGTH(str) : Taille de la chaîne str , mesurée en octets. LOAD_FILE(file_name) : Contenu sous la forme d'une chaîne de caractères. LOCATE(substr,str)/LOCATE(substr,str,pos) : Position de la première occurrence. LOWER(str) : Chaîne str avec tous les caractères en minuscules LPAD(str,len,padstr) : Chaîne de caractères str , complétée à gauche. LTRIM(str) : Chaîne de caractères str sans les espaces initiaux. MAKE_SET(bits,str1,str2,..) : Découpage de la chaîne en liste. 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
34
MID(str,pos,len) : Alias de SUBSTRING(str,pos,len) . 
OCT(N) : Chaîne de caractère représentant la valeur octal. 
OCTET_LENGTH(str) : Alias de OCTET_LENGTH() 
ORD(str) : Code du premier caractère de la chaîne str. 
POSITION(substr IN str) : Alias de LOCATE(substr,str) . 
QUOTE(str) : Échappement les caractères spéciaux d'une chaîne. 
REPEAT(str,count) : Répetition de la chaîne. 
REPLACE(str,from_str,to_str) : Substitution de chaîne. 
REVERSE(str) : Chaîne inverse de la chaîne str. 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
35
RIGHT(str,len) : len derniers caractères de la chaîne str. RPAD(str,len,padstr) : Complétion droite de la chaîne str. RTRIM(str) : Chaîne de caractères str sans les espaces finaux. SOUNDEX(str) : Valeur soundex de la chaîne. SPACE(N) : Chaîne de N espaces. SUBSTRING(str,pos) : Sous-chaîne. SUBSTRING(str FROM pos) : Alias de SUBSTRING(str, pos). SUBSTRING(str,pos,len) : Idem avec une longueur définie. SUBSTRING(str FROM pos FOR len) : Alias de SUBSTRING(str,pos,len). 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
36
SUBSTRING_INDEX(str,delim,count) : Intervalle de chaîne 
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) : Suppression de caractère en début et/ou en fin de chaîne. 
UCASE(str)/UPPER(str) : Mise en majuscule de la chaîne str. 
UNCOMPRESS(string_to_uncompress) : Décompression de la chaîne 
UNCOMPRESSED_LENGTH(compressed_string) : Taille de la chaîne. 
UNHEX(str) : Chaîne héxadécimale en ascii. 
Fonctions sur chaîne de caractère 
LightPath 2014© - http://www.jmrenouard.fr 
37
LightPath 2014© - http://www.jmrenouard.fr 
38
ADDDATE(date,INTERVAL expr type) : Ajout de date. 
ADDDATE(expr,days) : Ajout de date. 
ADDTIME(expr,expr2) : Ajout d'heure. 
CURDATE() : Date actuelle. 
CURRENT_DATE() : Date actuelle. 
CURTIME() : Heure actuelle. 
CURRENT_TIME : Heure actuelle. 
YEAR(date) : Année de la date. 
YEARWEEK(date) : Numéro de la semaine de la date. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
39
CURRENT_TIMESTAMP : Date et heure actuelle. 
DATE(expr) : Extraction de la date. 
DATEDIFF(expr,expr2) : Nombre de jour d'écart. 
DATE_ADD(date,INTERVAL expr type) : Ajout de dates. 
DATE_SUB(date,INTERVAL expr type) : Soustraction de dates. 
DATE_FORMAT(DATE, format) : Date formatée. 
DAY(date) : Alias de dayofthemonth(). 
DAYNAME(date) : Nom du jour. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
40
DAYOFMONTH(date) : Jour du mois (1 à 31). 
DAYOFWEEK(date) : Jour de la semaine (1 : dimanche). 
DAYOFYEAR(date) : Jour de l'année. 
EXTRACT(type FROM date) : Extraction d'information de temps. 
FROM_DAYS(N) : Nombre de jours depuis N. 
FROM_UNIXTIME(unix_timestamp): Conversion d'un timestamp. 
GET_FORMAT(type) : Format du type de date. 
HOUR(time) : Extraction du nombre d'heure. 
LAST_DAY(date) : Dernier jour du mois courant. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
41
LOCALTIME() : Heure locale. 
LOCALTIMESTAMP : Date et heure locale. 
MAKEDATE(year, nbDay) : Date à partir de l'année et du nombre de jour 
MAKETIME(hour,minute,second) : Heure à partie de heure, minute et seconde. 
MICROSECOND(expr) : Nombre de micro-seconde. 
MINUTE(time) : Nombre de minute. 
MONTH(date) : Mois de la date. 
MONTHNAME(date) : Nom du mois. 
NOW() : Date actuelle. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
42
PERIOD_ADD(P,N) : Ajout de période. 
PERIOD_DIFF(P1,P2) : Différence entre période. 
QUARTER(date) : Trimestre de la date. 
SECOND(time) : Nombre de seconde de la date. 
SEC_TO_TIME(seconds) : Date à partir d'un nombre de s. 
STR_TO_DATE(str,format) : Date à partir d'une chaîne. 
SUBDATE(date,INTERVAL expr type) : Alias de DATE_SUB. 
SUBDATE(expr,days) : Soustraction de 2 dates. 
SUBTIME(expr,expr2) : Soustraction de 2 heures. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
43
SUBTIME(exp1, exp2) : Soustraction de date. 
SYSDATE() : Alias de Now(). 
TIME(expr) : Extraction de l'heure. 
TIMEDIFF(expr,expr2) : Soustraction de 2 heures. 
TIMESTAMP(expr) : Timestamp à partir d'une chaîne. 
TIMESTAMPADD(in,expr,expr2) : Ajout de timestamp. 
TIMESTAMPDIFF(in,expr1,expr2) : Soustraction de timestamp. 
TIME_FORMAT(time,format) : Affichage de l'heure au format. 
TIME_TO_SEC(time) : Conversion en seconde. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
44
TO_DAYS(date) : Nombre de jours depuis la date. 
UNIX_TIMESTAMP() : Timestamp Unix actuelle. 
UNIX_TIMESTAMP(date) : Timestamp Unix de la date. 
UTC_DATE : Date au format UTC. 
UTC_TIME : Heure au format UTC. 
UTC_TIMESTAMP : Timestamp au format UTC. 
WEEK(date [,mode]) : Numéro de la semaine. 
WEEKDAY(date) : Jour de la semaine de la date. 
WEEKOFYEAR(date) : Jour de l'année de la date. 
Fonctions sur le temps 
LightPath 2014© - http://www.jmrenouard.fr 
45
LightPath 2014© - http://www.jmrenouard.fr 
46
AVG(expr) : Moyenne des valeurs. BIT_AND(expr) : ET bit à bit des valeurs. BIT_OR(expr) : OU bit à bit des valeurs. BIT_XOR(expr) : OU EXCLUSIF bit à bit des valeurs. COUNT(expr) : Nombre de valeurs. COUNT(DISTINCT expr,[expr...]) : Nombre de valeurs distinctes. 
Fonctions d’agrégat 
LightPath 2014© - http://www.jmrenouard.fr 
47
•GROUP_CONCAT(expr) : Concaténation des valeurs. 
•MIN(expr) : Valeur minimum. 
•MAX(expr) : Valeur maximum. 
•STD(expr) / STDDEV(expr) : Dérivation standard entre les valeurs. 
•SUM(expr) : Somme des valeurs. 
•VARIANCE(expr) : Variance des valeurs. 
Fonctions d’agrégat 
LightPath 2014© - http://www.jmrenouard.fr 
48
LightPath 2014© - http://www.jmrenouard.fr 
49
Fonctions de chiffrements. 
Fonctions d'informations. 
Fonctions diverses. 
Les autres fonctions 
LightPath 2014© - http://www.jmrenouard.fr 
50
LightPath 2014© - http://www.jmrenouard.fr 
51
Index simple colonne 
CREATE INDEX idx on table_price ( price); 
Index multi-colonne 
CREATE INDEX idx_price_cat in table_price (price, cat); 
Pas d'index sur expression 
SELECT * FROM test1 WHERE lower(col1) = 'value'; 
CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1)); 
 Pas d'index partiel 
CREATE INDEX low_price_idx on table_price(price) where price BETWEEN 1 AND 10; 
Les indexes LightPath 2014© - http://www.jmrenouard.fr 
52
Index BTREE 
Utile quand la granularité des données est forte. 
Ex : pour l'indexation d'identifiant unique. 
Index HASH 
Utile quand la granularité des données est faible. 
 Ex : La couleur d'une voiture. 
Les indexes 
LightPath 2014© - http://www.jmrenouard.fr 
53
Index RTREE 
Utile pour les données spatiales. 
Ex : Coordonnées d'une étoile dans l'univers. 
Index FULLTEXT 
Utile pour les recherche dans du texte. 
Ex : recherche d'un texte à partir d'une citation. 
Les indexes LightPath 2014© - http://www.jmrenouard.fr 
54
Documentation de MySQL 
http://dev.mysql.com/ 
LightPath 2014© - http://www.jmrenouard.fr 
55
LightPath: 
◦Société de conseil et d’ingénierie 
◦Formations, Conseil, Audit et mise en oeuvre 
◦jmrenouard@lightpath.fr 
Jean-Marie RENOUARD 
◦jmrenouard@gmail.com 
◦Twitter: @jmrenouard 
◦http://www.jmrenouard.fr 
LightPath 2014© - http://www.jmrenouard.fr 56

More Related Content

What's hot

php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Kristen Le Liboux
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Engineor
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1Régis Lutter
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POOmazenovi
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireJulien Vinber
 

What's hot (19)

Client base de données en PHP5
Client base de données en PHP5Client base de données en PHP5
Client base de données en PHP5
 
Email et PHP5
Email et PHP5Email et PHP5
Email et PHP5
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
 
Configuration PHP5
Configuration PHP5Configuration PHP5
Configuration PHP5
 
Fichier XML et PHP5
Fichier XML et PHP5Fichier XML et PHP5
Fichier XML et PHP5
 
MVC / Frameworks PHP
MVC / Frameworks PHPMVC / Frameworks PHP
MVC / Frameworks PHP
 
Le client FTP de PHP5
Le client FTP de PHP5Le client FTP de PHP5
Le client FTP de PHP5
 
Présentation de PHP
Présentation de PHPPrésentation de PHP
Présentation de PHP
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5Programmation orientée objet en PHP 5
Programmation orientée objet en PHP 5
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Bases de PHP - Partie 1
Bases de PHP - Partie 1Bases de PHP - Partie 1
Bases de PHP - Partie 1
 
PHP5 - POO
PHP5 - POOPHP5 - POO
PHP5 - POO
 
Php 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVCPhp 2 - Approfondissement MySQL, PDO et MVC
Php 2 - Approfondissement MySQL, PDO et MVC
 
Introduction au Jquery
Introduction au JqueryIntroduction au Jquery
Introduction au Jquery
 
Cours php
Cours phpCours php
Cours php
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
La première partie de la présentation PHP
La première partie de la présentation PHPLa première partie de la présentation PHP
La première partie de la présentation PHP
 

Similar to SQL et MySQL

1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdfImaneZoubir1
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptxMaNl13
 
Chap 3 : structered query language
Chap 3 : structered query languageChap 3 : structered query language
Chap 3 : structered query languageRamzi Trabelsi
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlpluswebreaker
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Partie1 TypeScript
Partie1 TypeScriptPartie1 TypeScript
Partie1 TypeScriptHabib Ayad
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 

Similar to SQL et MySQL (20)

oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
 
PL LSQL.pptx
PL LSQL.pptxPL LSQL.pptx
PL LSQL.pptx
 
C# 7 - Nouveautés
C# 7 - NouveautésC# 7 - Nouveautés
C# 7 - Nouveautés
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
Tour C++
Tour C++Tour C++
Tour C++
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Chap 3 : structered query language
Chap 3 : structered query languageChap 3 : structered query language
Chap 3 : structered query language
 
Formation php pdo
Formation php pdoFormation php pdo
Formation php pdo
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Hello mongo
Hello mongoHello mongo
Hello mongo
 
Algo poo ts
Algo poo tsAlgo poo ts
Algo poo ts
 
Partie1 TypeScript
Partie1 TypeScriptPartie1 TypeScript
Partie1 TypeScript
 
Sql3
Sql3Sql3
Sql3
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Plsql
PlsqlPlsql
Plsql
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 

More from Jean-Marie Renouard

More from Jean-Marie Renouard (6)

Manuel De Securite 1.8 (Mise à jour avec DOCKER)
Manuel De Securite  1.8 (Mise à jour avec DOCKER)Manuel De Securite  1.8 (Mise à jour avec DOCKER)
Manuel De Securite 1.8 (Mise à jour avec DOCKER)
 
ManuelDeSecurite-1.7.pdf
ManuelDeSecurite-1.7.pdfManuelDeSecurite-1.7.pdf
ManuelDeSecurite-1.7.pdf
 
Manuel de sécurité Linux
Manuel de sécurité Linux Manuel de sécurité Linux
Manuel de sécurité Linux
 
Ssh cookbook v2
Ssh cookbook v2Ssh cookbook v2
Ssh cookbook v2
 
Ssh cookbook
Ssh cookbookSsh cookbook
Ssh cookbook
 
Manuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur LinuxManuel de sécurisation d'un serveur Linux
Manuel de sécurisation d'un serveur Linux
 

Recently uploaded

BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvreidelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresidelewebmestre
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinidelewebmestre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0ourssoula
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 

Recently uploaded (20)

BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la NièvreAccompagnement de l'agrivoltaïsme dans le département de la Nièvre
Accompagnement de l'agrivoltaïsme dans le département de la Nièvre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitièresBOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
BOW 2024 -3-7- Impact bâtiment stress thermique Vaches laitières
 
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
BOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcinBOW 2024 - Le bâtiment multicritère porcin
BOW 2024 - Le bâtiment multicritère porcin
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0La logistique a L'ère de l'industrie 4.0
La logistique a L'ère de l'industrie 4.0
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 

SQL et MySQL

  • 1. Jean-Marie Renouard LightPath 2014© LightPath 2014© - http://www.jmrenouard.fr 1
  • 2. Le logo PHP est du domaine public http://commons.wikimedia.org/wiki/File:PHP-logo.svg Ce document est licencié sous licence ◦Attribution-NonCommercial-ShareAlike ◦CC BY-NC-SA Plus de détails: http://creativecommons.org/licenses/by-nc-sa/3.0/fr/ LightPath 2014© - http://www.jmrenouard.fr 2
  • 3. Langage d'interrogation de données. Langage de manipulation de données. Les types de données. Création de tables. Opérateurs, fonctions et conversions. Les différents types d'index. LightPath 2014© - http://www.jmrenouard.fr 3
  • 4. LightPath 2014© - http://www.jmrenouard.fr 4
  • 5. SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY] select_expression STRAIGHT_JOIN : Jointure ordonnée de colonne. SQL_SMALL_RESULT : Indication de résultats peu nombreux. SQL_BIG_RESULT : Indication de résultats très nombreux. SQL_BUFFER_RESULT : Stockage en table temporaire. SQL_CACHE | SQL_NO_CACHE : Stockage en cache.  SQL_CALC_FOUND_ROWS: Activation du comptage de tuples. HIGH_PRIORITY : Priorité augmentée à l'exécution. LightPath 2014© - http://www.jmrenouard.fr 5
  • 6.  [INTO {OUTFILE | DUMPFILE} 'nom_fichier' export_options]  [FROM table_references  [WHERE where_definition]  [GROUP BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC], ...  [HAVING where_definition]  [ORDER BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC] ,...]  [LIMIT [offset,] lignes]  [PROCEDURE procedure_name(argument_list)]  [FOR UPDATE | LOCK IN SHARE MODE]] FOR UPDATE et LOCK IN SHARE MODE ◦Options de verrouillage des lignes. LightPath 2014© - http://www.jmrenouard.fr 6
  • 7. Requête simple ◦select * from user; Fusion tuple à tuple ◦select * db, user; Jointure ◦select u.user , db.db from user u, db db where a.user=db.user group by user; LightPath 2014© - http://www.jmrenouard.fr 7
  • 8. Agrégation ◦select a, count(b.db) ◦from user a, db b ◦where a.user=b.user ◦group by a.user;  Requêtes imbriquées ◦select tu.user ◦from user tu ◦where NOT EXISTS ( ◦ select * from db td where td.user=tu.user ◦) ; LightPath 2014© - http://www.jmrenouard.fr 8
  • 9. LightPath 2014© - http://www.jmrenouard.fr 9
  • 10. INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  [INTO] tbl_name [(col_name,...)]  VALUES ({expr | DEFAULT},...),(...),...  [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  [INTO] tbl_name  SET col_name={expr | DEFAULT}, ...  [ ON DUPLICATE KEY UPDATE col_name=expr, ... ] INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  [INTO] tbl_name [(col_name,...)] SELECT ... LightPath 2014© - http://www.jmrenouard.fr 10
  • 11. Insertion simple ◦INSERT INTO USER VALUES (1, « Paul », « DUPONT »); Insert-Affectation ◦INSERT INTO USER SET USER=‘JEAN’; Insertion par requête ◦INSERT INTO TABLE SELECT * FROM TMP_USER; LightPath 2014© - http://www.jmrenouard.fr 11
  • 12. LightPath 2014© - http://www.jmrenouard.fr 12
  • 13. TINYINT[(M)] [UNSIGNED] [ZEROFILL] : Entier (1 octet ). BIT/BOOL/ BOOLEAN : Alias de TinyInt. SMALLINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 2 octets ) MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 3 octets ). INT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( 4 octets ). INTEGER[(M)] [UNSIGNED] [ZEROFILL] : Alias de INT. BIGINT[(M)] [UNSIGNED] [ZEROFILL] : Entier ( noctets ). FLOAT(precision) [UNSIGNED] [ZEROFILL]: Nombre à virgule flottante. FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] : Nombre à virgule flottante. LightPath 2014© - http://www.jmrenouard.fr 13
  • 14. DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] ◦Nombre à virgule flottante double p. DOUBLE PRECISION[(M,D)] ◦Nombre flottant double précision. REAL[(M,D)] [UNSIGNED] [ZEROFILL] : Alias de DOUBLE DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] ◦Nombre à virgule :littéral DEC[(M[,D])] [UNSIGNED] [ZEROFILL] : Alias de DECIMAL NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL]: Alias de DECIMAL FIXED[(M[,D])] [UNSIGNED] [ZEROFILL] : Alias de DECIMAL LightPath 2014© - http://www.jmrenouard.fr 14
  • 15.  DATE: Date sur l'intervalle de '1000-01-01' à '9999- 12-31' .  DATETIME : Combinaison de date et heure. TIMESTAMP[(M)] : Timestamp.  TIME: Heure sur l'intervalle de +/-838:59:59. YEAR[(2|4)] : Année au format 2 ou 4 chiffres. LightPath 2014© - http://www.jmrenouard.fr 15
  • 16. [NATIONAL] CHAR/CHARACTER(M) [BINARY | ASCII | UNICODE]: ◦Une chaîne de caractère de taille fixe (255 caractères) [NATIONAL] VARCHAR(M) [BINARY] ◦Une chaîne de taille dynamique. CHAR : Alias de CHAR(1) . VARCHAR: Alias de CHARACTER VARYING . LightPath 2014© - http://www.jmrenouard.fr 16
  • 17. TINYBLOB/TINYTEXT ◦Données de 2^8 octets. BLOB/TEXT ◦Données de 2^16 octets. MEDIUMBLOB/MEDIUMTEXT ◦Données de 2^24 octets. LONGBLOBLONGTEXT ◦Données de 2^32 octets. ENUM('value1','value2',...) ◦Une énumération de 65535 valeurs distinctes. SET('value1','value2',...) ◦Un ensemble de 64 membres maximum. LightPath 2014© - http://www.jmrenouard.fr 17
  • 18. LightPath 2014© - http://www.jmrenouard.fr 18
  • 19. CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(] LIKE old_tbl_name [)]; LightPath 2014© - http://www.jmrenouard.fr 19
  • 20. Requête SQL CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] [table_options] [select_statement] CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(] LIKE old_tbl_name [)]; CREATE TABLE t ( c1 CHAR(20) CHARACTER SET utf8, c2 CHAR(20) CHARACTER SET latin1 COLLATE latin1_bin ); LightPath 2014© - http://www.jmrenouard.fr 20
  • 21. column_definition col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [[PRIMARY] KEY] [COMMENT 'string'] [reference_definition] reference_option RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT LightPath 2014© - http://www.jmrenouard.fr 21
  • 22. create_definition: column_definition | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) | KEY [index_name] [index_type] (index_col_name,...) | INDEX [index_name] [index_type] (index_col_name,...) | [CONSTRAINT [symbol]] UNIQUE [INDEX] [index_name] [index_type] (index_col_name,...) | [FULLTEXT|SPATIAL] [INDEX] [index_name] (index_col_name,...) | [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] | CHECK (expr) LightPath 2014© - http://www.jmrenouard.fr 22
  • 23. index_col_name: col_name [(length)] [ASC | DESC] reference_definition: REFERENCES tbl_name [(index_col_name,...)] [MATCH FULL | MATCH PARTIAL] [ON DELETE reference_option] [ON UPDATE reference_option] LightPath 2014© - http://www.jmrenouard.fr 23
  • 24. table_option {ENGINE|TYPE} = {BDB|HEAP|ISAM|InnoDB|MERGE|MRG_MYISAM|MYISAM} | AUTO_INCREMENT = value | AVG_ROW_LENGTH = value | CHECKSUM = {0 | 1} | COMMENT = 'string' | MAX_ROWS = value | MIN_ROWS = value | PACK_KEYS = {0 | 1 | DEFAULT} | PASSWORD = 'string' | DELAY_KEY_WRITE = {0 | 1} | ROW_FORMAT = { DEFAULT | DYNAMIC | FIXED | COMPRESSED } | RAID_TYPE = { 1 | STRIPED | RAID0 } RAID_CHUNKS = value RAID_CHUNKSIZE = value | UNION = (tbl_name[,tbl_name]...) | INSERT_METHOD = { NO | FIRST | LAST } | DATA DIRECTORY = 'absolute path' | INDEX DIRECTORY = 'absolute path' | [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name] LightPath 2014© - http://www.jmrenouard.fr 24
  • 25. LightPath 2014© - http://www.jmrenouard.fr 25
  • 26. Opérateurs logiques AND, OR, NOT IN, BETWWEN Opérateurs de comparaison  <, >, <=, >=, =, !=, <> Opérateurs mathématiques  +,-,*,/, %,^, ||/, |/, !, @, &, |, ~, >>, << Les opérateurs LightPath 2014© - http://www.jmrenouard.fr 26
  • 27. LightPath 2014© - http://www.jmrenouard.fr 27
  • 28. ABS(X) : Valeur absolue de X . ACOS(X) : Arccosinus de X. ASIN(X) : Arcsinus de X. ATAN(X) : Arctangente de X. ATAN(Y,X) : Arctangente (Y,X) ATAN2(Y,X) : Arctangente des variables de Y / X CEILING(X)/CEIL(X) : Valeur entière supérieure de X . COS(X) : Cosinus de X , où X est donné en radian. COT(X) : Cotangente de X . Fonctions mathématiques LightPath 2014© - http://www.jmrenouard.fr 28
  • 29. CRC32(expr) : Somme de contrôle - entier 32 bits non-signé. DEGREES(X) :Conversion de radian en degré. EXP(X) : Exponentiel x : e^x FLOOR(X) : Valeur entière inférieure de X . LN(X) : Logarithme naturel de X (népérien). LOG(X)/LOG(B,X) : Logarithme de X en base B sinon LN(X) . LOG2(X) : Logarithme en base 2 de X . LOG10(X) : Logarithme en base 10 de X . MOD(N,M) : Reste de la division de N par M . Fonctions mathématiques LightPath 2014© - http://www.jmrenouard.fr 29
  • 30. PI() : Valeur de Pi. POW(X,Y)/POWER(X,Y) : Valeur de X élevée à la puissance Y. RADIANS(X) : Conversion de degré en radian. RAND()/RAND(N) : Nombre aléatoire à virgule flottante. ROUND(X)/ROUND(X,D) : Arrondi à un nombre à D décimales. SIGN(X) : Signe de l'argument sous la forme -1 , 0 , ou 1. SIN(X) : Sinus de X , où X est donnée en radian. SQRT(X) : Racine carrée de X. TAN(X) : Tangente de X en radian. TRUNCATE(X,D) : Troncature à D décimales. Fonctions mathématiques LightPath 2014© - http://www.jmrenouard.fr 30
  • 31. LightPath 2014© - http://www.jmrenouard.fr 31
  • 32. ASCII(str) : Code ASCII du premier caractère de la chaîne. BIN(N) : Chaîne représentant la valeur binaire de N BIT_LENGTH(str) : Nombre de bits de la chaîne de caractères str . CHAR(N,...) : Chaîne identifiée par leur code ASCII. CHAR_LENGTH(str) : Nombre de caractères de la chaîne str CHARACTER_LENGTH(str): Alias de CHAR_LENGTH. COMPRESS(string_to_compress) : Compression de la chaîne. CONCAT(str1,str2,...) : Concaténation des arguments. CONCAT_WS(separator, str1, str2,...) : Idem avec un séparateur. Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 32
  • 33. CONV(N,from_base,to_base) : Conversion de N entre différentes bases. ELT(N,str1,str2,str3,...) : Élement N+1 de la liste d'argument EXPORT_SET(bits,on,off,[séparateur,[nombre_de_bits]]) : Conversion de bits en chaîne. FIELD(str,str1,str2,str3,...) : Index de la chaîne str dans les arguments. FIND_IN_SET(str,strlist) : Index de la chaîne la liste strlist H.EX(N_or_S) : Conversion chaîne/héxadécimal. INSERT(str,pos,len,newstr) : Chaîne de caractères avec newstr insérée. INSTR(str,substr) : Index de la première occurrence de la chaîne. Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 33
  • 34. LCASE(str) : Alias de Lower() LEFT(str,len) : len premiers caractères LENGTH(str) : Taille de la chaîne str , mesurée en octets. LOAD_FILE(file_name) : Contenu sous la forme d'une chaîne de caractères. LOCATE(substr,str)/LOCATE(substr,str,pos) : Position de la première occurrence. LOWER(str) : Chaîne str avec tous les caractères en minuscules LPAD(str,len,padstr) : Chaîne de caractères str , complétée à gauche. LTRIM(str) : Chaîne de caractères str sans les espaces initiaux. MAKE_SET(bits,str1,str2,..) : Découpage de la chaîne en liste. Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 34
  • 35. MID(str,pos,len) : Alias de SUBSTRING(str,pos,len) . OCT(N) : Chaîne de caractère représentant la valeur octal. OCTET_LENGTH(str) : Alias de OCTET_LENGTH() ORD(str) : Code du premier caractère de la chaîne str. POSITION(substr IN str) : Alias de LOCATE(substr,str) . QUOTE(str) : Échappement les caractères spéciaux d'une chaîne. REPEAT(str,count) : Répetition de la chaîne. REPLACE(str,from_str,to_str) : Substitution de chaîne. REVERSE(str) : Chaîne inverse de la chaîne str. Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 35
  • 36. RIGHT(str,len) : len derniers caractères de la chaîne str. RPAD(str,len,padstr) : Complétion droite de la chaîne str. RTRIM(str) : Chaîne de caractères str sans les espaces finaux. SOUNDEX(str) : Valeur soundex de la chaîne. SPACE(N) : Chaîne de N espaces. SUBSTRING(str,pos) : Sous-chaîne. SUBSTRING(str FROM pos) : Alias de SUBSTRING(str, pos). SUBSTRING(str,pos,len) : Idem avec une longueur définie. SUBSTRING(str FROM pos FOR len) : Alias de SUBSTRING(str,pos,len). Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 36
  • 37. SUBSTRING_INDEX(str,delim,count) : Intervalle de chaîne TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str) : Suppression de caractère en début et/ou en fin de chaîne. UCASE(str)/UPPER(str) : Mise en majuscule de la chaîne str. UNCOMPRESS(string_to_uncompress) : Décompression de la chaîne UNCOMPRESSED_LENGTH(compressed_string) : Taille de la chaîne. UNHEX(str) : Chaîne héxadécimale en ascii. Fonctions sur chaîne de caractère LightPath 2014© - http://www.jmrenouard.fr 37
  • 38. LightPath 2014© - http://www.jmrenouard.fr 38
  • 39. ADDDATE(date,INTERVAL expr type) : Ajout de date. ADDDATE(expr,days) : Ajout de date. ADDTIME(expr,expr2) : Ajout d'heure. CURDATE() : Date actuelle. CURRENT_DATE() : Date actuelle. CURTIME() : Heure actuelle. CURRENT_TIME : Heure actuelle. YEAR(date) : Année de la date. YEARWEEK(date) : Numéro de la semaine de la date. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 39
  • 40. CURRENT_TIMESTAMP : Date et heure actuelle. DATE(expr) : Extraction de la date. DATEDIFF(expr,expr2) : Nombre de jour d'écart. DATE_ADD(date,INTERVAL expr type) : Ajout de dates. DATE_SUB(date,INTERVAL expr type) : Soustraction de dates. DATE_FORMAT(DATE, format) : Date formatée. DAY(date) : Alias de dayofthemonth(). DAYNAME(date) : Nom du jour. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 40
  • 41. DAYOFMONTH(date) : Jour du mois (1 à 31). DAYOFWEEK(date) : Jour de la semaine (1 : dimanche). DAYOFYEAR(date) : Jour de l'année. EXTRACT(type FROM date) : Extraction d'information de temps. FROM_DAYS(N) : Nombre de jours depuis N. FROM_UNIXTIME(unix_timestamp): Conversion d'un timestamp. GET_FORMAT(type) : Format du type de date. HOUR(time) : Extraction du nombre d'heure. LAST_DAY(date) : Dernier jour du mois courant. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 41
  • 42. LOCALTIME() : Heure locale. LOCALTIMESTAMP : Date et heure locale. MAKEDATE(year, nbDay) : Date à partir de l'année et du nombre de jour MAKETIME(hour,minute,second) : Heure à partie de heure, minute et seconde. MICROSECOND(expr) : Nombre de micro-seconde. MINUTE(time) : Nombre de minute. MONTH(date) : Mois de la date. MONTHNAME(date) : Nom du mois. NOW() : Date actuelle. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 42
  • 43. PERIOD_ADD(P,N) : Ajout de période. PERIOD_DIFF(P1,P2) : Différence entre période. QUARTER(date) : Trimestre de la date. SECOND(time) : Nombre de seconde de la date. SEC_TO_TIME(seconds) : Date à partir d'un nombre de s. STR_TO_DATE(str,format) : Date à partir d'une chaîne. SUBDATE(date,INTERVAL expr type) : Alias de DATE_SUB. SUBDATE(expr,days) : Soustraction de 2 dates. SUBTIME(expr,expr2) : Soustraction de 2 heures. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 43
  • 44. SUBTIME(exp1, exp2) : Soustraction de date. SYSDATE() : Alias de Now(). TIME(expr) : Extraction de l'heure. TIMEDIFF(expr,expr2) : Soustraction de 2 heures. TIMESTAMP(expr) : Timestamp à partir d'une chaîne. TIMESTAMPADD(in,expr,expr2) : Ajout de timestamp. TIMESTAMPDIFF(in,expr1,expr2) : Soustraction de timestamp. TIME_FORMAT(time,format) : Affichage de l'heure au format. TIME_TO_SEC(time) : Conversion en seconde. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 44
  • 45. TO_DAYS(date) : Nombre de jours depuis la date. UNIX_TIMESTAMP() : Timestamp Unix actuelle. UNIX_TIMESTAMP(date) : Timestamp Unix de la date. UTC_DATE : Date au format UTC. UTC_TIME : Heure au format UTC. UTC_TIMESTAMP : Timestamp au format UTC. WEEK(date [,mode]) : Numéro de la semaine. WEEKDAY(date) : Jour de la semaine de la date. WEEKOFYEAR(date) : Jour de l'année de la date. Fonctions sur le temps LightPath 2014© - http://www.jmrenouard.fr 45
  • 46. LightPath 2014© - http://www.jmrenouard.fr 46
  • 47. AVG(expr) : Moyenne des valeurs. BIT_AND(expr) : ET bit à bit des valeurs. BIT_OR(expr) : OU bit à bit des valeurs. BIT_XOR(expr) : OU EXCLUSIF bit à bit des valeurs. COUNT(expr) : Nombre de valeurs. COUNT(DISTINCT expr,[expr...]) : Nombre de valeurs distinctes. Fonctions d’agrégat LightPath 2014© - http://www.jmrenouard.fr 47
  • 48. •GROUP_CONCAT(expr) : Concaténation des valeurs. •MIN(expr) : Valeur minimum. •MAX(expr) : Valeur maximum. •STD(expr) / STDDEV(expr) : Dérivation standard entre les valeurs. •SUM(expr) : Somme des valeurs. •VARIANCE(expr) : Variance des valeurs. Fonctions d’agrégat LightPath 2014© - http://www.jmrenouard.fr 48
  • 49. LightPath 2014© - http://www.jmrenouard.fr 49
  • 50. Fonctions de chiffrements. Fonctions d'informations. Fonctions diverses. Les autres fonctions LightPath 2014© - http://www.jmrenouard.fr 50
  • 51. LightPath 2014© - http://www.jmrenouard.fr 51
  • 52. Index simple colonne CREATE INDEX idx on table_price ( price); Index multi-colonne CREATE INDEX idx_price_cat in table_price (price, cat); Pas d'index sur expression SELECT * FROM test1 WHERE lower(col1) = 'value'; CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));  Pas d'index partiel CREATE INDEX low_price_idx on table_price(price) where price BETWEEN 1 AND 10; Les indexes LightPath 2014© - http://www.jmrenouard.fr 52
  • 53. Index BTREE Utile quand la granularité des données est forte. Ex : pour l'indexation d'identifiant unique. Index HASH Utile quand la granularité des données est faible.  Ex : La couleur d'une voiture. Les indexes LightPath 2014© - http://www.jmrenouard.fr 53
  • 54. Index RTREE Utile pour les données spatiales. Ex : Coordonnées d'une étoile dans l'univers. Index FULLTEXT Utile pour les recherche dans du texte. Ex : recherche d'un texte à partir d'une citation. Les indexes LightPath 2014© - http://www.jmrenouard.fr 54
  • 55. Documentation de MySQL http://dev.mysql.com/ LightPath 2014© - http://www.jmrenouard.fr 55
  • 56. LightPath: ◦Société de conseil et d’ingénierie ◦Formations, Conseil, Audit et mise en oeuvre ◦jmrenouard@lightpath.fr Jean-Marie RENOUARD ◦jmrenouard@gmail.com ◦Twitter: @jmrenouard ◦http://www.jmrenouard.fr LightPath 2014© - http://www.jmrenouard.fr 56