一) 前置條件:(1) linux 已經安裝好 mysql 資料庫;
(2) linux 已經安裝了 gcc 編譯器;
(二)資料庫準備:
為了便於描述,假設資料庫的 root 使用者密碼為 root_pwd 。
(1) 以 root 使用者登陸資料庫
#mysql -uroot –proot_pwd
mysql>
(2) 建立資料 testdb
mysql> create database testdb;
(3) 建立表
mysql> use testdb;
mysql> create table t_users(userid int not null, username varchar(20) not null);
(4) 向表中插入一條記錄
mysql> insert into t_users(userid, username) values(1, 'hudennis');
(5) 建立使用者
mysql> create user testdb_user;
(6) 對使用者授權
mysql> grant select, insert, update, delete on *.* to 'testdb_user'@'localhost' identified by '123456';
mysql> flush privileges;
(7) 檢視使用者及該使用者的許可權
mysql> use mysql;
mysql> select user from user;
mysql> show grants for testdb_user@localhost;
(8) [ 備用 ] 刪除資料庫及使用者
mysql> drop database testdb;
mysql> show databases;
mysql> drop user testdb_user;
mysql> drop user testdb_user@localhost;
(三) c 源** testdb.c 準備:
view plain
copy to clipboard
?#include
#include
#include
static char *server_options = ;
int num_elements = sizeof(server_options)/ sizeof(char *);
static char *server_groups = ;
int main(void)
mysql *conn;
mysql_res *res;
mysql_row row;
char *server = "localhost";
char *user = "testdb_user";
char *password = "123456";
char *database = "testdb";
conn = mysql_init(null);
/* connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, null, 0))
/* send sql query */
if (mysql_query(conn, "select userid, username from t_users"))
if ((res = mysql_use_result(conn)) == null)
int num = mysql_num_fields(res);
while ((row = mysql_fetch_row(res)) != null)
printf("/n");
} /* close connection */
mysql_free_result(res);
mysql_close(conn);
/* use any mysql api functions here */
mysql_server_end();
return exit_success;
}
(四) c 程式編譯與執行:
(1) 編譯 testdb.c
# gcc testdb.c -i/usr/local/mysql/include -l/usr/local/mysql/lib -lmysqlclient
注意: -i 和 -l 的路徑應該根據 mysql 的安裝路徑不同而應該有所不同。同理,下面的 ld_library_path 變數一樣。
(2) 將庫檔案路徑加入到 ld_library_path 環境變數中去
# ld_library_path =$ld_library_path:/usr/local/mysql/lib
(3) 執行編譯得到的可執行檔案 a.out
#./a.out
1 hudennis
Linux C程式設計Makefile編寫初步
假設我們有下面這樣的乙個程式,源 如下 main.c include mytool1.h include mytool2.h int main int argc,char argv mytool1.h ifndef mytool 1 h define mytool 1 h void mytool1 ...
Linux C 使用指標訪問成員
在linux用c程式設計,很多時候都會碰到結構體這個概念,尤其是使用指標訪問結構體成員。下面的文字介紹,請參考 理解 1.使用乙個新運算子 這個運算子有乙個連線號 後跟乙個大於符號 組成 struct guy him him fellow 0 him income 2.如果 him fellow 0...
Linux C命令編寫 my chmod的實現)
在linux中我們可以用chmod命令進行修改檔案的許可權 ycl ycl pc desktop ls l rwxr xr x 1 ycl ycl 17080 3月 221 23 a.out rwxr xr x 1 ycl ycl 16672 3月 220 06 my chmod rwxrwxrwx...