linux下使用libmysql库操作mysql的CAPI
linux下使用libmysql++库操作mysql的C API 系统环境Ubuntu 12.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 pass
]
其中参数-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
2. #include
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