Piekļūstiet MySQL, izmantojot C

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


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   koratsuki teica

    Labi, ka tas saglabāts manā skriptu un konsultāciju arsenālā konsolē! +1 jūsu partnerim ...

  2.   Rodrigo teica

    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

  3.   Andrélo teica

    Vai ir kāda ideja, kā to izdarīt Fedorā?

  4.   uzvarētājs de la o teica

    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

    1.    dzīvīgs teica

      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 .. 😉

  5.   Alfonso Ovidio Lopess Moraless teica

    izcila zināšanu apmaiņa, liela brīvība

  6.   DANIELA FERNANDEZA teica

    Un kā var izdarīt ievietojumus ???