thème spécial

This page has been robot translated, sorry for typos if any. Original content here.

PHP MySQL. Les concepts de base de MySQL et les différences de fichiers texte.


Liste - un fichier texte. Ou, disons, une liste d'étudiants dans le magazine en classe.
pour obtenir une liste ordonnée, nous devons, en ajoutant toute liste d'entrée réapprovisionnement. Avec l'ajout d'un! Et si nous voulons avoir deux ou plusieurs types de commande? Par exemple, la liste des étudiants, nous avons compilé par ordre alphabétique, mais nous étions curieux de voir sa performance. Plantez deux listes? NON! Démarrez la base de données.
Et comprendre la première et la plus fondamentale de principe. La procédure est seulement à les données lors de leur sélection à partir de la base de données! Ceci est un fait très important. Les données de la base de données ne sont pas stockées sous forme de journal dans la salle de classe - dans l'ordre. Et comment dans le sablier - tas. Non ordre de sortie zadash - sera affiché sur les nouilles. La base elle-même ne se souvient pas ce qui était le premier enregistrement, et ce - dernier. Mais elle sait comment trier des motifs spécifiés par l'utilisateur lors de la création d'une table.

La première chose à retenir. La base de données est pas le premier et le dernier enregistrement. Sur l'ordre ne peut parler de la sortie, si l'utilisateur a défini cet ordre. Par exemple, trier les entrées par ordre alphabétique. Ici, dans cet exemple, il y a le premier et le dernier.
Si nous avons besoin de connaître la procédure de saisie des enregistrements dans la base de données - ajouter un champ avec lequel il peut être déterminé.

Ensuite, la différence entre la base de données sur le fichier - il est accessible au hasard. Dans le fichier, afin de se référer à la ligne au milieu, vous devez passer par un par un tous aller chez elle. Lorsque la mise à niveau - encore pire. Pour changer la ligne dans le fichier de chaîne - il est nécessaire de réécrire TOUS! Entièrement. Sur la même base de données - il est simple. Nous voulons choisir une ligne - choisir! Nous voulons changer une seule ligne - changement. Nous voulons supprimer les deux - retirer!
Remarque: En fait, la base de données - il est pas une boîte et stocke la magie dans les données est de l' air immatériel, et dans le même fichier. Et les écrase tout. Mais elle rend totalement transparente pour l'utilisateur.

Lorsque l'accès aléatoire et l'absence de numérotation interne "first-deuxième-troisième,« nous sommes confrontés au problème de l'identification des lignes. Supposons, nous avons déduit de la ligne de base sur l'écran, et maintenant, en cliquant sur le lien, nous voulons modifier l'un d'eux. Comment puis-je la demande? En fonction du contenu d'un des domaines? Et quel est le contenu de la même chose avec quelques enregistrements? Nous avons besoin d'un identifiant unique! Dans MySQL appliquée solution ingénieuse. L'un des champs, généralement appelé `id` est une auto-incrémentation, qui est, de plus en plus automatiquement. Lorsque vous ajoutez chaque nouvel enregistrement, si id est pas spécifié ou la valeur est zéro, la base attribue l'identifiant de champ plus grand que le précédent. Nous avons donc un identifiant unique - soit dans une ligne dans le tableau id ne correspondra pas. Maintenant, il est très facile de modifier ou de retirer tout dossier - spécifier son identifiant est suffisant.
Par ailleurs, un id auto-incrémentation, il y a une autre propriété de côté. Trier le tableau par ce champ, vous pouvez obtenir le premier ou le dernier enregistrement le plus notoire Sourire heureux

Cependant, en raison du champ beaucoup d'erreurs et de malentendus.

FAQ. ID.
Tout d'abord, ce champ est pris pour le numérateur. Comme dans un magazine chic - 1,2,3-ème étudiant ... Et si l'étudiant a été expulsé de l'école? Et si nous choisissons de ne pas à tous les étudiants, mais seuls les garçons?
Règle un: id numérotation n'a pas de relation! Tout d'abord, parce que id peut sortir de l'ordre, et d'autre part, que tous les mêmes, nous avons l'ordre est seulement pour l'échantillon. Cela peut être quelque chose, id il peut aller complètement hors de synchronisation! Si nous voulons compter les résultats - s'il vous plaît ajouter la dérivation de code PHP, ce qui en fera. Dans cet échantillon. Le nombre nécessaire dans la sortie. Il est parce que les options d'échantillonnage peuvent être un nombre infini.
Voyons voir ce que les autres le débutant peut avoir besoin numérotation? Pour déterminer le nombre d'enregistrements sélectionnés. A cet effet, il y a une fonction - mysql_num_rows (). Cela nous aidera dans un échantillon. Bien que, comme la numérotation ne nous aide pas, pour les raisons mentionnées ci-dessus.
Règle deux: Changer l'ID d'enregistrement ne peut jamais, en aucune circonstance. Tout d'abord, il est tout simplement jamais besoin. Deuxièmement, il est notre identifiant unique. champ id ressemble à un numéro. En fait - ce qui est un moyen de façon unique et à tout moment pour identifier l'enregistrement. Disons que nous avons un site web avec des nouvelles. Quelqu'un a mis le lien vers les nouvelles avec id = 1. Ensuite, nous avons changé l'identifiant. En conséquence, les gens ne vont pas à la liaison. Si vous avez besoin de renuméroter l'id - il vous suffit de ne pas besoin de champ auto-incrémenté.

Le langage SQL.
Maintenant, un peu de SQL. Ceci, comme je l'ai déjà dit - une grande invention de l'humanité. Pratiquement une intelligence artificielle. Jugez par vous-même.
Dlyal pour sélectionner les noms de tous les élèves de l'école, les élèves de la classe 7A, en les triant par ordre alphabétique, il est nécessaire d'écrire une telle requête:
SELECT lastname FROM school WHERE klass='7A' ORDER BY lastname
Il est pratiquement une phrase significative en anglais!
Essayons de faire une traduction mot à mot:
ВЫБРАТЬ фамилии ИЗ школы [такие,] ГДЕ класс равняется 7А, ОТСОРТИРОВАВ ФАМИЛИИ ПО АЛФАВИТУ
Eh bien - pas mal? Nous disons à base de langue presque naturel, nous avons besoin - et il nous donne la ligne souhaitée dans le bon ordre! Et il est une seule ligne! Dans cet échantillon peut être de toute complexité. Si nous avons choisi un fichier texte - nous aurions à écrire un programme ne sont pas sur une seule feuille. Et ici - une ligne!
Eh bien? Vous voudrez peut-être des fichiers Kolupaev?

FAQ. Transfert de données entre les différents serveurs.
Transfert de données via le dump - les fichiers qui contiennent des requêtes INSERT.
Autrement dit, sur le serveur, avec lequel nous voulons déplacer la base, nous générons un fichier avec requête INSERT pour chaque ligne de chaque table de base de données. Et sur un serveur distant simplement répondre à ces demandes.

La façon la plus correcte et directe pour obtenir une décharge - est d'utiliser l'utilitaire mysqldump de ligne de commande
aller à DOS ou shell et écrire
mysqldump -u<логин> -p<пароль> база > dump.sql
dump.sql obtenir un fichier qui doit être déplacé vers un serveur distant et effectuer là-bas.
cela devrait provoquer le shell mysql comme suit:
mysql -u<логин> -p<пароль> база < dump.sql
tout de base déplacé.
Par Shelley avec un accès, vous pouvez créer un script PHP Sypex Dumper

L'utilisation pratique.
Une très bonne sélection des matériaux, la formation à travailler avec la base de données est sur "PHP en détail" site web.
Vous aimez? Abonnez - vous à RSS nouvelles!
Vous pouvez également soutenir shram.kiev.ua, cliquez sur:

Ne soyez pas mal à vos amis et trouver cette information, partager avec eux l'article!

Développer / Réduire la boîte de commentaires avec

Commentaires

Commentant, gardez à l' esprit que le contenu et le ton de vos messages peuvent blesser les sentiments des gens réels, montrer du respect et de la tolérance à ses interlocuteurs, même si vous ne partagez pas leur avis, votre comportement en termes de liberté d'expression et de l' anonymat offert par Internet, est en train de changer non seulement virtuel, mais dans le monde réel. Tous les commentaires sont cachés à l'index, le contrôle anti - spam.
Gratuit Carte de crédit avec une limite de 15.000 USD.