Linux下實現Mysql開發環境的部署和資料庫程式的實現

來源:互聯網
上載者:User

標籤:connect   display   hid   printf   需要   data   value   adb   stream   

SQL本身並不複雜,實際上我感覺部署mysql的環境才是最複雜的。

這裡採用了centos6.5系統來部署環境。

 

首先需要安裝資料庫和資料庫開發環境,以及編譯環境

 

yum install MySQL MySQL-server MySQL-devel gcc gcc-c++ -y

 

然後運行資料庫

service mysqld start

如果你用的是centos7以上的系統,mysql就被mariadb取代用以下命令執行

systemctl start mariadb.service 

現在直接在控制台輸入mysql即可進入資料庫系統

這裡用資料庫內建的test來進行資料的匯入,如果不匯入,那麼就直接建立一個資料庫,可嘗試建立一個簡單的資料庫,使用以下命令

1 create database MySQL 2 (Sno char(20) primary key,3     Sname char(20) NOT NULL,4     sage smallint,5     sGdener char(2) check(sGender in‘M‘,‘F‘)6 );
View Code

好,這就建立了一個簡單的資料庫,現在匯入我們對資料庫的簡單程式,注意這裡的程式和剛才建立立的表使用的碼是不一樣的。

額外注意的是,這裡使用了sprintf實現了對sql變數的查詢。

令人頭疼的是,在編譯的過程中始終提示找不到資料庫標頭檔,這裡採用這樣的編譯命令來執行

g++ sql2.cpp `mysql_config --cflags --libs` -o sql2

  下面是程式的主體部分

#include <cstdio>#include <mysql.h>#include<iostream>#include<string.h>using namespace std;//本程式在centos6.5中測試通過,如需測試,把2000萬資料資料匯入名為test的資料庫中後嘗試//這是編譯命令,直接複製粘貼即可//g++ sql2.cpp `mysql_config --cflags --libs` -o sql2//運行前先要安裝mysql-devel庫//create database test (name vchar(200),numb int(20));int main(){    MYSQL conn;    int res;    char sql_insert[200];     int *name;    int numb;    MYSQL_RES *res_ptr;    MYSQL_ROW result_row;    MYSQL_FIELD *field;    int row;    int column;    int i,j;    string name;    //cin >>name;    cin>>numb;    cin>>name;    sprintf(sql_insert, "SELECT distinct *  FROM cdsgus where Ctfid=%d Name=‘%s‘ ", numb,name);    mysql_init(&conn);    if(mysql_real_connect(&conn,"localhost","root","","test",0,NULL,CLIENT_FOUND_ROWS))     {        printf("connect success!\n");        //mysql_query(&conn,"insert into test values(‘user‘,‘123456‘)");        res=mysql_query(&conn, sql_insert);        if(res)            return(0);        else {            res_ptr = mysql_store_result(&conn);                if(res_ptr){                    column = mysql_num_fields(res_ptr);                    row = mysql_num_rows(res_ptr) + 1;                    printf("there is %lu line \n", row);                    for (i = 0; field = mysql_fetch_field(res_ptr); i++)                        printf("%s\t", field->name);                    printf("\n");                }             for (i = 1; i < row; i++)            {            result_row = mysql_fetch_row(res_ptr);//這裡res_ptr實際上相當於遊標            for (j = 0; j < column; j++)            printf("%s\t", result_row[j]);            printf("\n");              }          }    }    mysql_close(&conn);         return 0;}

 

Linux下實現Mysql開發環境的部署和資料庫程式的實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.