在本教程中,我向社區介紹瞭如何使用C編程語言訪問MySQL數據庫,而又不使用過多的依賴關係,
libmysqlclient
我希望它對那些需要此類文檔的人有用,從而繼續為SL社區做出貢獻,並為那些沒有INTERNET的人們提供幫助。
組態
首先,我們必須檢查是否已安裝設計庫 *-dev
以便能夠從C / C ++訪問MySQL。
mysql_config--庫
它應該看起來像這樣:
-Wl,-Bsymbolic函數-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之間的鏈接所需的內容,因此我們繼續創建數據庫:
創建數據庫測試; 使用測試; 創建表數據(id int AUTO_INCREMENT NOT NULL PRIMARY KEY,名稱varchar(40),age int); 將數據插入(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行; / *變量,將包含所查詢的每個記錄的字段* / char * server =“ localhost”; / *服務器地址127.0.0.1,localhost或ip地址* / char * user =“ root”; / *用戶查詢數據庫* / char * password =“ root”; / *有關用戶的密碼* / char * database =“ test”; // *要查詢的數據庫名稱* / conn = mysql_init(NULL); / *初始化以使連接為空* // *連接到數據庫* / if(!mysql_real_connect(conn,服務器,用戶,密碼,數據庫,0,NULL,0)){/ *定義先前設置的連接參數* / fprintf(stderr,“%s \ n”,mysql_error(conn)); / *如果有錯誤,請定義哪個錯誤* /退出(1); } / *發送SQL查詢* / if(mysql_query(conn,“從數據中選擇*”)){/ *查詢的定義和連接的源* / 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查詢$(mysql_config --cflags)Query.c $(mysql_config -libs)
驗證
我們執行:
./查詢
來源: Hugo4295的博客
很好,保存在我的控制台腳本和教程庫中! 為您的伴侶+1 ...
您好,祝賀您在網絡上解決此問題的一切,您最接近該解決方案。 只是有點疑問,我為什麼不獲得可執行文件?
在發生衝突時,它不會標記任何錯誤,但是不會生成./ser4
任何想法如何在Fedora中做到嗎?
我不會不同意共享信息,但是如果沒有放置版權,因為此示例是我自2011年以來製作的,這是原始來源的地址
http://hugo4295.blogspot.mx/search?q=MYSQL
Victor沒問題,但是如果您注意到我不是從您的網站上獲取該文章,而是從另一個不幸的地方,他們沒有提供源。 但是,現在我編輯文章..😉
優秀的分享知識,極大的自由
以及如何進行插入?