JavaScript peut-il se connecter à MySQL ? Si oui, comment ?
Belle réponse détaillée expliquant les mécanismes.
JavaScript peut-il se connecter à MySQL ? Si oui, comment ?
JavaScript côté client ne peut pas accéder à MySQL sans une sorte de pont. Mais les affirmations en gras ci-dessus, selon lesquelles JavaScript n'est qu'un langage côté client, sont incorrectes. JavaScript peut fonctionner côté client et côté serveur, comme avec Node.js.
Node.js peut accéder à MySQL par quelque chose comme https://github.com/sidorares/node-mysql2
Vous pouvez également développer quelque chose en utilisant Socket.IO.
Vouliez-vous demander si une application JS côté client peut accéder à MySQL ? Je ne suis pas sûr que de telles bibliothèques existent, mais elles sont possibles.
EDIT : Depuis l'écriture, nous avons maintenant Cluster MySQL :
Le pilote JavaScript MySQL Cluster pour Node.js est exactement ce qu'il semble être : un connecteur qui peut être appelé directement depuis votre code JavaScript pour lire et écrire vos données. Comme il accède directement aux nœuds de données, il n'y a pas de latence supplémentaire due au passage par un serveur MySQL et à la nécessité de convertir le code/les objets JavaScript en opérations SQL. Si, pour une raison quelconque, vous préférez qu'il passe par un serveur MySQL (par exemple, si vous stockez des tables dans InnoDB), cela peut être configuré.
JSDB offre une interface JS aux bases de données.
A ensemble de paquets DB conservés pour Node.js de sindresorhus.
Si vous souhaitez vous connecter à une base de données MySQL en utilisant JavaScript, vous pouvez utiliser Node.js et une bibliothèque appelée mysql . Vous pouvez créer des requêtes, et obtenir les résultats sous forme de tableau de registres. Si vous voulez l'essayer, vous pouvez utiliser ma générateur de projets pour créer un backend et choisir MySQL comme base de données à connecter. Ensuite, il suffit d'exposer votre nouvelle API REST o GraphQL à votre front et commencez à travailler avec votre base de données MySQL.
VIEILLE RÉPONSE LAISSÉE PAR LA NOSTALGIE
ALORS
Si je comprends bien la question, et corrigez-moi si je me trompe, elle fait référence au modèle classique de serveur avec JavaScript uniquement du côté client. Dans ce modèle classique, avec LAMPE (Linux, Apache, MySQL, PHP) le langage en contact avec la base de données était PHP, donc pour demander des données à la base de données vous devez écrire des scripts PHP et echo les données renvoyées au client. En gros, la répartition des langues selon les machines physiques était la suivante :
Cela répondait à un modèle MVC (Model, View, Controller) où nous avions la fonctionnalité suivante :
Pour le contrôleur, nous avons des outils vraiment intéressants comme jQuery comme bibliothèque de "bas niveau" pour contrôler la structure HTML (DOM), puis de nouvelles bibliothèques de plus haut niveau, telles que Knockout.js qui nous permettent de créer des observateurs qui relient différents éléments du DOM en les mettant à jour lorsque des événements se produisent. Il existe également Angular.js par Google qui fonctionne de manière similaire, mais semble être un environnement complet. Pour vous aider à choisir entre les deux, voici deux excellentes analyses des deux outils : Knockout vs. Angular.js y Knockout.js vs. Angular.js . Je continue à lire. J'espère qu'elles vous aideront.
MAINTENANT
Dans les serveurs modernes basés sur Node.js, nous utilisons JavaScript pour tout. Node.js est un environnement JavaScript avec de nombreuses bibliothèques qui fonctionnent avec Google V8, le moteur JavaScript de Chrome. La façon dont nous travaillons avec ces nouveaux serveurs est la suivante :
Ensuite, nous avons un grand nombre de paquets que nous pouvons installer en utilisant la commande NPM (gestionnaire de paquets Node.js) et les utiliser directement dans notre serveur Node.js en le demandant simplement (pour ceux d'entre vous qui veulent apprendre Node.js, essayez ceci tutoriel pour débutants pour une vue d'ensemble). Et parmi ces paquets, vous en avez certains pour accéder aux bases de données. Grâce à eux, vous pouvez utiliser JavaScript du côté serveur pour accéder aux bases de données My SQL.
Mais le mieux que vous puissiez faire si vous voulez travailler avec Node.js est d'utiliser les nouvelles bases de données NoSQL comme MongoDB basé sur des fichiers JSON. Au lieu de stocker des tables comme MySQL, il stocke les données dans des structures JSON, de sorte que vous pouvez mettre des données différentes dans chaque structure, comme des vecteurs numériques longs, au lieu de créer d'énormes tables pour la taille de la plus grande.
J'espère que cette brève explication vous sera utile, et si vous voulez en savoir plus, voici quelques ressources que vous pouvez utiliser :
J'espère que cela vous aidera à démarrer.
Amusez-vous bien !
Merci :) Je viens d'ajouter une mise à jour à la fin de la réponse pour résoudre le problème. Vous pouvez utiliser un serveur node avec une bibliothèque appelée "mysql", et j'ai ajouté un lien vers un générateur d'API que j'ai créé et que vous pouvez utiliser pour démarrer un nouveau projet API. J'espère que cela vous aidera.
Re "alors" : L'utilisation de JavaScript côté serveur remonte à 1995, lorsqu'il a été inclus dans le serveur Netscape Enterprise. Peu après, Microsoft a intégré "JScript" dans son serveur IIS. JavaScript sur le serveur n'est pas, loin s'en faut, nouveau.
Petite remarque : le fait que JavaScript fonctionne côté client n'a RIEN à voir avec le fait qu'il ne peut pas se connecter à un serveur de base de données. Il se pourrait très bien (bien que très peu probable) qu'une future version du langage ajoute des API pour accéder à des bases de données distantes.
Je n'appellerais pas cela "mélanger JS avec PHP", cependant. Ce que vous pourriez faire, c'est laisser le code PHP générer du code JavaScript et des données (json, par exemple) qu'il a récupérées à l'avance dans MySQL. Ou vous pourriez utiliser PHP sur un serveur pour fournir une interface http(json/REST/SOAP/... peu importe) pour accéder aux données que le code php récupère de MySQL - et cette interface http peut être appelée par du code JavaScript s'exécutant n'importe où, principalement un brwoser. Aujourd'hui, dire que JavaScript est côté client n'est plus d'actualité - regardez Node.js par exemple.
La réponse est simple : non.
JavaScript est un langage côté client qui s'exécute dans le navigateur ( node.js ) et MySQL est une technologie côté serveur qui fonctionne sur le serveur.
Cela signifie que vous utilisez généralement un langage côté serveur comme ASP.NET ou PHP pour vous connecter à la base de données.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Non, sauf si vous ne parlez pas du JavaScript dans le navigateur.
3 votes
Qu'en est-il du JavaScript côté serveur (par exemple, via Rhino) ? Peut-on se connecter à une base de données ?
10 votes
Ou Node.js fonctionnera aussi bien
4 votes
Ignorez toutes les réponses de cette page car elles sont toutes fausses. En fait, c'est possible. Voir developer.chrome.com/apps/app_network
1 votes
La réponse acceptée est tout simplement fausse (et l'était aussi en 2010). Cette réponse est correct.
0 votes
Vous posez en quelque sorte la mauvaise question. JavaScript est un langage et ne se "connecte" à rien.