Linux环境下执行sql语句,linux程序设计——执行SQL语句(第八章)

8.3    使用C语言访问MySQL数据

8.3.3 执行SQL语句 执行SQL语句的主要API函数被恰当的命名为:

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

这个例程

接受连接结构指针和文本字符串形式的有效SQL语句,如果成功,它返回0.

1.不返回数据的SQL语句 为简单起见,先看一些不返回任何数据的SQL语句:UPDATE,DELETE和INSERT.

下面的函数用于

检查受查询影响的行数:

my_ulonglong mysql_affected_rows(MYSQL *connection);

这个函数的返回值类型很不常见,它使用无符号类型是出于移植性的考虑.当使用printf时,最好使用%lu格式将其转换为无符号长整形.这个函数返回受之前执行的UPDATE,DELETE和INSERT查询影响的函数.MySQL返回的是被一个更新操作修改的行数.

通常对于mysql_系列函数,返回值0表示没有行受到影响,正数则是实际的结果,一般表示受影响的行数.

编写程序insert1.c,尝试在表中插入一个新行.

mysql_affected_rows返回实际对数据进行的修改或者插入的行数.此外当从数据库中删除数据时,如果使用WHERE子句删除数据,那么mysql_affected_rows将返回删除的行数.但如果在DELETE语句中卖没有WHERE子句,那么表中的所有行都会被删除,但是由程序返回的受影响的行数却为0.这是因为MySQL优化了删除所有行的操作,它并不是执行许多个单行删除操作.

2.发现插入的内容 auto_increment类型由MySQL自动分配ID,这一特性非常有用,特别是当有许多用户的时候.

CREATE TABLE children(

childno int auto_increment NULL PRIMARY KEY,

fna

你可能感兴趣的:(Linux环境下执行sql语句)