Ar šo apmācību es sabiedrībai iepazīstinu, kā piekļūt MySQL datu bāzei no C programmēšanas valodas un neizmantojot pārāk daudz atkarību, vienkārši
libmysqlclient
Es ceru, ka tā būs noderīga tiem, kuriem bija nepieciešama šāda veida dokumentācija, un tādējādi turpinās sniegt ieguldījumu SL kopienā un palīdzēt tiem, kuriem nav interneta.
konfigurācija
Vispirms mums jāpārbauda, vai mums ir instalētas dizaina bibliotēkas *-dev
lai varētu piekļūt no C / C ++ uz MySQL.
mysql_config --libs
Tam vajadzētu parādīties apmēram šādi:
-Wl, -Bsymbolic-funkcijas –L / usr / lib / mysql -lmysqlclient rdynamic
Ja pārbaudāt, vai bibliotēka nav instalēta, mēs to instalējam ar šādu komandu:
sudo apt-get install libmysqlclient-dev mysql_config --cflags -I / usr / include / mysql -DBIG_JOINS = 1 -fno-strict-aliasing -DUNIV_LINUX -DUNIV_LINUX
Tā kā mēs pārbaudām un instalējam to, kas nepieciešams saitei starp MySQL un C, mēs turpinām izveidot datu bāzi:
IZVEIDOT DATU BĀZES testu; USE tests; CREATE TABLE dati (id int AUTO_INCREMENT NOT NULL PRIMARY KEY, name varchar (40), age int); IEVADĪT datu vērtībās (NULL, 'Alma Hernandez', 28), (NULL, 'Jose Sanchez', 39), (NULL, 'Martin loera', 25), (NULL, 'Leonardo Cortez, 26), (NULL , 'Gustavo Romero', 25);
Programmēšana un apkopošana
Mēs turpinām veidot kodu:
Vaicājums.c
/ * bibliotēkas, kuras izmantot * / #include / * bibliotēka, kas ļauj mums izmantot savienojumus un vaicājumus ar MySQL * / #include / * Lai izmantotu printf utt. * / int main () {MYSQL * savienojums; / * savienojuma mainīgais MySQL * / MYSQL_RES * res; / * mainīgais, kurā būs vaicājuma * / MYSQL_ROW rezultāts; / * mainīgais, kas satur laukus katram apskatītajam ierakstam * / char * server = "localhost"; / * servera adrese 127.0.0.1, localhost vai ip adrese * / char * user = "root"; / * lietotājam, lai vaicātu datu bāzē * / char * password = "root"; / * attiecīgā lietotāja parole * / char * database = "test"; / * vaicājamās datu bāzes nosaukums * / conn = mysql_init (NULL); / * inicializācija, lai atceltu savienojumu * / / * izveidotu savienojumu ar datu bāzi * / if (! mysql_real_connect (savienotājs, serveris, lietotājs, parole, datu bāze, 0, NULL, 0)) {/ * definē iepriekš iestatītos savienojuma parametrus fprintf (stderr, "% s \ n", mysql_error (conn)); / * ja ir kļūda, definējiet, kura kļūda bija * / exit (1); } / * nosūtīt SQL vaicājumu * / if (mysql_query (conn, "select * from data")) {/ * vaicājuma definīcija un savienojuma izcelsme * / fprintf (stderr, "% s \ n", mysql_error ( savienotājs)); izeja (1); } res = mysql_use_result (savienojums); printf("ID \ tVārds \ t \ vecums \ n"); kamēr ((rinda = mysql_fetch_row (res))! = NULL) / * apmainās ar mainīgo res ar visiem lietošanai iegūtajiem ierakstiem * / printf("% s \ t% s \ t% s \ n", rinda [0], rinda [1], rinda [2]); / * rindas mainīgais kļūst par masīvu tabulu lauku skaitam * / / * res mainīgais tiek atbrīvots un savienojums ir slēgts * / mysql_free_result (res); mysql_close (savienojums); }
Mēs apkopojam ar:
gcc -o Query $ (mysql_config --cflags) Query.c $ (mysql_config -–libs)
Pārbaude
Mēs izpildām:
./Query
Fuente: Hugo4295 emuārs
Labi, ka tas saglabāts manā skriptu un konsultāciju arsenālā konsolē! +1 jūsu partnerim ...
Labdien, daudz apsveicu ar visu, kas tīmeklī ir saistīts ar šo jautājumu. Jūsu jautājums bija vistuvāk risinājumam. tikai nedaudz šaubu, kāpēc es nedomāju izpildāmo failu ??
comílar laikā tas neatzīmē nevienu kļūdu, bet nerada ./ser4
Vai ir kāda ideja, kā to izdarīt Fedorā?
Es nepiekrītu informācijas kopīgošanai, bet, ja autortiesības netiek ievietotas, jo šo piemēru es veidoju kopš 2011. gada, un šeit ir sākotnējā avota adrese
http://hugo4295.blogspot.mx/search?q=MYSQL
Nekādu problēmu Viktors, bet, ja pamanāt, es neņēmu rakstu no jūsu vietnes, bet gan no citas, kur diemžēl viņi neievietoja avotu. Tomēr šobrīd es rediģēju rakstu .. 😉
izcila zināšanu apmaiņa, liela brīvība
Un kā var izdarīt ievietojumus ???