©®linuxÉçÇø©® °®ÐÄÔ®Öú ©® LinuxÈÏÖ¤©®ÏµÁÐ½Ì³Ì ©® Òµ½ç¶¯Ì¬©® Õ¾ÎñÐÂÎÅ ©® ¹«Ë¾ÕÐÆ¸©® ½¨ÒéÁôÑÔ ©® ÍøÖ·´óÈ« ©®LPIרÌâ©® CISCOרÌâ
ÉèΪÊ×Ò³
¼ÓÈëÊÕ²Ø
¹ÜÀíÍŶÓ
JSP  
JAVA  
PERL  
 ÄúµÄλÖãºÊ×Ò³ > article > Linux¿ª·¢Çø > Êý¾Ý¿â¿ª·¢ >
À¸Ä¿µ¼À¸
×ÊÁÏËÑË÷
ÈÈÃÅÎÄÕÂ
¡¤oracle exp/impÃüÁîÏê½â
¡¤Oracle exp/impµ¼³öµ¼È빤¾ßµÄ
¡¤MySQLͼÐλ¯¹ÜÀíÈí¼þ°²×°Ê¹ÓÃÏê
¡¤SQL*PLUSÃüÁîµÄʹÓôóÈ«
¡¤MySQLÓïÑԲο¼£¨3£© £ºSELECTºÍ
¡¤PPPOE + FreeRADIUS + MySQL Åä
¡¤´´½¨Ò»¸öOracle Êý¾Ý¿â
¡¤MySQLµÄ¹ÜÀí¹¤¾ß:phpMyAdminʹ
¡¤ORACLE9I°²×°²½Öè
¡¤LinuxÏÂOracle9i RMAN±¸·Ý¼°»Ö
¡¤oracle ·ÖÇø±íµÄ½¨Á¢·½·¨
¡¤RMANµÄÖÐÎÄÎĵ²
¡¤aix5.3°²×°oracle˵Ã÷
¡¤fc5 ϳɹ¦°²×°Oracle 10g
¡¤PHPMyAdminÅäÖñê×¼
×îÐÂÎÄÕÂ
¡¤´øÄãÇáËɽӴ¥MySQLÊý¾Ý¿âµÄÒì³£
¡¤PostgreSQL 8.3.1, 8.2.7·¢²¼
¡¤ÊµÀý½²½âÔÚMySQLÖÐÈçºÎµ¼³öÕû¸ö
¡¤ÇáËÉÕÆÎÕMySQLÊý¾Ý¿âËø»úÖÆµÄÏà
¡¤ÎåÖÖMySQLÊý¾Ý¿â¿É¿¿ÐÔ·½°¸µÄ·Ö
¡¤MySQLÊý¾Ý¿âÖжÔǰ¶ËºÍºǫ́½øÐÐ
¡¤ÇÉÓÃMySQL InnoDBÒýÇæËø»úÖÆ½â
¡¤MySQL´æ´¢¹ý³ÌSAVEPOINT ROLLB
¡¤´´½¨Bitmap_Join_IndexesÖеÄÔ¼
¡¤ÔÚMySQLÊý¾Ý¿âÖÐÓ¦µ±ÈçºÎ¹Ø±Õ´í
¡¤Ä³Ð©¸ü¸ÄµÄ·ÇÊÂÎñÐÔ±í²»Äܱ»»Ø
¡¤·ÅÆúÁ¬½ÓÏûÏ¢³öÏÖÔÚ´íÎóÈÕÖ¾ÖÐ
¡¤ÔõÑù²ÅÄܽâ¾öMySQL 5.0.16µÄÂÒ
¡¤MySQLÊý¾Ý¿âÖÐÈçºÎ½â¾ö·Ö×éͳ¼Æ
¡¤SAVEPOINTºÍROLLBACK TO SAVEP
Google
 
ÔÚMySQLÊý¾Ý¿âÖÐʹÓÃCÖ´ÐÐSQLÓï¾ä
[ ×÷Õß:  ¼ÓÈëʱ¼ä:2005-11-25 10:20:19  À´×Ô: ]
ÓëPostgreSQLÏàËÆ£¬¿ÉʹÓÃÐí¶à²»Í¬µÄÓïÑÔÀ´·ÃÎÊMySQL£¬°üÀ¨C¡¢C++¡¢JavaºÍPerl¡£´ÓProfessional Linux ProgrammingÖеÚ5ÕÂÓйØMySQLµÄÏÂÁÐÕ½ÚÖУ¬Neil MatthewºÍRichard StonesʹÓÃÏ꾡µÄMySQL C½Ó¿ÚÏòÎÒÃǽéÉÜÁËÈçºÎÔÚMySQLÊý¾Ý¿âÖÐÖ´ÐÐSQLÓï¾ä¡£ËûÃǽ«ÌÖÂÛ·µ»ØÊý¾ÝµÄÓï¾ä£¬ÀýÈçINSERTÒÔ¼°²»·µ»ØÊý¾ÝµÄÓï¾ä£¬ÀýÈçUPDATEºÍDELETE¡£È»ºó£¬ËûÃǽ«±àд´ÓÊý¾Ý¿â¼ìË÷Êý¾ÝµÄ¼òµ¥³ÌÐò¡£

Ö´ÐÐSQLÓï¾ä

ÏÖÔÚ£¬ÎÒÃÇÒѾ­ÓÐÁËÒ»¸öÁ¬½Ó£¬²¢ÇÒÖªµÀÈçºÎ´¦Àí´íÎó£¬ÊÇʱºòÌÖÂÛʹÓÃÎÒÃǵÄÊý¾Ý¿âÀ´×÷һЩʵ¼Ê¹¤×÷ÁË¡£Ö´ÐÐËùÓÐÀàÐ͵ÄSQLµÄÖ÷¹Ø¼ü×ÖÊÇmysql_query£º


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




ÕýÈçÄúËù¼û£¬Ëü·Ç³£¼òµ¥¡£Ëüȡһ¸öÖ¸ÏòÁ¬½Ó½á¹¹µÄÖ¸ÕëºÍ°üº¬ÒªÖ´ÐеÄSQLµÄÎı¾×Ö·û´®£»ÓëÃüÁîÐй¤¾ß²»Í¬£¬½«²»Ê¹ÓýáÊø·ÖºÅ¡£³É¹¦Ö®ºó£¬·µ»Ø0¡£ÔÚÐèÒª°üº¬¶þ½øÖÆÊý¾ÝµÄÌØÊâÇé¿öÏ£¬¿ÉÒÔʹÓÃÏà¹ØµÄº¯Êý£¬mysql_real_query¡£ËäÈ»³öÓÚ±¾ÕµÄÄ¿µÄ£¬ÎÒÃǽöÐèÒªÌÖÂÛmysql_query¡£

²»·µ»ØÊý¾ÝµÄSQLÓï¾ä

ÎÒÃǽ«ÏÈÌÖÂÛUPDATE¡¢DELETEºÍINSERTÓï¾ä¡£ÒòΪËüÃDz»·µ»ØÊý¾Ý£¬ËùÒÔ¸üÒ×ÓÚʹÓá£

ÕâÀïÎÒÃǽ«½éÉܵÄÁíÒ»¸öÖØÒªº¯ÊýÊǼì²éÊÜÓ°ÏìµÄÐÐÊýµÄº¯Êý£º


my_ulonglong mysql_affected_rows(MYSQL *connection);




¿ÉÄܹØÓÚÕâÒ»º¯ÊýµÄ×îÏÔ¶øÒ×¼ûµÄʾÍÊÇÆä·ÇͬѰ³£µÄ·µ»Ø½á¹û¡£ÓÉÓÚ¿ÉÒÆÖ²ÐÔÔ­Òò£¬ÕâÊÇÒ»¸öÌØÊâµÄÎÞ·ûºÅÀàÐÍ¡£ÎªÁËÔÚprintfÖÐʹÓ㬽¨Ò齫ÆäÇ¿ÖÆ×ª»»³ÉʹÓÃ%lu¸ñʽ¹æ·¶µÄÎÞ·ûºÅ³¤ÕûÊý¡£Õâ¸öº¯Êý·µ»ØÊÜÒÔǰµÄUPDATE¡¢INSERT»òDELETE²éѯӰÏìµÄÐÐÊý£¬ÕâЩ²éѯÊÇʹÓÃmysql_queryÖ´Ðеġ£

ͨ³£¶ÔÓÚmysql_º¯Êý£¬·µ»ØÂë0±íʾûÓÐÐÐÊÜÓ°Ï죻ÕýÊý±íʾʵ¼Ê½á¹û£¬Í¨³£ÊÇÊÜÓ°ÏìµÄÐÐÊý¡£

ÈçǰËùÊö£¬µ±Ê¹ÓÃmysql_affected_rowsʱ¿ÉÄܳöÏÖδÆÚÍûµÄ½á¹û¡£ÈÃÎÒÃÇÏÈÌÖÂÛÊÜINSERTÓï¾äÓ°ÏìµÄÐÐÊý£¬Ëü½«°´Ô¤ÆÚ½øÐвÙ×÷¡£½«ÏÂÁдúÂëÌí¼Óµ½³ÌÐò connect2.c ÖУ¬²¢ÇÒ³ÆÆäΪinsert1.c£º


#include 
#include 
#include "mysql.h"
int main(int argc, char *argv[]) {
MYSQL my_connection;

int res;

mysql_init(&my_connection); 
if (mysql_real_connect(&my_connection, "localhost", 
    "rick", "bar", "rick", 0, NULL, 0)) {
    printf("Connection successn");

   res = mysql_query(&my_connection, 
         "INSERT INTO children(fname,age),
          VALUES(¡¯Ann¡¯,3)");
   if (!res) {
              printf("Inserted %lu rowsn", 
              (unsigned long)mysql_affected_rows(&my_connection));
            } else {
              fprintf(stderr, "Insert error %d: sn",mysql_errno ,
              (&my_connection),
              mysql_error(&my_connection));
             }
     mysql_close(&my_connection);
         } else {
           fprintf(stderr, "Connection failedn");
            if (mysql_errno(&my_connection)) {
   fprintf(stderr, "Connection error %d: %sn",
   mysql_errno(&my_connection),
   mysql_error(&my_connection));
            }
         }
         return EXIT_SUCCESS;
    }



ÕýÈçÔ¤ÆÚ£¬²åÈëµÄÐÐÊýΪ1¡£

ÏÖÔÚ£¬ÎÒÃǸü¸Ä´úÂ룬ËùÒÔ ¡¯insert¡¯ ²¿·Ö±»Ìæ»»³É£º


 mysql_errno(&my_connection), mysql_error(&my_connection));
         }
      }

      res = mysql_query(&my_connection, "UPDATE children SET AGE = 4 
     
WHERE fname = ¡¯Ann¡¯");

      if (!res) {
         printf("Updated %lu rowsn", 
                          
(unsigned long)mysql_affected_rows(&my_connection));
      } else {
        
fprintf(stderr, "Update error %d: %sn",
mysql_errno(&my_connection),                                                  
mysql_error(&my_connection));
      }




ÏÖÔÚ¼ÙÉè×Ó±íÖÐÓеÄÊý¾Ý£¬ÈçÏ£º

childnofnameage

2
3
4
5
6
7
8
9
10
11Jenny 
Andrew
Gavin
Duncan
Emma
Alex
Adrian
Ann
Ann
Ann
Ann14 
10
4
2
0
11
5
3
4
3
4


Èç¹ûÎÒÃÇÖ´ÐÐupdate1£¬Ï£Íû±¨¸æµÄÊÜÓ°ÏìÐÐÊýΪ4£¬µ«ÊÇʵ¼ÊÉϳÌÐò±¨¸æ2£¬ÒòΪËü½ö±ØÐë¸ü¸Ä2ÐУ¬ËäÈ»WHERE×Ó¾ä±êʶÁË4ÐС£Èç¹ûÏëÈÃmysql_affected_rows±¨¸æµÄ½á¹ûΪ4Õâ¿ÉÄÜÊÇÊìϤÆäËüÊý¾Ý¿âµÄÈËËùÆÚÍûµÄ£©£¬ÔòÐèÒª¼Çס½«CLIENT_FOUND_ROWS±êÖ¾´«µÝµ½mysql_real_connect£¬ÔÚ update2.cÖеijÌÐòÈçÏ£º


if (mysql_real_connect(&my_connection, "localhost", 
                                 "rick", "bar", "rick", 0, NULL, CLIENT_FOUND_ROWS)) {




Èç¹ûÎÒÃÇÔÚÊý¾Ý¿âÖи´Î»Êý¾Ý£¬È»ºóÔËÐдøÓÐÕâÖÖÐ޸ĵijÌÐò£¬ÔòËü±¨¸æµÄÐÐÊýΪ4¡£

º¯Êýmysql_affected_rows»¹ÓÐ×îºóÒ»¸öÆæ¹ÖÖ®´¦£¬Ëü·¢ÉúÔÚ´ÓÊý¾Ý¿âÖÐɾ³ýÊý¾Ýʱ¡£Èç¹ûʹÓÃWHERE×Ӿ䣬Ôòmysql_affected_rows½«°´Ô¤ÆÚ·µ»ØÉ¾³ýÐÐÊý¡£µ«ÊÇ£¬Èç¹ûûÓÐWHERE×Ӿ䣬Ôòɾ³ýËùÓÐÐУ¬±¨¸æÊÜÓ°ÏìµÄÐÐÊýȴΪ0¡£ÕâÊÇÒòΪÓÉÓÚЧÂÊÔ­ÒòÓÅ»¯É¾³ýÕû¸ö±í¡£ÕâÖÖÐÐΪ²»ÊÜCLIENT_FOUND_ROWSÑ¡Ïî±êÖ¾µÄÓ°Ïì¡£
»ØÊý¾ÝµÄÓï¾ä 

ÏÖÔÚÊÇʱºòÌÖÂÛSQLµÄ×îÆÕ±éÓ÷¨ÁË£¬´ÓÊý¾Ý¿â¼ìË÷Êý¾ÝµÄSELECTÓï¾ä¡£ 

MySQL »¹Ö§³Ö·µ»Ø½á¹ûµÄSHOW¡¢DESCRIBEºÍEXPLAIN SQLÓï¾ä£¬µ«ÊÇÕâÀï²»¿¼ÂÇËüÃÇ¡£°´¹ßÀý£¬ÊÖ²áÖаüº¬ÕâЩÓï¾äµÄ˵Ã÷¡£ 

Äú½«»á´ÓPostgreSQLÕÂ¼ÇÆð£¬¿ÉÒÔ´ÓPQexecÖеÄSQL SELECT Óï¾ä¼ìË÷Êý¾Ý£¬ÕâÀïÂíÉÏ»ñÈ¡ËùÓÐÊý¾Ý£¬»òÕßʹÓÃÓαê´ÓÊý¾Ý¿âÖÐÖðÐмìË÷Êý¾Ý£¬ÒÔ±ã¸ã¶¨´óÊý¾Ý¡£ 

ÓÉÓÚÍêÈ«ÏàͬµÄÔ­Òò£¬MySQLµÄ¼ìË÷·½·¨¼¸ºõÍêÈ«Ïàͬ£¬ËäÈ»Ëüʵ¼ÊÉϲ»ÓÃÓαêµÄÐÎʽÃèÊöÖðÐмìË÷¡£µ«ÊÇ£¬ËüÌṩÁËËõСÕâÁ½ÖÖ·½·¨¼ä²îÒìµÄAPI£¬Èç¹ûÐèÒª£¬Ëüͨ³£Ê¹Á½ÖÖ·½·¨µÄ»¥»»¸ü¼ÓÈÝÒס£ 

ͨ³££¬´ÓMySQLÊý¾Ý¿âÖмìË÷Êý¾ÝÓÐ4¸ö½×¶Î£º 

·¢³ö²éѯ  

¼ìË÷Êý¾Ý  

´¦ÀíÊý¾Ý  

Ö´ÐÐËùÐèµÄÈκÎÕûÀí  

ÏóÒÔǰһÑù£¬ÎÒÃÇʹÓÃmysql_query·¢³ö²éѯ¡£Êý¾Ý¼ìË÷ÊÇʹÓÃmysql_store_result»òmysql_use_resultÍê³ÉµÄ£¬ÕâÈ¡¾öÓÚÏëÈçºÎ¼ìË÷Êý¾Ý£¬ËæºóʹÓÃmysql_fetch_rowµ÷ÓÃÐòÁÐÀ´´¦ÀíÊý¾Ý¡£×îºó£¬±ØÐëµ÷ÓÃmysql_free_resultÒÔÔÊÐíMySQLÖ´ÐÐÈκÎËùÐèµÄÕûÀí¡£ 

È«²¿Á¢¼´Êý¾Ý¼ìË÷µÄº¯Êý 

¿ÉÒÔ´ÓSELECTÓï¾ä£¨»òÆäËû·µ»ØÊý¾ÝµÄÓï¾ä£©ÖмìË÷ÍêËùÓÐÊý¾Ý£¬ÔÚµ¥Ò»µ÷ÓÃÖУ¬Ê¹ÓÃmysql_store_result£º 


MYSQL_RES *mysql_store_result(MYSQL *connection); 

  


±ØÐëÔÚmysql_query¼ìË÷Êý¾Ýºó²ÅÄܵ÷ÓÃÕâ¸öº¯Êý£¬ÒÔÔÚ½á¹û¼¯Öд洢¸ÃÊý¾Ý¡£Õâ¸öº¯Êý´Ó·þÎñÆ÷ÖмìË÷ËùÓÐÊý¾Ý²¢Á¢¼´½«Ëü´æ´¢ÔÚ¿Í»§»úÖС£Ëü·µ»ØÒ»¸öÖ¸ÏòÒÔǰÎÒÃÇ´ÓδÓöµ½¹ýµÄ½á¹¹£¨½á¹û¼¯½á¹¹£©µÄÖ¸Õë¡£Èç¹ûÓï¾äʧ°Ü£¬Ôò·µ»ØNULL¡£ 

ʹÓõȼ۵ÄPostgreSQLʱ£¬Ó¦¸ÃÖªµÀ·µ»ØNULLÒâζ×ÅÒѾ­·¢ÉúÁË´íÎ󣬲¢ÇÒÕâÓëδ¼ìË÷µ½Êý¾ÝµÄÇé¿ö²»Í¬¡£¼´Ê¹£¬·µ»ØÖµ²»ÊÇNULL£¬Ò²²»Òâζ×ŵ±Ç°ÓÐÊý¾ÝÒª´¦Àí¡£ 

Èç¹ûδ·µ»ØNULL£¬Ôò¿ÉÒÔµ÷ÓÃmysql_num_rows²¢ÇÒ¼ìË÷ʵ¼Ê·µ»ØµÄÐÐÊý£¬Ëüµ±È»¿ÉÄÜÊÇ0¡£ 


my_ulonglong mysql_num_rows(MYSQL_RES *result); 

  


Ëü´Ómysql_store_resultÈ¡µÃ·µ»ØµÄ½á¹û½á¹¹£¬²¢ÇÒÔڸýá¹û¼¯Öзµ»ØÐÐÊý£¬ÐÐÊý¿ÉÄÜΪ0¡£Èç¹ûmysql_store_result³É¹¦£¬Ôòmysql_num_rowsÒ²×ÜÊdzɹ¦µÄ¡£ 

ÕâÖÖmysql_store_resultºÍmysql_num_rowsµÄ×éºÏÊǼìË÷Êý¾ÝµÄÒ»ÖÖ¼ò±ã²¢ÇÒÖ±½ÓµÄ·½·¨¡£Ò»µ©mysql_store_result³É¹¦·µ»Ø£¬ÔòËùÓвéѯÊý¾Ý¶¼ÒѾ­´æ´¢ÔÚ¿Í»§»úÉϲ¢ÇÒÎÒÃÇÖªµÀ¿ÉÒÔ´Ó½á¹û½á¹¹ÖмìË÷Ëü£¬¶ø²»Óõ£ÐĻᷢÉúÊý¾Ý¿â»òÍøÂç´íÎó£¬ÒòΪ¶ÔÓÚ³ÌÐòËùÓÐÊý¾Ý¶¼ÊDZ¾µØµÄ¡£»¹¿ÉÒÔÁ¢¼´·¢ÏÖ·µ»ØµÄÐÐÊý£¬Ëü¿ÉÒÔʹ±àÂë¸ü¼ò±ã¡£ÈçǰËùÊö£¬Ëü½«ËùÓнá¹ûÁ¢¼´µØ·¢Ëͻؿͻ§»ú¡£¶ÔÓÚ´ó½á¹û¼¯£¬Ëü¿ÉÄܺķѴóÁ¿µÄ·þÎñÆ÷¡¢ÍøÂçºÍ¿Í»§»ú×ÊÔ´¡£ÓÉÓÚÕâЩԭÒò£¬Ê¹Óøü´óµÄÊý¾Ý¼¯Ê±£¬×îºÃ½ö¼ìË÷ÐèÒªµÄÊý¾Ý¡£²»¾Ã£¬ÎÒÃǽ«ÌÖÂÛÈçºÎʹÓÃmysql_use_resultº¯ÊýÀ´Íê³É¸Ã²Ù×÷¡£ 

Ò»µ©¼ìË÷ÁËÊý¾Ý£¬Ôò¿ÉÒÔʹÓÃmysql_fetch_rowÀ´¼ìË÷Ëü£¬²¢ÇÒʹÓÃmysql_data_seek¡¢mysql_row_seek¡¢mysql_row_tell²Ù×÷½á¹û¼¯¡£ÔÚ¿ªÊ¼¼ìË÷Êý¾Ý½×¶Î֮ǰ£¬ÈÃÎÒÃÇÏÈÌÖÂÛÒ»ÏÂÕâЩº¯Êý¡ LinuxÁªÃËÊÕ¼¯ÕûÀí ,תÌùÇë±êÃ÷ԭʼÁ´½Ó,ÈçÓÐÈκÎÒÉÎÊ»¶Ó­À´±¾Õ¾LinuxÂÛ̳ÌÖÂÛ
·ÖÒ³£º[1] 2
¡¾ÆÀÂÛ¡¿¡¾¼ÓÈëÊղؼС¿¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿¡¾¹Ø±Õ¡¿
¡ù Ïà¹ØÁ´½Ó
ÎÞÏà¹ØÐÅÏ¢