Manuel de référence de MySQL

Qu’est ce que MySQL?

MySQL est un véritable serveur de base de données SQL multi-utilisateur et multi-threaded. SQL est le plus populaire langage de base de données dans le monde. MySQL est une configuration client/serveur ce qui consiste en un serveur démon mysqld, différents programmes clients et des librairies. SQL est un langage standardisé qui rend facile le stockage, la mise à jour et l’accès à l’information. Par exemple, vous pouvez utiliser le SQL pour récupérer des informations sur un produit ou stocker des informations client sur un site web. MySQL est suffisamment rapide et flexible pour gérer des historiques et des images.
Les principaux objectifs de MySQL sont la rapidité, la robustesse et la facilité d’utilisation. MySQL a été originellement développé parce que nous au TcX avions besoin d’un serveur SQL qui puisse gérer des grandes bases de données de manière plus rapide que ce que pouvaient offrir les distributeurs de bases de données. Nous utilisons donc MySQL depuis 1996 dans un environnement de plus de 40 bases de données contenant 10,000 tables, dont plus de 500 contiennent plus de 7 millions d’enregistrements. C’est environ 100 giga octets de données critiques.La base sur laquelle MySQL est construite est un ensemble de routines qui ont été largement éprouvées pendant des années dans un environnement de production exigeant. Même si MySQL est encore en développement, il propose déjà un ensemble de fonctionnalités riches et extrêmement utiles.La prononciation classique de MySQL est « Maille Ess Ku Ell »

A propos de ce manuel

Ce manuel est actuellement disponible en Texinfo, texte plein, Info, HTML, PostScript and PDF versions. A cause de leur taille, les versions en PostScript et PDF ne sont pas inclues dans la distribution principale de MySQL, mais sont disponibles sur http://www.mysql.com.Le document initial est le fichier Texinfo. La version HTML a été générée automatiquement avec une version modifiée de texi2html. Les versions plain text et Info ont été produites avec makeinfo. La version Postscript version a été produite en utilisant texi2dvi et dvips. La version PDF a été produite avec l’utilitaire Ghostscript ps2pdf.La version américaine de ce manuel a été écrite et mise à jour par David Axmark, Michael (Monty) Widenius, Paul DuBois and Kim Aldale. Pour les autres contributeurs, cf. section C Contributions à MySQL.

Conventions utilisées dans ce manuel

Ce manuel utilise certaines conventions typographiques :
constant
La police à empattement constant est utilisée pour les noms de commandes et les options; les déclarations en SQL; les noms de base de données, tables et colonnes; le code en C et Perl; et les variables d’environnement. Exemple: « Pour obtenir une aide succinte, utilisez l’option –help de mysqladmin. »
« filename »
La police à empattement constant avec des guillemets est utilisée pour les noms de fichiers et les arborescences. Exemple: « La distribution est installée dans le dossier « /usr/local/ ». »
« c »
La police à empattement constant avec des guillemets est aussi utilisée pour indiquer une suite de caractères. Exemple: « Pour indiquer un caractère joker, utilisez le caractère « % ». »
italic
La police italic est utilisée pour mettre en relief certains termes, Comme ceci.
boldface
La police Gras pour un accès à des noms privilégiés (e.g., « Ne distribuez pas le droit de process à la légère ») et souligner des termes spécialement importants.
Lorsque les commandes sont décrites et doivent être exécutées par un programme spécifique, le programme est indiquée par le prompt avec la commande. Par exemple, shell> indique que la commande doit être exécutée à partir du login shell, et mysql> indique que la commande doit être exécutée à partir client mysql.
shell> Tapez une commande shell ici
mysql> Tapez une commande mysql ici
Les commandes Shell décrites utilisent la syntaxe shell Bourne. Si vous utilisez un shell csh, vous devez formuler vos commandes un peu différemment.
Par exemple, la séquence de mise à jour d’une variable d’environnement et d’exécution d’une commande se présente comme suit dans la syntaxe Bourne:
shell> VARNAME=value some_command
pour csh:
shell> setenv VARNAME value
shell> some_command
Les noms de base de données, tables et colonnes sont souvent utilisés dans des commandes. Pour indiquer ces utilisations le manuel utilise la convention suivante, nom_base_de_donnees, nom_table et nom_colonne. Par exemple, vous pourrez voir des déclarations comme les suivantes:
mysql> SELECT nom_colonne FROM nom_base_de_donnees.nom_table;
Cela signifie que si vous devez utiliser une déclaration similaire, vos utiliserez vos propres noms de base de données, de tables et de colonnes, peut-être comme ceci :
mysql> SELECT nom_auteur FROM biblio_db.liste_auteur;
Les déclarations SQL peuvent être écrites en majuscules ou minuscules. Lorsque ce manuel montre une expression SQL, les majuscules sont utilisées pour les mots clefs en cours de discussion et les minuscules pour le reste de l’expression. Donc vous pourrez voir ce qui suit pour la déclaration du SELECT:
mysql> SELECT count(*) FROM nom_table;
D’autre part, si il s’agit de la fonction COUNT(), l’expression sera écrite comme suit:
mysql> select COUNT(*) from nom_table;
Dans le cas où aucun mot clef n’est à souligner, l’expression est en majuscule.
Dans la description de la syntaxe d’une expression, les crochets (« [ » et « ] ») sont utilisés pour indiquer les options:
DROP TABLE [IF EXISTS] nom_table
Lorsque les éléments syntaxiques consistent en un certain nombres d’alternatives, les alternatives sont séparés par des barres verticales (« | »). Quand un membre d’un ensemble de possibilités peut être choisit, les possibilités sont listées à l’intérieure de crochets. Quand un membre doit être choisit, les possibilités sont listées à l’intérieure de (« { » and «  »}):
TRIM([[BOTH | LEADING | TRAILING] [remstr] FROM] str)
{DESCRIBE | DESC} nom_table {nom_colonne | wild}

Historique de MySQL

Nous avions l’intention d’utiliser mSQL pour se connecter à nos tables fondées sur nos routines (ISAM). Après plusieurs tests, nous sommes venus à la conclusion que mSQL n’était pas assez rapide, ni flexible pour nos besoins. La résultat a été le codage d’une nouvelle interface SQL pour notre base ave la plupart des interface API de mSQL. Ces API ont été choisis pour faciliter le portage sur des codes tiers. La dérivation du nom MySQL n’est pas parfaitement claire. Notre arborescence et un certain nombre de nos librairies et outils commencaient par le préfixe « My » depuis des années. Même si la soeur de Monty (il y a quelques années) était surnommée My. A part les deux anecdotes le nom de MySQL est encore un mystère, pour nous aussi.

Caractéristiques de MySQL

La liste suivante décrit quelques caractéristiques importantes de MySQL:
• Complètement multi-threaded en utilisant les threads du noyau. Cela signifie qu’il peut utiliser plusieurs CPU.
• C, C++, Eiffel, Java, Perl, PHP, Python et TCL APIs. 20 API MySQL.
• Fonctionne sur différentes plates-formes. 4.2 Systèmes d’exploitation supportés par MySQL.
• Plusieurs types de colonnes: entier signé/non-signé 1, 2, 3, 4et 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET et ENUM types. 7.2 Types de colonnes.
• Jointures ultra rapides, grace à un optimiseur de jointures à une passe.
• Les requêtes SELECT et WHERE supportent tous les opérateurs et fonctions. Exemple:
• mysql> SELECT CONCAT(first_name,  » « , last_name) FROM nom_table
• WHERE income/dependents > 10000 AND age > 30;
• Les fonctions SQL sont implémentées à travers des classes de librairies extrêmement optimisées et devraient fonctionner aussi vite qu’elles peuvent! En général il n’y a plus d’allocation mémoire après une requête d’initialisation.
• Support pour les clauses des instructions SQL GROUP BY et ORDER BY . Support pour le groupe d’instructions (COUNT(), COUNT(DISTINCT), AVG(), STD(), SUM(), MAX() et MIN()).
• Support pour LEFT OUTER JOIN avec la syntaxe ANSI SQL et ODBC.
• Le mélange des tables de différentes bases de données est supporté dans une même requête (après la version 3.22).
• Système flexible et sécurisé de droits et de mots de passe, et qui autorise une vérification faites sur l’hôte. Les mots de passe sont sécurisés depuis que la gestion des mots de passe est crypté entre le client et le serveur.
• ODBC (Open-DataBase-Connectivity) pour Windows95 (avec source). Toutes les fonctions ODBC 2.5 et d’autres. Vous pouvez, par exemple, utiliser Access pour vous connecter au serveur MySQL.

MySQL et ODBC

• Tables rapides à B-tree avec compression des index.
• 16 index par tables sont autorisés. Chaque index consiste en 1 et 15 colonnes ou parties de colonnes. La longueur maximale d’un index est de 256 bytes (ceci peut être modifié lors de la compilation MySQL). Un index devrait utiliser un préfixe CHAR ou VARCHAR .
• Enregistrements de longueur fixe ou variable.
• Les Tables de hashage en mémoire, qui sont utilisées comme des tables temporaires.
• Gestion de grandes bases de données. Nous utilisons MySQL avec des bases de 50,000,000 enregistrements.
• Toutes les colonnes ont des valeurs par défaut. Vous pouvez utiliser INSERT pour insérer un ensemble de colonnes; les colonnes qui n’ont de valeurs explicites sont initialisées à leur valeur par défaut.
• Utilise GNU Automake, Autoconf et libtool pour la portabilité.
• Ecrit en C et C++. Testé avec un nombre conséquent de compilateurs différents.
• Système efficace d’allocation mémoire thread-based.
• Pas de perte de mémoire. Testé avec un détecteur de perte de mémoire commercial (purify).

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *