Linux--C语言操作数据库(一)插入数据
2017-03-19 23:25
309 查看
各种渠道去找有关于使用C语言操作数据库的资料,好辛苦,弄出来了!
![](https://img-blog.csdn.net/20170319230943312?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
然后插入一组数据
![](https://img-blog.csdn.net/20170319230957375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查询
![](https://img-blog.csdn.net/20170319231009135?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
数据库搞定,接下来是C语言部分。
然后编译
爆出大量未定义标识符的错误!应该是GCC编译器没有找到头文件。
![](https://img-blog.csdn.net/20170319231423096?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
各种纠结,不知怎么办。。。。。。
这里省略三千字纠结!
从一位大神那里找到这个解决办法,编译成功!
但是这个也可以编译
这两个后缀缺一不可!
运行:
![](https://img-blog.csdn.net/20170319232250087?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
查看一下数据库:
![](https://img-blog.csdn.net/20170319232401342?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjg4NzcxMjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
插入成功!
数据库部分
首先创建一张表create table children(childno int not null unique,fname varchar(20),age int);
然后插入一组数据
insert into children values(1,'yuanlief',23);
查询
select *from children;
数据库搞定,接下来是C语言部分。
C语言部分
insert.c 全部源码。/* insert.c */ #include <stdio.h> #include <stdlib.h> #include <mysql/mysql.h> int main(int argc, char *argv[]) { MYSQL my_connection; int res; mysql_init(&my_connection); /*mysql_real_connect(&mysql,主机名,用户名,密码,数据库名,0,NULL,0) == NULL)*/ /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/ if (mysql_real_connect(&my_connection, "localhost", "root", "123456","test",0,NULL,CLIENT_FOUND_ROWS)) { printf("Connection success\n"); res = mysql_query(&my_connection, "insert into children values(2,'yuanlifu',24)"); if (!res) { printf("Inserted %lu rows\n",(unsigned long)mysql_affected_rows(&my_connection)); /*里头的函数返回受表中影响的行数*/ } else { //分别打印出错误代码及详细信息 fprintf(stderr, "Insert error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); } mysql_close(&my_connection); } else { fprintf(stderr, "Connection failed\n"); if (mysql_errno(&my_connection)) { fprintf(stderr, "Connection error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); } } return 1;// "EXIT_SUCCES"; }
然后编译
gcc -o insert insert.c
爆出大量未定义标识符的错误!应该是GCC编译器没有找到头文件。
各种纠结,不知怎么办。。。。。。
这里省略三千字纠结!
从一位大神那里找到这个解决办法,编译成功!
gcc -o insert insert.c -lmysqlclient -I/usr/include/mysql -L/usr/lib64/mysql
但是这个也可以编译
gcc -o insert insert.c -lmysqlclient -L/usr/lib64/mysql
这两个后缀缺一不可!
运行:
./insert
查看一下数据库:
select *from children;
插入成功!
相关文章推荐
- 在Linux下用C语言操作数据库sqlite3(插入)
- c#批量插入数据到数据库【支持事务操作】
- 在Linux下用C语言操作数据库sqlite3(查询)
- JDBC实现数据库的几种基本操作(查询,分页查询,根据关键字进行查询以及插入数据)
- SQL server触发器、存储过程操作远程数据库插入数据,解决服务器已存在的问题
- 精通数据库SQL——数据插入操作
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
- 在Linux下用C语言操作数据库sqlite3(查询)
- 4.windows和Linux下创建oracle用户名表空间,表,插入数据,用户管理表等操作
- DataTable 数据更新、删除、插入 数据库 操作
- 学习操作oracle.sql.Blob数据类型,向数据库插入Blob数据类型的数据
- 如果此处不对数据库进行关闭,将无法完成下一步的数据插入操作!
- python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)
- yii 添加,操作成功,但数据并没有插入到数据库中
- c#批量插入数据到数据库【支持事务操作】
- Android数据库操作-正确的把数据插入到数据库中
- Android数据库操作-正确的把数据插入到数据库中(2)
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- (一个代码学会c语言操作数据库)linux上通过c语言操作数据库实现基本的学生信息管理系统(增、删、查、改‘显示)