linux C下的MySQL编程

P1:与MySQL交互基本步骤

1.通过调用mysql_library_init(),进行初始化

2.通过调用mysql_init()初始化连接处理程序,并调用mysql_real_connect()进行连接

3.发出sql处理命令,并处理

4。通过调用mysql_close(),关闭MySQL服务器

P2:下面主要讲解数据操作函数

可用函数有:

1)int mysql_query(MYSQL *connection ,const char *query);

2)  int mysqk_real_query(MYSQL *connection ,const char *query ,unsigned long length);

3)void mysql_close(MYSQL *connection);

connection:为已经建立的句柄

query:为指向SQL的命令字符

mysql 操作语句:

1、说明:创建数据库
CREATEDATABASE database-name
2、说明:删除数据库
dropdatabase dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXECsp_addumpdevice 'disk','testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUPDATABASE pubs TO testBack
4、说明:创建新表
createtable tabname(col1 type1 [notnull] [primarykey],col2 type2 [notnull],..)
根据已有的表创建新表:
A:createtable tab_new liketab_old (使用旧表创建新表)
B:createtable tab_new asselect col1,col2… from tab_old definition only
5、说明:删除新表
droptable tabname
6、说明:增加一个列
Altertable tabname addcolumn col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键:Alter tabletabname add primary key(col)
说明:删除主键:Alter tabletabname drop primary key(col)
8、说明:创建索引:create[unique]index idxname on tabname(col….)
删除索引:dropindex idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:createview viewname asselect statement
删除视图:dropview viewname
10、说明:几个简单的基本的sql语句
选择:select* from table1 where 范围
插入:insertinto table1(field1,field2)values(value1,value2)
删除:deletefrom table1 where范围
更新:updatetable1 set field1=value1 where 范围
查找:select* from table1 where field1like ’%value1%’ ---like的语法很精妙,查资料!
排序:select* from table1 order byfield1,field2 [desc]
总数:selectcount as totalcount from table1
求和:selectsum(field1) assumvalue from table1
平均:selectavg(field1) asavgvalue from table1
最大:selectmax(field1) asmaxvalue from table1
最小:selectmin(field1) asminvalue from table1

P3:

其他可用函数:

1.my_errno():返回上一次发生的错误编号;my_error():返回上一次错误信息

2.mysql_fetch_field(): 返回下一个表字段类型

3.mysql_fetch_row():从结果中获取下一行

4.mysql_refresh():刷新或者复位表

5.mysql_use_result():初始化并逐行显示结果

6.mysql_fetch_count():返回上一个指令的结果列数目

7.mysql_fetch_row:从结果集中获取下一行数目

8.mysql_num_fields();返回结果列数;mysql_num_rows():返回结果行数

/**********************************************************分割线*********************************************************/


例子程序如下:

#include<mysql/mysql.h>
#include<stdio.h>
void main()
{
    MYSQL *mysql;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char *query ="select *from username";
    int t,r;
    mysql_init(mysql);
   if(!mysql_real_connect(mysql,"localhost","root,"123456","test",NULL,0))
   {
        printf("error connection to data:%s",mysql_error(mysql));
   }
   else
        printf("connected ...\n");
   t=mysql_query(mysql,query);
   if(t)
  {
       printf("error making query:%s\n",mysql_error(mysql));
  }
  else
  {
       printf("query made ..\n");
       res=mysql_use_result(mysql);
       for(r=0;r<mysql_field_cout(mysql);r++)
       {
           row=mysql_fetch_row(res);
           if(row<0) break;
           for(t=0;t<mysql_num_fileds(res);t++)
              printf("%s",row[t]);
           printf("\n");
        }
  mysql_free_result(res);
  }

   mysql_close(mysql);
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值