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
Hea, et see on salvestatud minu konsoolil olevate skriptide ja õpetuste arsenali! +1 teie partnerile ...
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
Kas teil on ideid, kuidas seda Fedoras teha?
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
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 .. 😉
suurepärane teadmiste jagamine suur vabadus
Ja kuidas saab sisestusi teha ???