Linux下安裝MySQL數據庫以及用C語言編程存取數據庫

  ubuntu下安裝軟件至關簡單,一條簡單的 apt-get install 就能夠解決,相比源碼安裝方式惟一的缺點就是,你沒法自定義軟件的安裝目錄。不過這也不是什麼太大的缺點。下面咱們就用 apt-get 工具來安裝MySQL數據庫。mysql

安裝以前先查看一下系統是否已經安裝過MySQL了。以下如:sql

上圖顯示的結果代表,你的系統沒有安裝MySQL。下面執行 apt-get install mysql-server mysql-client進行安裝。以下圖:數據庫

輸入 y 進行安裝,以後會彈出一個界面要求輸入MySQL管理員root的密碼,以後再次確認。以下圖:編程

而後系統會自動安裝MySQL直到完成。ubuntu

安裝完成後,咱們能夠再次經過 netstat -tap | grep mysql 來查看系統是否已經有了 mysql 服務,以下圖:vim

出現上面的信息,說明咱們安裝MySQL成功。系統每次啓動時,都會自動開啓mysql服務。咱們也能夠用service命令來手動開啓或關閉mysql服務(前提是咱們具備管理員權限),以下所示:ide

service mysql start工具

service mysql stopfetch

service mysql restartspa

 

mysql 的配置文件在 /etc/mysql/my.cnf  這裏就不介紹配置了。這裏惟一須要說的是,mysql5.5版本的字符集設置問題,從下面的圖也能夠看到,character_set_database和character_set_server這兩個的字符集默認是latin1,這是西方國家使用的字符集,不能顯示漢字。所以,咱們須要在配置文件中設置一下字符集。vim /etc/mysql/my.cnf打開配置文件,找到 [mysqld]節,添加 character-set-server=utf8保存便可。由於客戶端的字符集默認是utf8,因此只用修改一下服務端就能夠了。

登陸數據庫命令:mysql -u root -p 回車後,輸入咱們前面所設的MySQL管理員密碼,就能夠成功登陸了。如圖:

若是要查看數據庫使用的字符集,能夠輸入 show variables like 'character%';  如圖:

若是要更改這些,在配置文件 my.cnf 裏更改便可。

至此,安裝mysql成功。

下面介紹 mysql 的幾個經常使用命令:

    顯示數據庫列表:   show databases;
    切換一個數據庫:   use  "db_name";
    查詢數據庫中的表: show tables;  (先選擇一個數據庫以後再查詢表)
    顯示某個表建立時的信息:show create table "table_name";
    查看錶的字段信息及屬性:describe "table_name";    desc "table_name";
 查看數據庫運行環境信息:status;

    建立一個數據庫: create database [if not exists] "db_name";
    刪除一個數據庫: drop database [if exists] "db_name";

    建立一個數據表: create table "table_name" (字段代號 字段類型,...);
    刪除一個數據表: drop table "table_name";

    向表中插入記錄: insert into "table_name" [(字段1,字段2,...)] values (值1,值2,...);
    刪除表中的記錄: delete from "table_name" where nid=100;
    更新表中的記錄: update "table_name" set level=2,salary=2000.0 where 條件
    查詢表中的數據: select * from "table_name";
                  select 字段1,字段2 from "table_name";

 

接下來,說說怎麼用C語言編程來操做數據庫:

開發C程序的時候,咱們須要 mysql.h 這個頭文件。前面咱們安裝的數據庫並不包含這個頭文件,咱們若是須要開發應用程序的話,必須再安裝一個開發包,名字爲 libmysqlclient-dev。以下操做:

至此,咱們就能夠用C語言開發應用程序了。須要操做數據庫的話,只需包含 mysql.h 這個頭文件。

下面給出一個簡單的操做數據庫的C語言代碼示例:

 1 /* Simple C program that connects to MySQL Database server */
 2 #include <stdio.h>
 3 #include <mysql.h>
 4 #include <stdlib.h>
 5 
 6 int main(void)
 7 {
 8     MYSQL        *conn;
 9     MYSQL_RES    *res;
10     MYSQL_ROW    row; 
11 
12     char *server = "localhost";
13     char *user = "root";
14     char *password = "12345";
15     char *database = "mysql";
16 
17     conn = mysql_init(NULL);
18 
19     /* Connect to database */
20     if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
21             fprintf(stderr, "%s\n", mysql_error(conn));
22             exit(1);
23     }
24 
25     /* send SQL query */
26     if (mysql_query(conn, "show tables")) {
27             fprintf(stderr, "%s\n", mysql_error(conn));
28             exit(1);
29     }
30 
31     res = mysql_use_result(conn);
32 
33     /* output table name */
34     printf("MySQL Tables in mysql database:\n");
35     while ( (row = mysql_fetch_row(res)) != NULL)
36             printf("%s \n", row[0]);
37 
38     /* close connect */
39     mysql_free_result(res);
40     mysql_close(conn);
41 }
View Code

編譯的時候,使用以下代碼:

gcc $(mysql_config --cflags)  xxx.c -o xxx $(mysql_config --libs)

本程序會鏈接本地數據庫mysql,而後輸出數據庫 mysql 中包含的全部表信息。注意gcc的參數順序。

相關文章
相關標籤/搜索