Ezzel az oktatóanyaggal bemutatom a közösségnek, hogyan lehet elérni a MySQL adatbázist a C programozási nyelvből és túl sok függőség használata nélkül, csupán
libmysqlclient
Remélem, hasznos lesz azok számára, akiknek szüksége van ilyen típusú dokumentációra, és így továbbra is hozzájárulnak az SL közösséghez, és segítenek azoknak, akiknek nincs Internetjük.
konfiguráció
Először ellenőriznünk kell, hogy telepítve vannak-e a tervezési könyvtárak *-dev
hogy a C / C ++ -ról a MySQL-hez tudjon hozzáférni.
mysql_config --libs
Valami ilyennek kell megjelennie:
-Wl, -Bsymbolic-functions –L / usr / lib / mysql -lmysqlclient rdynamic
Ha ellenőrzi, hogy a könyvtár nincs-e telepítve, akkor a következő paranccsal telepítjük:
sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
Mivel ellenőrizzük és telepítjük a MySQL és C közötti kapcsolat szükségességét, folytatjuk az adatbázis létrehozását:
CREATE DATABASE teszt; USE teszt; CREATE TABLE data (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, név 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);
Programozás és összeállítás
Folytatjuk a kód létrehozását:
Lekérdezés.c
/ * könyvtárak a * / # használatához / * könyvtár, amely lehetővé teszi számunkra a kapcsolatok és lekérdezések felhasználását a MySQL * / #include segítségével / * A printf stb. Használatához * / int main () {MYSQL * conn; / * kapcsolati változó a MySQL számára * / MYSQL_RES * res; / * változó, amely a * / MYSQL_ROW sor eredményét tartalmazza; / * változó, amely minden egyes megkeresett rekord mezejét tartalmazza * / char * server = "localhost"; / * kiszolgáló címe 127.0.0.1, localhost vagy ip cím * / char * user = "root"; / * felhasználó az adatbázis lekérdezéséhez * / char * password = "root"; / * jelszó a szóban forgó felhasználó számára * / char * database = "test"; / * a lekérdezendő adatbázis neve * / conn = mysql_init (NULL); / * inicializálás a kapcsolat nullázására fprintf (stderr, "% s \ n", mysql_error (conn)); / * ha hiba van, határozza meg, hogy melyik hiba volt * / exit (0); } / * SQL lekérdezés küldése * / if (mysql_query (conn, "select * az adatokból")) {/ * a lekérdezés meghatározása és a kapcsolat eredete conn)); kijárat (0); } res = mysql_use_result (csatlakozás); printf("ID \ tNév \ t \ életkor \ n"); míg (((sor = mysql_fetch_row (res))! = NULL) / * végighúzza a res változót az összes használatra kapott rekorddal * / printf("% s \ t% s \ t% s \ n", [0] sor, [1] sor, [2] sor); / * a sorváltozó tömb lesz a táblák mezőinek számáról * / / * a res változó felszabadul és a kapcsolat lezárul * / mysql_free_result (res); mysql_close (conn); }
Összeállítjuk:
gcc -o Query $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)
Igazolás
Végrehajtjuk:
./Lekérdezés
forrás: Hugo4295 blogja
Jó, hogy a konzolon lévő szkriptek és oktatóanyagok arzenáljára mentem! +1 partnernek ...
Helló, sok gratulálok mindenhez, ami a weben található ezzel a kérdéssel kapcsolatban. A tiéd volt a legközelebb a megoldáshoz. csak egy kis kétség, miért nem kapom meg a futtatható fájlt ??
a comílar idején nem jelez hibát, de nem generálja a ./ser4 fájlt
Van ötlet, hogyan lehet ezt megtenni a Fedorában?
Nem értek egyet az információk megosztásával, de ha a szerzői jogok nincsenek feltüntetve, mivel ezt a példát én készítettem 2011 óta, és itt van az eredeti forrás címe
http://hugo4295.blogspot.mx/search?q=MYSQL
Nem baj, Victor, de ha észreveszed, nem a webhelyedről vettem át a cikket, hanem egy másik oldalra, ahol sajnos nem a forrást tették. Azonban most szerkesztem a cikket .. 😉
kiváló tudásmegosztás nagy szabadság
És hogyan lehet beillesztéseket tenni ???