Présentation de Mysql
MySQL est le moteur de base de donnée libre de droits le plus connu ,
largement reconnu pour sa rapidité et sa fiabilité.
Il peut être téléchargé sur
www.mysql.com
Vous verrez sur ce site les succès journaliers remportés
par cette base de données auprès des grands noms de l'industrie mondiale
(elle est disponible pour des plateformes d'UNIX et de Windows).
A ce jour environ 4 millions d'installations MySQL au monde
et les sources sont téléchargées 30.000 fois par jour ...
Introduction aux bases de données
Chaque base de données se compose d'une ou plusieurs "tables" -
ces tables, qui structurent des données dans des lignes et
des colonnes, servent à organiser les données.
Exemple de table:
Membre_id | Prénom | Nom | Tel | Email |
1 | Marc | Martin | 12454545 | martin@jacques.com |
2 | Léa | Martin | 252225 | lea@iletaitunefois.com |
3 | Zoé | Durand | 454545 | zoé@toto.com |
4 | Claire | Dupond | 56565656 | claire@rustine.com |
- Les colonnes correspondent aux "champs" de la table
- Elles sont en principe définies lors de la construction de la table
(on peut éventuellement en rajouter une fois que la table a été créée,
mais bien sur les données seront absentes sur cette colonne pour les données qui ont déjà été saisies).
- Ces colonnes contiennent des données qui sont toujours du même type
pour une colonne donnée. Le type de donnée contenu dans chaque colonne doit aussi
être soigneusement défini avant de commencer le chargement de la table, afin d'optimiser
les traitements futurs sur les données de la table et d'éviter tout changement de type
une fois que la table est partiellement chargée, ce qui ne serait pas sans danger pour
l'intégrité des données.
- Un système de base de données est "indépendant", et possède ses propres
types de données, c'est pourquoi en ce qui nous concerne les types de données de mySQL
sont sensiblement différents de ceux de PHP.
- Les lignes sont des "enregistrements" :
- Bien que la valeur d'une cellule puisse être
modifiée indépendamment des autres cellules de la ligne, une table se "remplit" en principe
par ajouts successifs de lignes complètes.
- Le chargement se fait soit par saisie manuelle des informations,
soit par lecture de données contenues dans d'autres systèmes d'information (autre base de
données, fichier texte, tableur, capteur d'information...)
- Il est toujours nécessaire de pouvoir identifier un enregistrement spécifique
dans une table. Dans l'exemple ci-dessus, chaque enregistrement est identifié par
une "identification de membre", qui est un nombre unique à chaque rangée ou enregistrement;
ce champ unique désigné sous le nom de "clef primaire" pour cette table.
Relations
MySQL est "un système de gestion de base de données relationnelle", ou RDBMS.
Une base de données relationnelle se compose de tables multiples,
qui contiennent les informations en corrélation. Le SQL (Software Query Language)
permet de combiner les données de ces tables de différentes façons, de façon à
gérer les rapports entre ces données.
Considérez l'exemple suivant,
qui ajoute deux tables supplémentaires - la seconde contient une liste de
films disponibles pour la location, alors que la troisième lie les films avec
les membres par l'intermédiaire de leurs clefs primaires.
Memebre_id | Prenom | Nom | Telelephone | Email |
1 | Marc | Martin | 12454545 | martin@jacques.com |
2 | Léa | Martin | 252225 | lea@iletaitunefois.com |
3 | Zoé | Durand | 454545 | zoé@toto.com |
4 | Claire | Dupond | 56565656 | claire@rustine.com |
Video_id | Titre | Producteur |
1 | My Fair Lady | Audrey Hepburn |
2 | Napoléon | Christian Clavier |
3 | Leçons de séduction | Jeff Bridges |
4 | Holy Smoke | Jane Campion |
5 | L'enfant des lumières | Daniel Vignes |
6 | On connait la chanson | Alain Resnais |
Membre_id | Video_id | Date_location |
2 | 6 | 10/09/2003 |
4 | 2 | 15/09/2003 |
1 | 1 | 18/09/2003 |
1 | 2 | 20/09/2003 |
1 | 3 | 22/09/2003 |
Si l'on regarde la troisième table, on voit qu'elle lie chaque membre
ayant emprunté des films avec les films qu'il a loué.
Ainsi nous voyons que Léa Martin (le membre # 2) a loué "On connait la chanson"
(vidéo # 6), tandis que Marc Martin(le membre # 1) a loué "My Fair Lady" (vidéo # 1), "Napoléon"
(vidéo #2) et "Leçons de séduction " (vidéo # 3).
En d'autres termes, la troisième table a créé un lien entre certains
enregistrements de la première table de des enregistrements de la seconde table :
C'est le concept fondamental d'un système de base de données relationnelle.
Il est évident que dans un tel système le nombre de tables n'est pas limité,
par exemple dans la réalité, comme un producteur réalise en général plusieurs
films, dans la première table, au lieu de mettre le nom du producteur,
on aurait certainement mieux fait de prévoir un pointeur vers la table des producteurs
Le principal avantage d'un tel système est d'eviter la duplication des données.
Ceci évite une perte de place mais surtout des risques d'erreurs.
Si l'on ressaisissait le nom d'un membre à chaque emprunt :
- Le temps de saisie serait beaucoup plus important que le temps de recherche dans la base
- Il y aurait donc des informations dupliquées dans la base
- En cas d'erreur dans l'othographe du nom ce serait très génant car on ne pourrait plus faire
une liste correcte des films loués par cette personne
Création d'une base de données
Nous supposerons mysql et phpmyadmin installés comme indiqué dans le manuel
joint au CD
Note : Si vous projetez de transferrer votre site sur Internet par l'intermédiaire
d'un prestataire, il est fortement conseillé, pour les noms de base de données et
surtout de table (en général le nom de base de données est imposé par le prestataire)
de ne pas utiliser d'espace, ni d'accent, ni de caractère spécial autre que le souligné
Les noms de tables sont en fait des noms de fichiers, donc il faut absolument respecter
la "casse" lors de la création et la désignation des tables, afin d'assurer
la portabilité sur linux.Il faut aussi ne pas mettre de caractères accentués dans le nom des tables
- Création d'une base avec phpMyadmin :
Juste saisir un nom de base de doonées dans la boite de dialogue "créer".
- Création d'une base avec sql.exe :
Si tout fonctionne bien, après avoir cliqué sur mysql/bin/mysql.exe, une fenêtre
dos s'ouvre, et "prompt MySQL" apparait :
C'est la ligne de commande qui peut être utilisée pour entrer des commandes
mysql simples à des fins de 'debugging' . Toutes les commandes doivent se terminer par
un point-virgule. Exemple de commandes :
Création d'une base de donnée que l'on va nommer atelierPHP:
mysql> CREATE DATABASE atelierPHP;
Query OK, 1 row affected (0.05 sec)
Pour utiliser une base de données :
mysql> USE atelierPHP;
Database changed
Pour avoir la liste des tables créées dans la base :
mysql> SHOW TABLES;
Lors de la création d'une table, trois fichiers sont créés dans le dossier mysql/data/nom_de_la_base/ :
- nom_de_table.frm,
- nom_de_table.MYD,
- nom_de_table.MYI
Types de données pour les tables mysql
La commande mySQL pour céer une table est la suivante :
mysql> CREATE TABLE members (member_id INT(11) NOT NULL AUTO_INCREMENT,
nom VARCHAR(50) NOT NULL, prenom VARCHAR(50) NOT NULL, telephone VARCHAR(15),
email VARCHAR(50) NOT NULL, PRIMARY KEY (member_id));
Query OK, 0 rows affected (0.05 sec)
On voit que chaque nom de champ est suivi de son "type" qui identifie quel type de données pourra contenir le champ.
MySQL supporte un large nombre de types de colonne, qui peuvent être rassemblés en trois groupes :
les nombres, les dates et les chaînes de caractères.
Cette section présente les types disponibles et leurs tailles de stockage,
puis présente en détail chaque type. L'introduction est volontairement brève.
Une section plus précise est dédiée à chaque type, qui présente tous les formats valides.
Les types de colonnes de MySQL sont listés ci-dessous. Les codes suivants sont utilisés dans les descriptions :
M Indique la taille maximale d'affichage. Le maximum légal d'affichage est de 255.
D S'applique aux nombres à virgule flottante, et indique le nombre de décimales, qui suivent la virgule.
Le nombre maximum est de 30, mais ne doit pas être plus grand que M-2.
Les crochets (`[' et `]') indiquent les spécifications optionnelles.
Notez que si vous spécifiez ZEROFILL pour une colonne, MySQL ajoutera automatiquement
l'attribut UNSIGNED à la colonne.
TINYINT[(M)] [UNSIGNED] [ZEROFILL] | Un très petit entier. S'il est signé, il peut prendre les
valeurs de -128 à 127. S'il est non signé, il peut prendre les valeurs de 0 à 255. |
SMALLINT[(M)] [UNSIGNED] [ZEROFILL] | Un petit entier. S'il est signé, il peut prendre les valeurs
de -32768 à 32767. S'il est non signé, il peut prendre les valeurs de 0 à 65535. |
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] | Un entier de taille moyenne. S'il est signé, il peut
prendre les valeurs de -8388608 à 8388607. S'il est non signé, il peut prendre
les valeurs de 0 à 16777215. |
INT[(M)] [UNSIGNED] [ZEROFILL] | Un entier. S'il est signé, il peut prendre les valeurs
de -2147483648 à 2147483647. S'il est non signé, il peut prendre les valeurs de 0 à 4294967295. |
INTEGER[(M)] [UNSIGNED] [ZEROFILL] | C'est un synonyme de INT. |
BIGINT[(M)] [UNSIGNED] [ZEROFILL] | Un grand entier. S'il est signé, il peut prendre les valeurs
de -9223372036854775808 à 21474839223372036854775807647.
S'il est non signé, il peut prendre les valeurs de 0 à 18446744073709551615.
Notez que toute l'arithmétique est faite avec les valeurs de type de BIGINT signés ou DOUBLE,
alors il ne faut pas utiliser les valeurs BIGINT non signés plus grande que 9223372036854775807
(63 bits), hormis avec les fonctions de bits. Notez que `-', `+', et `*' utiliseront
l'arithmétique des BIGINT lorsque les deux arguments sont des INTEGER!
Cela signifie que si vous multiplier deux grands entiers ensembles
(ou bien des résultats de fonctions qui retournent des grands entiers), vous risquez d'avoir
des résultats plus grands que 9223372036854775807. |
FLOAT(précision) [ZEROFILL] | Un nombre à virgule flottante. Ils doivent être signés. précision<=24
pour un nombre à virgule flottante de précision simple, entre 25 et 53 pour une précision double.
Ces types correspondent aux types FLOAT et DOUBLE décrits ci-dessus. FLOAT(X) a le même intervalle
de validité que FLOAT et DOUBLE, mais la taille d'affichage et le nombre de décimale sont
indéfinies. En MySQL Version 3.23, c'est un véritable nombre à virgule flottante.
Dans les anciennes versions de MySQL, FLOAT(précision) avait toujours deux décimales.
Notez que l'utilisation du type FLOAT peut vous créer des problèmes inattendus car tous les
calculs internes de MySQL sont fait en double précision. Cette syntaxe est fournie pour assurer la compatibilité ODBC. |
FLOAT[(M,D)] [ZEROFILL] | Un petit nombre à virgule flottante (précision simple). Il doit être signé.
L'intervalle de validité va de -3.402823466E+38 à -1.175494351E-38, 0, et de 1.175494351E-38
à 3.402823466E+38. M représente la taille d'affichage et D est le nombre de décimales.
FLOAT sans argument, ou avec un argument <= 24 représente un nombre à virgule flottante
de précision simple. |
DOUBLE[(M,D)] [ZEROFILL] | Un nombre à virgule flottante (précision double). Il doit être signé.
L'intervalle de validité va de -1.7976931348623157E+308 à -2.2250738585072014E-308, 0,
et de 2.2250738585072014E-308 à 1.7976931348623157E+308.
M représente la taille d'affichage et D est le nombre de décimales. FLOAT sans argument,
ou avec un argument compris entre 25 et 53 (inclus) représente un nombre à virgule flottante
de précision double. |
DOUBLE précision[(M,D)] [ZEROFILL] REAL[(M,D)] [ZEROFILL] | Ce sont des synonymees de DOUBLE. |
DECIMAL[(M[,D])] [ZEROFILL] | Un nombre à virgule flottante. Il doit être signé. Ce type se comporte comme
une colonne de type CHAR : la valeur est stockée comme une chaîne, chaque caractère représentant
un chiffre de la valeur. La virgule et le signe `-' des nombres négatifs ne sont pas comptés
dans l'option M (mais de l'espace de stockage est réservé pour eux). Si D vaut 0, les valeurs
n'auront pas de valeur décimale. L'intervalle de validité des valeurs DECIMAL est le même que
DOUBLE, mais il peut être limité par les valeurs choisies pour M et D. Si D est omis, il vaut
par défaut 0. Si M est omis, il vaut par défaut 10. Notez qu'en MySQL Version 3.22, l'argument
M devait inclure les tailles nécessaires pour stocker les virgules et signes négatif. |
NUMERIC(M,D) [ZEROFILL] | C'est un synonyme de DECIMAL. |
DATE | Une date. L'intervalle de validité va de '1000-01-01' à '9999-12-31'. MySQL affiche les valeurs
DATE au format 'AAAA-MM-JJ' (année-mois-jour), mais vous pouvez assigner des valeurs aux colonnes DATE
en utilisant différents formats numériques ou en chaînes de caractères. |
DATETIME | Une combinaison de date et d'heure. L'intervalle de validité va
de '1000-01-01 00:00:00' à '9999-12-31 23:59:59'.
MySQL affiche les valeurs DATETIME au format 'AAAA-MM-JJ HH:MM:SS' (année-mois-jour heure:minutes:seconde),
mais vous pouvez assigner des valeurs aux colonnes DATE en utilisant différents
formats numériques ou en chaînes de caractères. |
TIMESTAMP[(M)] | Un timestamp. L'intervalle de validité va de '1970-01-01 00:00:00' à quelque part durant
l'année 2037. MySQL affiche les valeurs de type TIMESTAMP au format AAAAMMJJHHMMSS, AAMMJJHHMMSS,
AAAAMMJJ, ou AAMMJJ, suivant que le paramètre M vaut 14 (ou omis), 12, 8, ou 6, mais vous pouvez
assigner des valeurs aux colonnes TIMESTAMP sous forme de nombre ou de chaînes. Une colonne de
type TIMESTAMP est pratique pour enregistrer une date, lors d'une commande INSERT ou UPDATE,
car elle est automatiquement mis à la date et l'heure du moment de la commande, si vous ne
fournissez pas de valeur vous-même. Vous pouvez aussi lui donner la date et l'heure courante
en lui assignant la valeur NULL. 7.3.3 Dates et heures. Un TIMESTAMP est toujours stocké sur
4 octets. L'argument M n'affecte que le mode d'affichage des TIMESTAMP. Notez bien que les
colonnes de type TIMESTAMP(X) où X vaut 8 ou 14 sont considérées comme des nombres tandis
que les autres colonnes TIMESTAMP(X) sont considérées comme des chaînes. Ceci est fait
pour s'assurer que l'on peut exporter et importer les tables avec ces types. |
TIME | Une heure. L'intervalle de validité va de '-838:59:59' à '838:59:59'.
MySQL affiche les colonnes de type displays TIME au format 'HH:MM:SS', mais vous pouvez
assigner une valeur de type TIME en lui passant des chaînes ou des entiers. |
YEAR[(2|4)] | Une année au format 2 ou 4 chiffres (par défaut, c'est 4 chiffres).
L'intervalle de validité va de 1901 à 2155, pour le format à 4 chiffres, et de 1970 à 2069
pour le format à deux chiffres. MySQL affiche les valeurs de type YEAR au format AAAA,
mais vous pouvez leur assigner des chaînes ou des nombres (le type YEAR est nouveau
depuis la version 3.22 de MySQL). |
[NATIONAL] CHAR(M) [BINARY] | Une chaîne de caractères de taille fixe, et toujours complétée à droite par
des espaces, lors du stockage. Le paramètre M peut valoir de 1 à 255 caractères. Les espaces terminaux
sont supprimés lorsque la chaîne est lue dans la base. Les valeurs de type CHAR sont triées et comparées
sans tenir compte de la casse et en utilisant le jeu de caractères par défaut. Toutes fois, vous pouvez
utiliser l'opérateur BINARY pour effectuer des recherches sensibles à la casse. |
NATIONAL CHAR (forme courte : NCHAR) | est la dénomination ANSI SQL pour les colonnes de type CHAR qui doivent utiliser le jeu de caractères par défaut. C'est la configuration par défaut de MySQL. CHAR est
une forme courte pour CHARACTER. MySQL autorise la création de colonne de type CHAR(0).
Cela ne sert réellement que si vous devez être compatibles avec une vieille application,
dont le bon fonctionnement repose sur l'existence de la colonne, mais qui n'utilise pas
vraiment ses valeurs. C'est aussi pratique lorsque vous devez stocker un booléen (ou une
valeur à deux états) dans une colonne : une colonne de type CHAR(0), qui n'a pas
'attribut NOT NULL, n'occupera qu'un seul octet, et peut prendre deux valeurs : NULL et "". |
[NATIONAL] VARCHAR(M) [BINARY] | Une chaîne de caractères de longueur variable.
NOTE: les espaces terminaux sont supprimés lors du stockage des valeurs (
ce qui diffère des spécifications ANSI SQL). L'intervalle de taille de M va de 1 à 255 caractères.
Les valeurs de type VARCHAR sont triées et comparées sans tenir compte de la casse et en utilisant
le jeu de caractères par défaut. Toutes fois, vous pouvez utiliser l'opérateur BINARY pour effectuer
des recherches sensibles à la casse. |
TINYBLOB TINYTEXT | Un TINYBLOB ou TINYTEXT est une colonne de taille maximale 255 (2^8 - 1) caractères. |
BLOB TEXT | Un BLOB ou TEXT est une colonne de taille maximale 65535 (2^16 - 1) caractères.
|
MEDIUMBLOB MEDIUMTEXT | Un MEDIUMBLOB ou MEDIUMTEXT est une colonne de taille maximale 16777215 (2^24 - 1)
caractères. |
LONGBLOB LONGTEXT | Un LONGBLOB ou LONGTEXT est une colonne de taille maximale 4294967295 (2^32 - 1) caractères.
|
ENUM('value1','value2',...) | Une énumération. Une chaîne de caractères qui n'a qu'une seule valeur,
issue d'une liste : 'valeur1', 'valeur2', ..., ou encore la valeur NULL ou la valeur d'erreur spéciale "".
Une énumération ENUM peut prendre un maximum de 65535 valeurs distinctes.
|
SET('value1','value2',...) | Un ensemble. Une chaîne de caractères qui a zéro, un ou plusieurs valeurs
issues d'une liste : 'valeur1', 'valeur2', .... Un ensemble SET peut avoir un maximum de 64 éléments.
|
Les index et les clés
- Utilité des index :
- Retrouver rapidement les lignes recherchées (Where Duponde)
- Récupérer les données d'autres tables en cas de jointure
- Trouver le MAX() ou MIN() pour une colonne donnée
- Trier une table
- Dans certains cas, évite au processus de recherche d'aller puiser dans les données
- Utilité de la clé primaire
- Mysql a besoin d'une clé primaire dans chaque table pour être à même
de se souvenir des lignes déjà lues, si on ne la crée pas Mysql le fait
automatiquement en créant une clé sur 5 caractères, incrémenté à chaque
enregistrement
- La clé primaire est plus rapide qu'un index, car elle est stockée au même
endroit que les données et non dans la table d'index.
Le couple PHP/MySQL
Le paragraphe suivant donne la liste des différentes fonctions PHP qui, associées
à des instructions MySQL, permettent de manipuler des "objets" MySQL : données,
ou éléments de structure tels que bases, tables, champs...
De l'imbrication des deux langages, résulte une relative complexité qui fait que la manipulation
de ces objets n'est pas toujours très intuitive.
Anatomie d'une commande PHP/MySQL :
Valeur_de_retour = mysqli_query($mysqli,"Commande MySQL");
On récupère une valeur booléenne dans la valeur de retour :
- Vrai (1) La requête s'est déroulée normalement
- Faux(0) Une erreur s'est produite lors de l'éxecution de la requête MySQL
Exemple pour créer une table:
<?
$result = mysqli_query($mysqli,"CREATE TABLE membres (membre_id INT NOT NULL AUTO_INCREMENT,
membre_prenom TINYBLOB,
membre_nom TINYBLOB,
primary KEY (membre_id) , INDEX (membre_id))") ;
?>
On peut mettre autant de retour à la ligne que l'on veut dans la commande MySQL,
il est même conseillé de le faire, car en cas d'erreur, le N° de ligne renvoyé
est calculé par rappoort à la requête MySQL, donc si vous avez toute la requête sur une seule ligne,
et si vous avez une erreur, le message indiquera toujours une erreur à la ligne 1.
Le texte de la requête est toujours entre guillemets, ou sinon vous pouvez le mettre
dans une variable.
Exemple pour lire une table : se fait en deux fois, extraction ,
puis affichage :
<?
$result = mysqli_query($mysqli,"SELECT membre_nom, membre_prenom FROM membres "); //extraction
while ($row=mysqli_fetch_array($result))
{
echo "Nom $row[membre_nom] Tel. $row[membre_tel]";
}
?>
mysqli_fetch_array est l'instruction qui permet d'extraire les
données du tableau $result : un mécanisme automatique permet, chaque fois que cette
instruction est éxecutée, d'incrémenter un pointeur interne positionné sur la
ligne que l'on est en train de lire, autrement dit, chaque fois que cette
instruction est éxecutée, vous obtenez une nouvelle ligne tant que la fin
du tableau $row n'est pas atteinte.
Comme ci-dessus, si $result est à "Vrai" (il contient des données) après l'exécution
de la requête, c'est que celle-ci s'est déroulée sans erreur, si $result est à 0 (faux)
c'est qu'une erreur s'est produite lors de l'éxecution de la requête.
On peut aussi utiliser la fonction
die() pour renvoyer
un message d'erreur éventuel ou appeler une autre fonction:
<?
$result_6 = mysqli_query($mysqli,"SELECT * FROM membres ") or die("Erreur lors de la requête N° 6");//..
?>
Un premier exemple simple sur les départements
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_d1_create_table_departements.php
Lire de la table des départements
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_d3_liste_departements.php
Utilisation de la table des départements N°1
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_d2_departements.php
Utilisation de la table des départements N°2
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_d4_departements.php
Création de la table des membres
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_a1_create_table_members.php
Création de la table des vodéos
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_a2_create_table_videos.php
Création de la table des emprunts
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_a3_create_table_loans.php
Fonctions PHP pour acceder à une base mysql
mysqli_affected_rows | Retourne le nombre de lignes affectées lors de la dernière requête SQL. |
mysql_change_user | Change le nom de session de l'utilisateur actif. |
mysql_close | Ferme la connexion MySQL. |
mysql_connect | Ouvre une connexion à un serveur MySQL. |
mysql_create_db | Crée une base de données MySQL. |
mysqli_data_seek | Déplace le pointeur interne de résultat. |
mysql_db_name | Lit les noms des bases de données |
mysql_db_query | Envoie une requête MySQL à un serveur MySQL. |
mysql_drop_db | Efface une base de données MySQL. |
mysql_errno | Retourne le numéro de message d'erreur de la dernière opération MySQL. |
mysql_error | Retourne le texte associé avec l'erreur générée lors de la dernière requête. |
mysql_escape_string | Protège une chaîne pour la passer à mysql_query. |
mysqli_fetch_array | Retourne une ligne de résultat sous la forme d'un tableau associatif. |
mysql_fetch_assoc | Lit une ligne de résultats dans un tableau associatif |
mysql_fetch_field | Retourne les données enregistrées dans une colonne sous forme d'objet. |
mysql_fetch_lengths | Retourne la taille de chaque colonne d'une ligne de résultat. |
mysql_fetch_object | Retourne les lignes résultats sous la forme d'un objet. |
mysql_fetch_row | Retourne une ligne de résultat sous la forme d'un tableau. |
mysql_field_flags | Retourne le sémaphore associé à la colonne spécifiée dans le résultat courant. |
mysql_field_name | Retourne le nom d'une colonne |
mysql_field_len | Retourne la longueur du champs spécifié. |
mysql_field_seek | Déplace le pointeur de résultat |
mysql_field_table | Retourne le nom de la table où se trouve une colonne |
mysql_field_type | Retourne le type de la colonne spécifiée dans le résultat courant. |
mysql_free_result | Efface le résultat de la mémoire. |
mysql_insert_id | Retourne l'identifiant généré par la dernière requête INSERT. |
mysql_list_dbs | Liste les bases de données disponibles sur le serveur MySQL. |
mysql_list_fields | Liste les champs du résultat MySQL. |
mysql_list_tables | Liste les tables d'une base de données. |
mysqli_num_fields | Retourne le nombre de champs d'un résultat. |
mysqli_num_rows | Retourne le nombre de lignes d'un résultat. |
mysql_pconnect | Ouvre une connexion persistante à un serveur MySQL. |
mysql_unbuffered_query | Exécute une requête SQL sans mobiliser les résultats |
mysql_query | Envoie une requête SQL à un serveur MySQL. |
mysql_result | Retourne un champs d'un résultat. |
//mysql_select_db | Sélectionne une base de données MySQL. |
mysql_tablename | Lit le nom de la table qui contient le champs spécifié. |
mysql_get_client_info | Lit les informations sur le client MySQL |
mysql_get_host_info | Lit les informations sur l'hôte MySQL |
mysql_get_proto_info | Lit les informations sur le protocole MySQL |
mysql_get_server_info | Lit les informations sur le serveur MySQL |
Exemples
Exemples de transfert texte--> Mysql et vice-versa pour publication sur le web
Si vous avez des données dans des tables MySQL, ou MS Accès ou issues d'autres bases de données
sur votre PC et que vous voulez les transférer sur une base MySQL sur un site internet,
vous n'avez pas la possibilité de copier directement la table d'une base dans l'autre;
il faut alors passer par un fichier texte
Transfer texte-->Mysql
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_data_load.php
Transfer Mysql -->Texte
Nom du fichier : ../commons/show_exercises.php?exercise=lesson_09_data_unload.php
|
| Tous droits réservés. 2005-2020
|
|