linux下使用libmysql++库操作mysql的C API

转载 2013年12月03日 19:28:04
1、安装mysql 
   ubuntu下安装mysql是比较简单的,直接通过apt-get安装
  1. sudo apt-get install mysql-server-5.5  
2、登入mysql
  1. mysql [-h host_name] [-u user_name] [-p password]
   其中参数-h后面要给出连接的数据库的IP地址或者域名、参数-u后面要给出登录的用户名、参数-p表示登录的密码。
   有时连接本机默认的Mysql数据库服务器,则可以直接在命令行中输入如下简写形式(root用户):
  1. mysql -u root -p
   之后,系统会提示你输入root用户的密码
   
3、mysql的基本命令
   在mysql中,输入help或者?命令,即可用查看mysql支持的内部操作命令。
   (1)显示数据库列表
      显示数据库列表命令比较简单,直接输入show databases;即可。
      
   (2)选择一个数据库
      选择一个数据库比较简单,使用use dbname,其中dbname为要选择的数据库名字。比如,这里我们选择test数据库:
      
   (3)查看一个数据库中的所有表
      通过show tables,可以查看一个数据库中所有的数据库表。
   (4)退出
      简单的命令,quit;
   需要注意的是,每个命令后面需要加上分号“;”,因为分号表示一个事务的结束。
4、mysql数据库操作实例。
   (1)创建班级数据库
      创建数据库的命令式create databases dbname,其中dbname为数据库名,例如当前要创建的数据库名为class,因此需要输入下面的命令:
  1.    mysq->create database class;
      
   (2)创建学生信息表
  1.    mysql>use class;
  2.    mysql>create table student (nid INT UNIQUE,name VARCHAR(20),age int);
      
   (3)插入基本数据
      向已经创建好的数据表中插入3条基本记录,SQL语句如下:
  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)查询全部数据
      利用select语句查询全部记录。
  1.    mysql->select * from student;
      
   (5)删除其中一条记录
      这里我们假设Tom同学转学了,那么他已经不在我们的班级class里面了,所以需要把他从class删除。
      mysql->delete from student where name = 'Tom';
   (6)更新其中一条记录
      班级class中还存在一种情况,就是有学生要改名了,比如Lee要改名为Tony了。具体的sql语句如下:
      mysql->update student set name = 'Tony' where name = 'Lee';
   (7)删除数据库
      如果学生毕业,那么我们这个班级就没有存在的必要了,这是就可以删除掉这个数据库class了。
      删除的步骤如下:
      a、删除所有的数据表,SQL语句为:
      mysql->drop table class;
      b、删除数据库,SQL语句为:
      mysql->delete database class;
5、Mysql数据库连接之C语言API
   首先要安装一个包libmysql++-dev包,不然编译代码的时候会出现“mysql/mysql.h: No such file or directory”错误
   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

  运行./c_mysql

VC单文件连接MYSQL示例,丢掉libmysql.dll.

网上很多VC连接mysql的例子都是要带个libmysql.dll才能正常使用的。但有时我们并不想多带个libmysql.dll,只想单文件就能使用或者你是要封装在一个dll文件里,这时你要就用到my...
  • zwfgdlc
  • zwfgdlc
  • 2010年05月04日 17:15
  • 10893

libmySQL.dll

  • 2011年08月03日 10:36
  • 751KB
  • 下载

Visual Studio 2013 C++ LINK : fatal error LNK1104: 无法打开文件“libmysql.lib”

右键点击项目名称,选择属性,分别在 c/c++->常规 的 附加包含目录  和 链接器->常规 的 附加库目录  直接填入D:\mysql\include;D:\mysql\lib ,也可以自己点开...
  • uyy203
  • uyy203
  • 2017年01月23日 01:23
  • 1815

Linux环境下Mysql++安装及操作深入详解

题记:之前项目中使用OTL连接操作Oracle数据库,对于Mysql有用,但没有总结。目前常用的两种连接方式:方式一:mysql conncetor (http://dev.mysql.com/d...
  • wojiushiwo987
  • wojiushiwo987
  • 2016年08月27日 16:17
  • 4951

Ubuntu中MySQL使用

安装MySQL以及开发库 sudo apt-get install mysql-server mysql-client libmysqlclient-dev libmysqlclient18 lib...
  • razorluo
  • razorluo
  • 2012年12月20日 22:45
  • 3058

使用MySQL Connector/C(libmysqlclient) 连接MySQL服务器

本文主要介绍如何使用MySQL Connector/C (libmysqlclient)访问数据库,以及如何执行SQL语句并解析返回结果。...
  • shuxiaogd
  • shuxiaogd
  • 2015年08月20日 17:24
  • 4716

32/64位MySql(lib、dll)资源

  • 2015年02月21日 20:07
  • 1.57MB
  • 下载

libmysql.a

  • 2016年07月14日 23:03
  • 881KB
  • 下载

linux下C语言编程操作MySQL数据库

在实际应用中,我们不可能在命令行登录进数据库进行数据的查询、插入等操作,用户一般是使用一个界面良好的应用程序软件来对数据进行管理。为了方便应用程序的开发,MySQL提供了多种编程语言(C、perl、p...
  • qq_21111579
  • qq_21111579
  • 2016年07月28日 09:55
  • 4125

MYSQL数据库在C语言API函数接口

MYSQL在 C 语言 中可用的API:   mysql_affected_rows() 返回被最新的UPDATE, DELETE或INSERT查询影响的行数。 mysql_clos...
  • HKaisa
  • HKaisa
  • 2016年07月20日 21:47
  • 2292
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下使用libmysql++库操作mysql的C API
举报原因:
原因补充:

(最多只允许输入30个字)