Grenoble INP - Formation Continue Date : 2008-10-02 18 :00 :40 +0200 (jeu, 02 oct 2008) Version 1.1.0 - Rev : 301 Introduction Ce document est un aide-mmoire sur les principales commandes et conventions de MySQL. Il traite essentiellement de linterface en ligne de commande, et se base sur les versions 5.0.x de lapplication. Crdits Ce document est sous licence Creative Commons, Attribution-Share alike 3.0. Voir la description : http://creativecommons.org/licenses/by-sa/3.0/deed.fr Documents ayant servi dinspiration ou de source : http://dev.mysql.com/doc/, documentation ofcielle en franais et anglais pages de man de mysql, mysqladmin... Conformment la philosophie du logiciel libre, vous tes encourags rutiliser, reproduire et modier ce document, sous les conditions de la licence Creative Commons, Attribution-Share alike 3.0. Jaccepte volontiers les remarques, suggestions damliorations, corrections et contributions ce document. Table des matires 1 Contrle des donnes 2 1.1 Privilges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Commandes privilges et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Structure des donnes 3 2.1 Types de donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Dnition des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 SHOW - Informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Manipulation des donnes 4 3.1 Commandes de manipulation des donnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Oprations mathmatiques et logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 Oprations sur les chanes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4 Dates et heures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.5 Agrgation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.6 Autres fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 Utilitaires en ligne de commande 7 4.1 Commande mysqladmin (abrge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 1 Contrle des donnes 1.1 Privilges Niveaux : Serveur (S : *.*), dataBase (B : db.*), Table (T : db.table), Colonne (C : table.column). Privilges Serveur SHOW DATABASES S droit de voir toutes les bases du serveur PROCESS S droit de voir tous les processus en cours FILE S droit de sortir les rsultats dans un chier RELOAD S droit dutiliser la commande FLUSH SUPER S tous les droits dadministration (KILL, SET GLOBAL...) SHUTDOWN S droit darrter le service REPLICATION SLAVE S droit de savoir o sont les matres et esclaves REPLICATION CLIENT S ncessaire pour les esclaves de rplication Privilges Contrle des accs aux donnes CREATE USER S droit de crer un utilisateur GRANT OPTION - droit de dlguer ses droits dautres utilisateurs ALL - tous les droits, sauf GRANT Privilges Dnition des donnes (structure) CREATE B, T droit de crer une base ou une table (selon le niveau) DROP B, T droit de supprimer une base ou une table (selon le niveau) INDEX T droit de crer et de supprimer des index sur une table ALTER T droit de modier la structure de la table CREATE TEMPORARY TABLES B, T droit de crer des tables temporaires Privilges Manipulation de donnes SELECT T,C droit de lire des donnes LOCK TABLES B droit de verrouiller les tables (droit SELECT requis) INSERT T droit dajouter un enregistrement dans une table UPDATE T,C droit de mettre jour des donnes dans une table DELETE T droit de supprimer un enregistrement REFERENCES B,T,C inutilis (rserv pour le futur) Privilges SQL Procdural CREATE ROUTINE S (5.0+) droit de crer des procdures stockes et fonctions ALTER ROUTINE S (5.0+) droit de modier les procdures stockes prsentes EXECUTE S (5.0+) droit dexcuter les procdures stockes CREATE VIEW B, T (5.0+) droit de crer une vue SHOW VIEW B, T (5.0+) droit de consulter la dnition de la vue 1.2 Commandes privilges et utilisateurs Utilisateurs et privilges CREATE USER user [IDENTIFIED BY password], ... DROP USER user [, user] ... RENAME USER old-user TO new-user, ... SET PASSWORD [FOR user] = PASSWORD(secret) GRANT priv-type [(col-list)] ON ... TO user [IDENTIFIED BY password] ... [WITH GRANT OPTION] REVOKE priv-type ON [table | * | *.* | base.*] FROM user ... REVOKE ALL PRIVILEGES, GRANT OPTION FROM user 2 2 Structure des donnes 2.1 Types de donnes Numriques : [UNSIGNED] [ZEROFILL] BIT[()] (var) champ de bits, de 1 64 bits TINYINT[()] entier (1 octet) BOOL entier (1 octet) synonyme de TINYINT SMALLINT[()] entier (2 octets) MEDIUMINT[()] entier (3 octets) INT[()] entier (4 octets) BIGINT[()] entier (8 octets) FLOAT[(M,D)] nombre en virgule ottante simple prcision DOUBLE[(M,D)] nombre en virgule ottante double prcision DECIMAL[(M[,D])] nombre dcimal en prcision absolue (chane) Horodatage DATE format YYYY-MM-DD, de 1000-01-01 9999-12-31 TIME format HH :MM :SS, de -838 :59 :59 838 :59 :59 ! DATETIME YYYY-MM-DD HH :MM :SS, combinaison des deux prcdents TIMESTAMP 1970-01-01 00 :00 :01 2038-01-09 03 :14 :07, horodatage UNIX YEAR[(2|4)] de 1901 2155 (4 chiffres) ou de 70-99 (1970-1999) 00-69 (2000-2069) Chanes de caractres [CHARACTER SET ...] [COLLATE ...] CHAR(N) chane de caractres de longueur xe (1 255) VARCHAR(N) chane de caractres de longueur variable (1 255) ENUM(a,b) une valeur parmi la liste prdnie SET(a,b) une ou plusieurs valeurs parmi la liste TINYTEXT(N) chane maxi 255 caractres TEXT(N) chane longue, maxi 64 K caractres MEDIUMTEXT(N) chane longue, maxi 16 M caractres LONGTEXT(N) chane longue, maxi 4 G caractres BLOB() var. TINYBLOB, MEDIUMBLOB, LONGBLOB (Binary Large OBject) 2.2 Dnition des donnes Bases CREATE DATABASE | SCHEMA [IF NOT EXISTS] base ... DROP DATABASE | SCHEMA [IF EXISTS] base ALTER DATABASE | SCHEMA [base] Tables CREATE [TEMP.] TABLE [I.N.E] table (create-def) CREATE [TEMP.] TABLE [I.N.E] table [(create-def)] SELECT ... CREATE [TEMP.] TABLE [I.N.E] table LIKE old-table DROP [TEMPORARY] TABLE [IF EXISTS] table ALTER [IGNORE] TABLE table ... RENAME TABLE table1 TO table2, ... CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX nom [...] ON table(col1,...) DROP INDEX nom ON table lments stocks CREATE [OR REPLACE] VIEW vue [(col-list)] AS select-statement DROP VIEW [IF EXISTS] vue, vue2... ALTER VIEW vue [(col-list)] AS select-statement id. CREATE OR REPLACE CREATE [...] PROCEDURE nom ([params...]) ... CREATE [...] FUNCTION nom ([params...]) RETURNS type... DROP PROCEDURE [IF EXISTS] nom DROP FUNCTION [IF EXISTS] nom CREATE [...] TRIGGER nom ... DROP TRIGGER [IF EXISTS] nom 3 2.3 SHOW - Informations Infos serveur SHOW ENGINES SHOW ENGINE engine-name LOGS | STATUS SHOW MUTEX STATUS spcique InnoDB SHOW [GLOBAL | SESSION] STATUS [like-or-where] SHOW [GLOBAL | SESSION] VARIABLES [like-or-where] SHOW CHARACTER SET [like-or-where] SHOW COLLATION [like-or-where] SHOW PRIVILEGES SHOW GRANTS FOR user SHOW [FULL] PROCESSLIST SHOW [ERRORS | WARNINGS] [LIMIT [offset,] row-count] SHOW PROFILE [types] [FOR QUERY n] [OFFSET n] [LIMIT n] SHOW PROFILES SHOW BINARY LOGS SHOW BINLOG EVENTS [IN logle]... Infos routines... SHOW [PROCEDURE | FUNCTION] CODE sp-name SHOW [PROCEDURE | FUNCTION] STATUS [like-or-where] SHOW CREATE [PROCEDURE|FUNCTION] name SHOW CREATE VIEW name Infos bases SHOW DATABASES [like-or-where] SHOW CREATE DATABASE db SHOW TRIGGERS [FROM db] [like-or-where] Infos tables SHOW [FULL] COLUMNS FROM table [FROM db] [like-or-where] SHOW OPEN TABLES [FROM db] [like-or-where] SHOW TABLE STATUS [FROM db] [like-or-where] SHOW TABLES [FROM db] [like-or-where] SHOW CREATE TABLE table SHOW INDEX FROM table [FROM db] 3 Manipulation des donnes 3.1 Commandes de manipulation des donnes SELECT [DISTINCT] ... [FROM ...] [WHERE ...] [ORDER BY ...] [LIMIT ...] SELECT [GROUP BY ... [WITH ROLLUP] [HAVING ...] SELECT INTO [ OUTFILE | DUMPFILE | variable... ] INSERT INTO table (col1, col2, ...) VALUES (val1, val2, ...), ... INSERT INTO table SET col1=val1, col2=val2 ... INSERT INTO table (col1, col2, ...) SELECT ... INSERT INTO table ON DUPLICATE KEY UPDATE ... REPLACE simil. INSERT ... ON DUPLICATE KEY UPDATE LOAD DATA INFILE chier [REPLACE | IGNORE] INTO TABLE table... UPDATE ... table SET col1=val1 ... [WHERE ...] [ORDER BY ...] [LIMIT ...] UPDATE table-refs SET col1=val1 [, col2=val2 ...] [WHERE ...] DELETE [...] FROM table [WHERE ...] [ORDER BY ...] [LIMIT N] DELETE tcible1 [, tcible2] ... FROM table-refs [WHERE ...] DELETE FROM tcible1 [, tcible2] ... USING table-refs [WHERE ...] TRUNCATE TABLE table : vide la table 4 3.2 Oprations mathmatiques et logiques Oprateurs arithmtiques +, -, *, / oprations courantes MOD, % modulo : reste de la division entire DIV quotient de la division entire ( ) gestion des priorits Oprateurs logiques TRUE, FALSE, UNKNOWN les trois tats en logique SQL !, NOT NON logique ||, OR OU logique &&, AND ET logique XOR OU exclusif logique Oprateurs boolens bit bit ~ NON bit bit | OU bit bit & ET bit bit ^ OU exclusif bit bit Oprateurs de comparaison = galit != ou <> ingalit <, <=, >, >= infrieur (ou gal), suprieur (ou gal) IS, IS NOT (bool) test de correspondance un boolen (NOT) IN (val1, val2...) galit avec une valeur de la liste (NOT) BETWEEN ... AND ... test dintervalle (double ingalit large) <=> galit grant la valeur NULL IS NULL, IS NOT NULL tests sur la valeur NULL Fonctions de comparaison ISNULL(val) test sur la valeur NULL LEAST(n1, n2, n3...) la valeur minimale de la liste GREATEST(n1, n2, n3...) la valeur maximale de la liste COALESCE(val1, val2, val3...) la premire valeur non NULL de la liste INTERVAL(N,N1,N2,N3,...) lindex de N dans la liste ordonne des Ni Fonctions mathmatiques ABS(nbr) valeur absolue SIGN(nbr) signe : 0, 1, -1 FLOOR, CEILING, ROUND (nbr) arrondi : infrieur, suprieur, plus proche ROUND, TRUNCATE (nbr,D) retourne larrondi ou la troncature D dcimales EXP(nbr) exponentielle de nbr POW(nbr, expo) nbr la puissance expo LOG, LOG2, LOG10 (nbr) logarithme naturel, en base 2, en base 10 SQRT(nbr) racine carre de nbr COS, SIN, TAN, COT (nbr) cosinus, sinus, tangente, cotangente ACOS, ASIN, ATAN (nbr) trigonomtrie inverse DEGREES(nbr), RADIANS(nbr) conversion dangle en degrs, en radians PI() le nombre RAND() nombre alatoire en virgule ottante entre 0 et 1 3.3 Oprations sur les chanes Oprateurs sur les chanes %, _ mtacaractre de recherche multiple, unique \ caractre dchappement, pour protger un mtacaractre (NOT) LIKE (BINARY) comparaison selon un motif ; BINARY=respecte la casse (NOT) REGEXP comparaison avec une expression rgulire SOUNDS LIKE comparaison de prononciation (approximatif) 5 Fonctions sur les chanes ASCII(a), CHAR(N) conversion de caractre en entier, et inversement CONCAT(a,b), CONCAT_WS( :,a,b) concatne les chanes (avec sparateur) LENGTH, CHAR_LENGTH (chane) longueur en octets (=7), en caractres (=6) ELT(N,str1,str2...) retourne la chane correspondant lindex FIELD(str,str1,str2...) retourne lindex de str dans la liste des strN FIND_IN_SET(str,strlist) retourne lindex de str dans la chane-liste, sparateur=, LOCATE(substr,str,pos) position de la 1ere occurrence >pos de substr dans str LEFT, RIGHT (str,N) retourne la partie gauche, droite de longueur N SUBSTR(str,pos,len) extrat une partie interne de la chane SUBSTRING_INDEX(str,delim,N) la portion de la chane situe avant N occurrences de delim LOWER(), UPPER() retourne la chane en minuscules, en majuscules LPAD, RPAD (str,len,padstr) complte une chane par des espaces gauche, droite LTRIM, RTRIM, TRIM supprime les espaces gauche, droite, aux deux extrmits REPEAT(str,count) retourne une chane compose de str rpte REPLACE(str,from-str,to-str) remplace dans str from-str par to-str SPACE(N) une chane de N espaces 3.4 Dates et heures Horodatage courant NOW() date et heure courantes CURDATE() date courante CURTIME() heure courante UNIX_TIMESTAMP() horodatage Unix (nb de secondes depuis le 01/01/1970 00 :00) Fonctions de conversion DATE_FORMAT(date, format) permet de prciser nement le format ; cf doc DAYOFWEEK(date) le numro du jour dans la semaine DAYOFMONTH, DAYOFYEAR (date) numro du jour dans le mois, dans lanne MONTH(date) le numro du mois DAYNAME(date) le nom du jour MONTHNAME(date) le nom du mois QUARTER(date) le numro du trimestre WEEK(date) numro de la semaine dans lanne YEAR(date) lanne HOUR, MINUTE, SECOND (date) TO_DAYS(date) nb de jours depuis lan 0 FROM_DAYS(N) linverse du prcdent FROM_UNIXTIME(N) conversion en date et heure dun horodatage Unix Fonctions de conversion DATE_ADD, DATE_SUB (date, duree) arithmtique de dates DATEDIFF(d1,d2) dure entre deux dates 3.5 Agrgation Fonctions dagrgation (GROUP BY) AVG() moyenne arithmtique BIT_AND, BIT_OR, BIT_XOR() oprations boolennes bit bit COUNT(*) compte les lignes (NULL ou pas) COUNT([DISTINCT] col) compte les valeurs non NULL (distinctes) STD() lcart-type SUM() la somme VARIANCE() la variance GROUP_CONCAT() concatnation des chanes 6 3.6 Autres fonctions Fonctions de Cast (transtypage) BINARY str comparaison binaire (majuscules != minuscules)... CAST(expr AS type) transtypage standard CONVERT(expr,type) idem, syntaxe ODBC CONVERT(expr USING charset) changement de jeu de caractres Fonction dinformation MySQL VERSION() version du serveur MySQL CONNECTION_ID() identiant de la connexion courante DATABASE() base de donnes courante USER() utilisateur (tel que pass en ligne de commande) CURRENT_USER() utilisateur (tel quauthenti) LAST_INSERT_ID() dernier retour dun champ AUTO_INCREMENT ROW_COUNT() nb de lignes concernes par la dernire requte FOUND_ROWS() nb de lignes sans LIMIT; voir SELECT SQL_CALC_FOUND_ROWS 4 Utilitaires en ligne de commande 4.1 Commande mysqladmin (abrge) mysqladmin <sous-commande> [arguments] ush-hosts vide tous les htes en cache ush-logs vide de la mmoire tous les logs ush-status remet zro les variables dtat ush-tables vide de la mmoire toutes les tables ush-threads vide le cache des threads reload recharge les tables de privilges refresh vide de la mmoire toutes les tables puis rouvre les logs create databasename crer une nouvelle base debug crire les infos de dbogage dans les logs drop databasename supprimer une base (et ses tables) extended-status afche un rapport dtat dtaill du serveur kill id,id,... termine un thread Mysql password new-password change le mot de passe de lutilisateur connect ping vrie si mysqld tourne processlist afche la liste des threads actifs sur le serveur shutdown arrte le serveur status afche un bref message dtat du serveur start-slave dmarre lesclave de rplication stop-slave arrte lesclave de rplication variables afche les variables disponibles version afche la version du serveur 7
Paramètres Typiques Du Vase. Paramètres de Contrôle d'Un Système d'Injection en Bon État CUD _Renault F3R_ (Svyatogor, Prince Vladimir). Bosch M1.5.4 - Spécifications
Paramètres Typiques Du Vase. Paramètres de Contrôle d'Un Système d'Injection en Bon État CUD _Renault F3R_ (Svyatogor, Prince Vladimir). Bosch M1.5.4 - Spécifications