Juurdepääs MySQL-ile, kasutades C-d

Selle õpetuse abil tutvustan kogukonnale, kuidas pääseda MySQL-i andmebaasile programmeerimiskeelest C ja liiga palju sõltuvusi kasutamata lihtsalt

libmysqlclient

Loodan, et see on kasulik neile, kes seda tüüpi dokumente vajasid, ja seega jätkavad SL-i kogukonna panustamist ja aitavad neid, kellel pole Internetti.

konfiguratsioon

Kõigepealt peame kontrollima, kas meil on kujundusteegid installitud *-dev et pääseda juurde C / C ++ -st MySQL-i.

mysql_config --libs

See peaks ilmuma umbes nii:

-Wl, -Bsymbolic-functions –L / usr / lib / mysql -lmysqlclient rdynamic

Kui kontrollite, et teeki pole installitud, installime selle järgmise käsuga:

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

Kuna kontrollime ja installime MySQL-i ja C-i vahelise seose jaoks vajalikku, jätkame andmebaasi loomist:

LOO ANDMEBAASI test; KASUTA test; CREATE TABLE andmed (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, name varchar (40), age int); INSERT INTO data VALUES (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez', 26), (NULL , 'Gustavo Romero', 25);

Programmeerimine ja koostamine

Jätkame koodi loomist:

Päring.c

/ * teegid, mida me kasutame * / #include / * teek, mis võimaldab meil kasutada ühendusi ja päringuid MySQL-iga * / #include / * Printf jms kasutamiseks * / int main () {MYSQL * conn; / * ühenduse muutuja MySQL * / MYSQL_RES * res jaoks; / * muutuja, mis sisaldab päringu * / MYSQL_ROW tulemust; / * muutuja, mis sisaldab iga vaadatud kirje väljad * / char * server = "localhost"; / * serveri aadress 127.0.0.1, localhost või ip-aadress * / char * user = "root"; / * kasutaja päringu andmebaasi kohta * / char * password = "root"; / * kõnealuse kasutaja parool * / char * andmebaas = "test"; / * päritava andmebaasi nimi * / conn = mysql_init (NULL); / * initsialiseerimine ühenduse tühistamiseks * / / * ühenduse loomine andmebaasiga * / if (! mysql_real_connect (conn, server, kasutaja, parool, andmebaas, 0, NULL, 0)) {/ * määratleb ühenduse parameetrid eelnevalt määratud * / fprintf (stderr, "% s \ n", mysql_error (conn)); / * vea korral määrake, milline viga oli * / exit (1); } / * saatke SQL-päring * / if (mysql_query (conn, "valige * andmetest")) {/ * päringu ja ühenduse allika määratlus * / fprintf (stderr, "% s \ n", mysql_error ( konn)); väljapääs (1); } res = mysql_use_result (ühendus);
	printf("ID \ tNimi \ t \ vanus \ n"); samas ((rida = mysql_fetch_row (res))! = NULL) / * vaatab muutuja res läbi kõigi kasutamiseks saadud kirjetega * /
		printf("% s \ t% s \ t% s \ n", rida [0], rida [1], rida [2]); / * rea muutuja saab massiiviks tabeliväljade arvu järgi * / / * res muutuja vabastatakse ja ühendus suletakse * / mysql_free_result (res); mysql_close (conn); }

Koostame koos:

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

Kontrollimine

Teostame:

./Küsimus

allikas: Hugo4295 ajaveeb


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   koratsuki DIJO

    Hea, et see on salvestatud minu konsoolil olevate skriptide ja õpetuste arsenali! +1 teie partnerile ...

  2.   Rodrigo DIJO

    Tere, palju õnne kõige selle kohta, mis veebis selle teemaga seoses on, teie olite lahendusele kõige lähemal. lihtsalt väike kahtlus, miks ma ei saa käivitatavat faili?

    comílari ajal ei tähista see ühtegi viga, kuid see ei genereeri ./ser4

  3.   Andrélo DIJO

    Kas teil on ideid, kuidas seda Fedoras teha?

  4.   võitja de la o DIJO

    Ma ei ole teabe jagamisega nõus, kuid kui autoriõigusi ei lisata, kuna selle näite tegin mina alates 2011. aastast ja siin on algallika aadress

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

    1.    elav DIJO

      Pole probleemi, Victor, aga kui märkate, ei võtnud ma artiklit teie saidilt, vaid teiselt, kus nad kahjuks allikat ei pannud. Praegu aga toimetan artiklit .. 😉

  5.   Alfonso Ovidio López Morales DIJO

    suurepärane teadmiste jagamine suur vabadus

  6.   DANIELA FERNANDEZ DIJO

    Ja kuidas saab sisestusi teha ???