Cを使用してMySQLにアクセスする

このチュートリアルでは、Cプログラミング言語からMySQLデータベースにアクセスする方法を、あまり多くの依存関係を使用せずに、コミュニティに提示します。

libmysqlclient

この種のドキュメントが必要な人たちに役立つことを願っています。したがって、SLコミュニティに貢献し続け、インターネットを持たない人たちを助けてください。

コンフィギュレーション

まず、デザインライブラリがインストールされていることを確認する必要があります *-dev C / C ++からMySQLにアクセスできるようにします。

mysql_config --libs

次のように表示されます。

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

ライブラリがインストールされていないことを確認した場合は、次のコマンドでインストールします。

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

MySQLとCの間のリンクに必要なものを確認してインストールしたので、データベースの作成に進みます。

CREATEDATABASEテスト; USEテスト; CREATE TABLEデータ(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 、 'グスタボロメロ'、25);

プログラミングとコンパイル

コードの作成を続けます。

Query.c

/ *使用するライブラリ* / #include / * MySQLとの接続とクエリを利用できるようにするライブラリ* / #include / * printfなどを使用するため。 * / int main(){MYSQL * conn; / * MySQLの接続変数* / MYSQL_RES * res; / *クエリの結果を含む変数* / MYSQL_ROW row; / *参照された各レコードのフィールドを含む変数* / char * server = "localhost"; / *サーバーアドレス127.0.0.1、localhostまたはipアドレス* / char * user = "root"; / *データベースを照会するユーザー* / char * password = "root"; / *問題のユーザーのパスワード* / char * database = "test"; / *クエリするデータベースの名前* / conn = mysql_init(NULL); / *接続をnullにするための初期化* / / *データベースに接続します* / if(!mysql_real_connect(conn、server、user、password、database、0、NULL、0)){/ *以前に設定した接続パラメーターを定義します* / fprintf(stderr、 "%s \ n"、mysql_error(conn)); / *エラーがある場合は、どのエラーがあったかを定義します* / exit(1); } / * SQLクエリの送信* / if(mysql_query(conn、 "select * from data")){/ *クエリの定義と接続の起点* / fprintf(stderr、 "%s \ n"、mysql_error( conn)); 終了(1); } res = mysql_use_result(conn);
	printf( "ID \ tName \ t \ age \ n"); while((row = mysql_fetch_row(res))!= NULL)/ *使用のために取得されたすべてのレコードを使用して変数resをループします* /
		printf( "%s \ t%s \ t%s \ n"、行[0]、行[1]、行[2]); / *行変数はテーブル内のフィールド数の配列になります* / / * res変数が解放され、接続が閉じられます* / mysql_free_result(res); mysql_close(conn); }

コンパイル:

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

検証

実行します:

./クエリ

出典 Hugo4295のブログ


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

7コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   コラツキ

    コンソールのスクリプトとチュートリアルの私の武器に保存されました。 あなたのパートナーのための+1..。

  2.   ロドリゴ

    こんにちは、この問題に関してWeb上にあるすべてのことについて多くのお祝いを申し上げます、あなたは解決策に最も近いものでした。 少し疑問がありますが、実行可能ファイルを取得しないのはなぜですか?

    comílarの時点では、エラーはマークされませんが、。/ ser4は生成されません。

  3.   アンドレロ

    Fedoraでそれを行う方法はありますか?

  4.   勝利者デラオ

    私は情報の共有に同意しませんが、この例が2011年以来私によって作成されたために著作権が設定されていない場合、ここに元のソースのアドレスがあります

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

    1.    エラヴ

      ビクターは問題ありませんが、あなたが気付いた場合、私はあなたのサイトから記事を取得しませんでしたが、残念ながら彼らがソースを配置しなかった別のサイトから取得しました。 しかし、今私は記事を編集しています..😉

  5.   アルフォンソオビディオロペスモラレス

    優れた共有知識大きな自由

  6.   ダニエラ・フェルナンデス

    そして、どのように挿入を行うことができますか?