青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

lynch

linux下使用mysql的C語(yǔ)言API

系統(tǒng)環(huán)境Ubuntu 12.04

1、安裝mysql 
   ubuntu下安裝mysql是比較簡(jiǎn)單的,直接通過(guò)apt-get安裝
  1. sudo apt-get install mysql-server-5.5  
2、登入mysql
  1. mysql [-h host_name] [-u user_name] [-p password]
   其中參數(shù)-h后面要給出連接的數(shù)據(jù)庫(kù)的IP地址或者域名、參數(shù)-u后面要給出登錄的用戶(hù)名、參數(shù)-p表示登錄的密碼。
   有時(shí)連接本機(jī)默認(rèn)的Mysql數(shù)據(jù)庫(kù)服務(wù)器,則可以直接在命令行中輸入如下簡(jiǎn)寫(xiě)形式(root用戶(hù)):
  1. mysql -u root -p
   之后,系統(tǒng)會(huì)提示你輸入root用戶(hù)的密碼
   
3、mysql的基本命令
   在mysql中,輸入help或者?命令,即可用查看mysql支持的內(nèi)部操作命令。
   (1)顯示數(shù)據(jù)庫(kù)列表
      顯示數(shù)據(jù)庫(kù)列表命令比較簡(jiǎn)單,直接輸入show databases;即可。
      
   (2)選擇一個(gè)數(shù)據(jù)庫(kù)
      選擇一個(gè)數(shù)據(jù)庫(kù)比較簡(jiǎn)單,使用use dbname,其中dbname為要選擇的數(shù)據(jù)庫(kù)名字。比如,這里我們選擇test數(shù)據(jù)庫(kù):
      
   (3)查看一個(gè)數(shù)據(jù)庫(kù)中的所有表
      通過(guò)show tables,可以查看一個(gè)數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)庫(kù)表。

      查看Mysql表結(jié)構(gòu)的命令,如下:

      show columns from 表名;
      describe 表名;
      desc 表名;
      show create table 表名;(查看create腳本)
   (4)退出
      簡(jiǎn)單的命令,quit;
   需要注意的是,每個(gè)命令后面需要加上分號(hào)“;”,因?yàn)榉痔?hào)表示一個(gè)事務(wù)的結(jié)束。

    (5) mysqldump工具備份和恢復(fù)

 

         幾個(gè)常用用例:
         1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
          mysqldump -u 用戶(hù)名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名    
          mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
         2.導(dǎo)出一個(gè)表
          mysqldump -u 用戶(hù)名 -p 數(shù)據(jù)庫(kù)名 表名> 導(dǎo)出的文件名
          mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
         3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
           mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/home/dk/wcnc_db.sql
          -d 沒(méi)有數(shù)據(jù) --add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)drop table 
         4.導(dǎo)入數(shù)據(jù)庫(kù)
           常用source 命令
           進(jìn)入mysql數(shù)據(jù)庫(kù)控制臺(tái),
           如mysql -u root -p 
  
           mysql>use 數(shù)據(jù)庫(kù)
           然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.sql)
           mysql>source  /home/wcnc_db.sql

 

4、mysql數(shù)據(jù)庫(kù)操作實(shí)例。
   (1)創(chuàng)建班級(jí)數(shù)據(jù)庫(kù)
      創(chuàng)建數(shù)據(jù)庫(kù)的命令式create databases dbname,其中dbname為數(shù)據(jù)庫(kù)名,例如當(dāng)前要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名為class,因此需要輸入下面的命令:

  1.    mysq->create database class;
      
   (2)創(chuàng)建學(xué)生信息表
  1.    mysql>use class;
  2.    mysql>create table student (nid INT UNIQUE,name VARCHAR(20),age int);

 

      
   (3)插入基本數(shù)據(jù)
      向已經(jīng)創(chuàng)建好的數(shù)據(jù)表中插入3條基本記錄,SQL語(yǔ)句如下:
  1.    mysql->insert into student values(100, 'Lee', 16);
  2.    mysql->insert into student values(101, 'Tom', 17);
  3.    mysql->insert into student values(102, 'Harry', 15);
    (4)查詢(xún)?nèi)繑?shù)據(jù)
      利用select語(yǔ)句查詢(xún)?nèi)坑涗洝?br style="word-wrap: break-word" />
  1.    mysql->select * from student;
      
   (5)刪除其中一條記錄
      這里我們假設(shè)Tom同學(xué)轉(zhuǎn)學(xué)了,那么他已經(jīng)不在我們的班級(jí)class里面了,所以需要把他從class刪除。
      mysql->delete from student where name = 'Tom';
   (6)更新其中一條記錄
      班級(jí)class中還存在一種情況,就是有學(xué)生要改名了,比如Lee要改名為T(mén)ony了。具體的sql語(yǔ)句如下:
      mysql->update student set name = 'Tony' where name = 'Lee';
   (7)刪除數(shù)據(jù)庫(kù)
      如果學(xué)生畢業(yè),那么我們這個(gè)班級(jí)就沒(méi)有存在的必要了,這是就可以刪除掉這個(gè)數(shù)據(jù)庫(kù)class了。
      刪除的步驟如下:
      a、刪除所有的數(shù)據(jù)表,SQL語(yǔ)句為:
      mysql->drop table class;
      b、刪除數(shù)據(jù)庫(kù),SQL語(yǔ)句為:
      mysql->delete database class;
5、Mysql數(shù)據(jù)庫(kù)連接之C語(yǔ)言API
   首先要安裝一個(gè)包libmysql++-dev包,不然編譯代碼的時(shí)候會(huì)出現(xiàn)“mysql/mysql.h: No such file or directory”錯(cuò)誤
   sudo apt-get install libmysql++-dev
         示例代碼:
  1. #include<mysql/mysql.h>
  2. #include<stdio.h>
  3. int main()
  4. {
  5.      MYSQL mysql;
  6.      MYSQL_RES *res;
  7.      MYSQL_ROW row;
  8.      char *query = "select * from dbtablename;";
  9.      int t,r;
  10.      mysql_init(&mysql);
  11.      if(!mysql_real_connect(&mysql,"localhost","dbusername",
                         "dbpassword","dbname",0,NULL,0))
  12.      {
  13.          printf("Error connecting to database:%s\n",mysql_error(&mysql));
  14.      }
  15.      else
  16.          printf("Connected........");
  17.  
  18.      else
  19.          printf("Connected........");
  20.      t=mysql_query(&mysql,query);
  21.      if(t)
  22.      {
  23.          printf("Error making query:%s\n",mysql_error(&mysql));
  24.      }
  25.      else
  26.      {
  27.          printf("Query made ....\n");
  28.          res = mysql_use_result(&mysql);
  29.          if(res)
  30.          {
  31.              for(r=0;r<=mysql_field_count(&mysql);r++)
  32.              {
  33.                  row = mysql_fetch_row(res);
  34.                  if(row<0) break;
  35.                  for(t=0;t<mysql_num_fields(res);t++)
  36.                      printf("%s ",row[t]);
  37.                  printf("\n");
  38.              }
  39.          }
  40.          mysql_free_result(res);
  41.      }
  42.      mysql_close(&mysql);
  43.      return 0;
  44.  }

   編譯之~注意一定要先安裝libmysql++-dev包。編譯指令:gcc c_mysql.c -lmysqlclient -o c_mysql

  運(yùn)行./c_mysql


posted on 2012-12-15 22:54 董三 閱讀(8059) 評(píng)論(1)  編輯 收藏 引用 所屬分類(lèi): linux

評(píng)論

# re: linux下使用mysql的C語(yǔ)言API 2016-03-11 09:46 swing07

printf("Query made ....\n");
res = mysql_use_result(&mysql);
if(res)
{
for(r=0;r<=mysql_field_count(&mysql);r++)
{
row = mysql_fetch_row(res);
if(row<0) break;
for(t=0;t<mysql_num_fields(res);t++)
printf("%s ",row[t]);
printf("\n");
}
}
mysql_free_result(res);
這段代碼都有問(wèn)題 會(huì) Segmentation fault (core dumped)。

需要這么改 res = mysql_store_result(&mysql);
if(res)
{
printf("result mysql_field_count:%d ....\n",mysql_num_rows(res) );
// printf("result mysql_fetch_row:%d ....\n",mysql_fetch_row(res) );
printf("result mysql_num_fields:%d ....\n",mysql_num_fields(res) );
for(r=0;r<mysql_num_rows(res);r++)
{
row = mysql_fetch_row(res);
if(row<0) break;
for(t=0;t<mysql_num_fields(res);t++)
printf("%s ",row[t]);
printf("\n");
}
}  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


<2012年12月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(1)

隨筆分類(lèi)

隨筆檔案

文章分類(lèi)

文章檔案

博客友

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美视频在线观看视频| 一区二区三区精品国产| 久久精品国产亚洲5555| 久久免费精品视频| 亚洲高清色综合| 欧美激情久久久久久| 夜夜嗨av一区二区三区四季av| 亚洲在线播放电影| 国产一区91精品张津瑜| 牛人盗摄一区二区三区视频| 日韩视频精品在线观看| 欧美在线播放视频| 亚洲国产二区| 国产精品久久二区二区| 久久精品91久久久久久再现| 亚洲国产天堂网精品网站| 日韩视频一区二区三区在线播放| 欧美视频中文字幕| 久久精品亚洲乱码伦伦中文| 91久久精品美女| 久久久99爱| 日韩亚洲欧美高清| 国产日韩欧美一区二区三区在线观看 | 亚洲成在人线av| 亚洲曰本av电影| 亚洲高清av| 国产欧美精品一区二区色综合| 久久伊人精品天天| 亚洲一区在线免费| 欧美国产一区二区三区激情无套| 亚洲欧美日韩国产一区二区| 亚洲高清免费在线| 国产视频观看一区| 欧美日韩在线视频一区二区| 久久久国产精品一区二区中文 | 亚洲激情电影在线| 久久精品亚洲| 亚洲免费在线| 日韩午夜在线观看视频| 伊人成年综合电影网| 欧美午夜电影在线观看| 美女免费视频一区| 欧美在线黄色| 亚洲一区精彩视频| 日韩午夜三级在线| 亚洲国产精品成人久久综合一区| 久久精品国产免费观看| 亚洲综合成人婷婷小说| 99国产精品久久久| 亚洲福利视频一区| 激情欧美一区| 国产主播在线一区| 国产色综合网| 国产欧美精品va在线观看| 欧美午夜片在线免费观看| 欧美国产视频在线| 免费视频一区| 美女日韩在线中文字幕| 久久久久久久91| 久久久久久久久久看片| 欧美在线播放| 久久精品欧美日韩| 欧美一级淫片播放口| 欧美亚洲网站| 欧美一级片久久久久久久| 午夜日韩av| 欧美亚洲免费电影| 欧美亚洲视频| 久久精品人人做人人爽电影蜜月| 欧美中文字幕视频| 久久精品亚洲一区二区| 久久久久亚洲综合| 麻豆精品网站| 欧美va日韩va| 欧美日韩国产成人在线观看| 欧美日韩亚洲高清| 欧美午夜精品久久久久久超碰| 欧美日韩中文在线观看| 国产精品xxxxx| 国产精品私人影院| 国产一区二区三区av电影| 韩国美女久久| 亚洲国产综合在线看不卡| 亚洲人成艺术| 亚洲视频一区| 久久丁香综合五月国产三级网站| 久久国产精品99久久久久久老狼| 久久精品国产精品| 欧美不卡视频一区发布| 亚洲国产乱码最新视频| 亚洲免费高清视频| 亚洲欧美日产图| 久久久久久久久蜜桃| 欧美激情一区二区三区不卡| 欧美日精品一区视频| 国产午夜精品麻豆| 亚洲黄色精品| 亚洲在线播放| 免费一级欧美片在线播放| 亚洲国产一区视频| 亚洲欧美电影在线观看| 久久久精品免费视频| 欧美人成在线| 国产午夜精品一区二区三区欧美| 亚洲高清久久| 性久久久久久久久久久久| 免播放器亚洲一区| 一区二区三区|亚洲午夜| 香蕉av777xxx色综合一区| 鲁鲁狠狠狠7777一区二区| 欧美性猛片xxxx免费看久爱| 狠狠久久亚洲欧美专区| 一区二区日韩| 麻豆freexxxx性91精品| 亚洲狼人综合| 久久久精品国产99久久精品芒果| 欧美日韩国产麻豆| 一区二区三区无毛| 亚洲一区二区三区在线播放| 巨乳诱惑日韩免费av| 中国女人久久久| 美女91精品| 国产日韩欧美不卡在线| 一本久久综合亚洲鲁鲁五月天| 久久久99精品免费观看不卡| av不卡免费看| 欧美不卡视频一区发布| 国产一区二区三区精品久久久| 一区二区三区免费观看| 欧美电影专区| 久久成人精品无人区| 国产精品久久亚洲7777| 亚洲乱亚洲高清| 免费欧美视频| 久久成人一区| 国产精品一区二区三区免费观看 | 欧美1区免费| 欧美一区二区网站| 国产精品久久午夜夜伦鲁鲁| 亚洲精品视频在线看| 另类专区欧美制服同性| 香蕉成人久久| 国产老肥熟一区二区三区| 亚洲一区日韩在线| 日韩视频在线观看一区二区| 美女精品在线观看| 狠狠色丁香久久婷婷综合丁香| 欧美一级久久| 亚洲一二三区在线观看| 欧美色精品天天在线观看视频| 亚洲精选视频在线| 亚洲电影欧美电影有声小说| 久久综合图片| 亚洲经典在线看| 欧美激情成人在线| 久久综合网络一区二区| 影音先锋日韩精品| 免费成人美女女| 久久免费99精品久久久久久| 经典三级久久| 欧美二区在线播放| 免费短视频成人日韩| 亚洲激情自拍| 亚洲国产日韩欧美在线动漫| 欧美激情视频在线播放 | 99精品国产热久久91蜜凸| 亚洲理伦在线| 国产精品萝li| 久久九九99| 久久婷婷亚洲| 亚洲精选在线| 日韩亚洲欧美高清| 国产精品视频在线观看| 欧美在线视频在线播放完整版免费观看 | 久久全球大尺度高清视频| 亚洲国产精品传媒在线观看| 欧美激情精品久久久久| 欧美另类专区| 亚洲欧美日韩国产中文在线| 性做久久久久久久免费看| 永久91嫩草亚洲精品人人| 欧美岛国激情| 欧美日韩亚洲一区二| 欧美一区二区视频观看视频| 久久激情五月激情| 亚洲精一区二区三区| 一本色道88久久加勒比精品| 国产日产亚洲精品| 欧美承认网站| 国产精品国产三级国产专播品爱网 | 亚洲国产综合91精品麻豆| 国产精品久久久久久妇女6080 | 国产伦理精品不卡| 毛片精品免费在线观看| 欧美日韩国产成人精品| 欧美亚洲一区在线| 麻豆国产精品va在线观看不卡 | 久久九九热re6这里有精品| 老鸭窝毛片一区二区三区| 一区二区三区www|