今天给新来的同事做mysql培训,用到的一个例子:
连接数据库test 用户名root密码abc
在里面有一个username的表,describe username结果如下
mysql> describe username;
+———-+————-+——+—–+———+——-+
| field | type | null | key | default | extra |
+———-+————-+——+—–+———+——-+
| id | int(10) | yes | | null | |
| username | varchar(32) | | pri | | |
+———-+————-+——+—–+———+——-+
mysql> select * from username;
+——+———-+
| id | username |
+——+———-+
| 1 | sfs |
+——+———-+
1 row in set (0.00 sec)
本文目的查找执行select id from username这个语句并打印结果
| 代码: |
| #include #include #include #include #include #include #include #include #include #include #include #include mysql mysql; main() { char host[32]=”localhost”; char user[32]=”root”; char passwd[32]=”abc”; char dbname[32]=”test”; if( mysql_init(&mysql) == null ) { syslog(log_user|log_info,”inital mysql handle errorn”); return 1; } if (mysql_real_connect(&mysql,host,user,passwd,dbname,0,null,0) == null) { syslog(log_user|log_info, “failed to connect to database: error: %sn”,mysql_error(&mysql)); return 1; } else syslog(log_user|log_info, “connect to database: n”); find_ps(); db_close(); return 0; } int db_close() { mysql_close(&mysql); return 0; } int find_ps () |
编译命令
gcc -g connect_db.c -l/usr/lib/mysql -lmysqlclient -lz
注意:
如果/tmp/cctgmms21.o: in function `main:
/tmp/cctgmms21.o(.text+0x11): undefined reference to `mysql_init
那么参数增加-l/usr/lib/mysql -lmysqlclient
如果
usr/lib/mysql/libmysqlclient.a(my_compress.o): in function `my_uncompress:
my_compress.o(.text+0xaa): undefined reference to `uncompress
那么增加-lz参数
