Greifen Sie mit C auf MySQL zu

Mit diesem Tutorial präsentiere ich der Community, wie man mit der Programmiersprache C auf eine MySQL-Datenbank zugreift und ohne zu viele Abhängigkeiten zu verwenden

libmysqlclient

Ich hoffe, es wird für diejenigen nützlich sein, die diese Art von Dokumentation benötigen, und somit weiterhin einen Beitrag zur SL-Community leisten und denen helfen, die kein INTERNET haben.

Konfiguration

Zuerst müssen wir überprüfen, ob wir die Designbibliotheken installiert haben *-dev um von C / C ++ auf MySQL zugreifen zu können.

mysql_config --libs

Es sollte ungefähr so ​​aussehen:

-Wl, -Bsymbolische Funktionen –L / usr / lib / mysql -lmysqlclient rdynamic

Wenn Sie überprüfen, ob die Bibliothek nicht installiert ist, installieren wir sie mit dem folgenden Befehl:

sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX

Da wir überprüfen und installieren, was wir für die Verbindung zwischen MySQL und C benötigen, fahren wir mit der Erstellung der Datenbank fort:

CREATE DATABASE-Test; USE Test; CREATE TABLE-Daten (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, Name varchar (40), age int); IN Datenwerte einfügen (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'Gustavo Romero', 25);

Programmierung und Kompilierung

Wir erstellen weiterhin den Code:

Query.c

/ * zu verwendende Bibliotheken * / #include / * Bibliothek, mit der wir Verbindungen und Abfragen mit MySQL nutzen können * / #include / * Um printf usw. zu verwenden. * / int main () {MYSQL * conn; / * Verbindungsvariable für MySQL * / MYSQL_RES * res; / * Variable, die das Ergebnis der Abfrage enthält * / MYSQL_ROW row; / * Variable, die die Felder für jeden konsultierten Datensatz enthält * / char * server = "localhost"; / * Serveradresse 127.0.0.1, localhost oder IP-Adresse * / char * user = "root"; / * Benutzer zum Abfragen der Datenbank * / char * password = "root"; / * Passwort für den betreffenden Benutzer * / char * database = "test"; / * Name der abzufragenden Datenbank * / conn = mysql_init (NULL); / * Initialisierung zum Nullstellen der Verbindung * / / * Verbindung zur Datenbank herstellen * / if (! mysql_real_connect (conn, Server, Benutzer, Kennwort, Datenbank, 0, NULL, 0)) {/ * Definieren Sie die zuvor eingestellten Verbindungsparameter * / fprintf (stderr, "% s \ n", mysql_error (conn)); / * Wenn ein Fehler vorliegt, definieren Sie, welcher Fehler * / exit (1) war. } / * SQL-Abfrage senden * / if (mysql_query (conn, "select * from data")) {/ * Definition der Abfrage und Ursprung der Verbindung * / fprintf (stderr, "% s \ n", mysql_error ( conn)); Ausfahrt (1); } res = mysql_use_result (conn);
	printf("ID \ tName \ t \ age \ n"); while ((row = mysql_fetch_row (res))! = NULL) / * durchläuft die Variable res mit allen zur Verwendung erhaltenen Datensätzen * /
		printf("% s \ t% s \ t% s \ n", Zeile [0], Zeile [1], Zeile [2]); / * Die Zeilenvariable wird zu einem Array für die Anzahl der Felder in der Tabelle. * / / * Die res-Variable wird freigegeben und die Verbindung wird geschlossen. * / mysql_free_result (res); mysql_close (conn); }}

Wir kompilieren mit:

gcc -o Abfrage $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)

Überprüfung

Wir führen aus:

./Abfrage

Quelle: Hugo4295s Blog


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   koratsuki sagte

    Gut, dass in meinem Arsenal an Skripten und Tutorials auf der Konsole gespeichert! +1 für Ihren Partner ...

  2.   Rodrigo sagte

    Hallo, viele Glückwünsche zu allem, was im Internet zu diesem Problem zu finden ist. Ihr Problem war der Lösung am nächsten. Nur ein kleiner Zweifel, warum bekomme ich die ausführbare Datei nicht?

    Zum Zeitpunkt der Komprimierung markiert es keinen Fehler, generiert jedoch nicht die ./ser4

  3.   Andrélo sagte

    Irgendeine Idee, wie es in Fedora geht?

  4.   Sieger de la o sagte

    Ich bin nicht anderer Meinung als die Weitergabe der Informationen, aber wenn das Urheberrecht nicht angegeben ist, da dieses Beispiel seit 2011 von mir erstellt wurde und hier die Adresse der Originalquelle angegeben ist

    http://hugo4295.blogspot.mx/search?q=MYSQL

    1.    lebhaft sagte

      Kein Problem, Victor, aber wenn Sie bemerken, dass ich den Artikel nicht von Ihrer Website genommen habe, sondern von einer anderen, wo sie leider nicht die Quelle angegeben haben. Im Moment bearbeite ich jedoch den Artikel. 😉

  5.   Alfonso Ovidio López Morales sagte

    ausgezeichnetes Wissen teilen große Freiheit

  6.   DANIELA FERNANDEZ sagte

    Und wie können Einfügungen vorgenommen werden ???