很早就想寫這篇文章,一方面是想把自己的思路做一下總結,另一方面也是想通過這篇文章看看自己還有哪些方面有待加強。但是由於公司的一些專案原因,這個想法一直被擱置。直到今天,有了工作的空隙,終於將之流淌於筆下。
linux強大的功能體現在網路伺服器方面,說到伺服器,那肯定離不開對資料的管理,那必然涉及到資料庫。mysql是linux下功能強大的資料庫應用軟體。儘管在一些情況下mysql還需要收費,但是在許多場合下還是免費的。在開源的世界裡這無疑是令人鼓舞的,另乙個分支是支援windows平台的sql server,當然各家都有各家的優點,那麼在這篇文章中出於對開源的支援,只討論mysql.
前段時間在高校實訓課程中,讓同學們寫乙個基於mysql的圖書管理系統。從做的效果上看不是很理想,拋開c語言能力不說,單是mysql的用法,有很多同學就直接搬抄網上的一些介面。對介面所要完成的功能不甚了解。如果要實現最基本的圖書管理功能,那麼刪除,插入,查詢,更新這幾種功能是一定要有的,在這幾種功能之上,我們可以擴充套件出若干種其它的應用。那麼實現這幾種功能需要呼叫的系統api只需要幾個就可以:mysql_init(), mysql_real_connect(), mysql_query(), mysql_use_result(), mysql_fetch_row(), mysql_free_result()等等。當然,如果想讓程式更健壯,其它介面實現的功能也是必須的。在這裡,我們需要完成的功能是基本的圖書管理功能。
基於對記憶體的高效利用思想,程式中用到的大的資料塊都是在堆上面分配的,那麼為了避免記憶體出現洩漏和空洞,我們必須在呼叫結束用相應的方法釋放之。以下是我自己寫的**, 在程式中,我實現了makefile的編寫。當然,整個程式還不是很完善,有很多的分支沒有做到擴充套件。但是整個程式己基本上實現了上述提到的功能。另外,實訓中我也發現很多學生不知道怎麼樣去建立乙個工程,他們把所有的**都放到乙個原始檔中,在現代的專案開發中這樣肯定是不行的。我把這樣的乙個demo程式貼出來目的就是為了幫助仍在迷茫中的同學,希望能給你們乙個在linux下建立工程的思路。**中關鍵的地方都有注釋,如下:
bookinfo.c
func.c
global.h
makefile
objects=bookinfo.o func.o
booksql:$(objects)
gcc $(objects) -l /usr/lib/mysql -lmysqlclient -lz -o booksql
bookinfo.o:bookinfo.c /usr/include/mysql/mysql.h global.h
gcc -i /usr/include/mysql -c bookinfo.c
func.o:func.c global.h /usr/include/mysql/mysql.h
gcc -i /usr/include/mysql -c func.c
.phony:clean
clean:
-rm booksql $(objects)
Linux 下mysql 資料庫的安裝
1.檢視系統中是否已經安裝過mysql rpm qa grep i mysql解除安裝已經安裝版本 yum remove package.rpm 刪除mysql配置檔案 find name mysql rm rf filename directoryname rm etc my.cnf 2.使用my...
linux下mysql資料庫的操作
本文主要針對linux下mysql資料庫的安裝,以及資料庫的建立和簡單的資料庫操作進行說明。mysql資料庫的安裝 資料庫的安裝分為原始碼安裝和rpm安裝。當然對於老手來說需要進行一些自定義的配置,那麼當然原始碼安裝的靈活性要高一些。但是這種安裝方式需要管理員自己處理好於系統的依賴關係。而rpm安裝...
linux下mysql資料庫的學習
部落格 解除安裝mysql 第一步1 sudoapt get autoremove purge mysql server 5.0 2 sudoapt get remove mysql server 3 sudoapt get autoremove mysql server 4 sudoapt get...