CentOS中利用C语言操作MySQL,插入日期和时间
2016-04-05 21:51
603 查看
最近租用了一个云服务器,操作系统为CentOS6.5 64bit,搭建的LAMP环境,刚开始在bash shell中通过嵌入PHP来进行socket编程和mysql操作,不知什么原因总是会生成一个新进程阻碍程序重新执行,遂移步C语言来操作socket和mysql。
==============================================================================
进入正题:
利用PHP向MySQL的某一数据库的表中插入数据时,有时需要插入当时的时间的日期,所以会使用curtime()和curdate()两个函数,可谓省时省力,语言如下:
INSERT INTO db_test(date,time) VALUES(curdate(),curtime())
转战C语言后,同样需要进行相同的操作时,通过百度发现搜索的文章中都是利用locatetime()来获取时间后,再对字符串进行处理,鄙人感觉着实麻烦,遂抱着试一试的态度仍然使用 INSERT INTO db_test(date,time) VALUES(curdate(),curtime())
来对数据库进行操作,发现可行。
过程如下:
1、编写代码
vim mysql.c
2、编译并执行
gcc -L/usr/local/mysql/lib -lmysqlclient -o mysql mysql.c
./mysql
如图所示,则MySQL操作成功
![](https://img-blog.csdn.net/20160407190148590?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
3、登录phpmyadmin验证是否成功插入
如图:
![](https://img-blog.csdn.net/20160407190208575?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
/*******************************************THE END*************************************************/
==============================================================================
进入正题:
利用PHP向MySQL的某一数据库的表中插入数据时,有时需要插入当时的时间的日期,所以会使用curtime()和curdate()两个函数,可谓省时省力,语言如下:
INSERT INTO db_test(date,time) VALUES(curdate(),curtime())
转战C语言后,同样需要进行相同的操作时,通过百度发现搜索的文章中都是利用locatetime()来获取时间后,再对字符串进行处理,鄙人感觉着实麻烦,遂抱着试一试的态度仍然使用 INSERT INTO db_test(date,time) VALUES(curdate(),curtime())
来对数据库进行操作,发现可行。
过程如下:
1、编写代码
vim mysql.c
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql/mysql.h> #include <mysql/errmsg.h> #include <mysql/mysqld_error.h> MYSQL conn; void connection(const char* host, const char* user, const char* password, const char* database) { mysql_init(&conn); if (mysql_real_connect(&conn, host, user, password, database, 0, NULL, 0)) { printf("Connection success!\n"); } else { fprintf(stderr, "Connection failed!\n"); //stderr为标准错误输出,一般输出到屏幕上 if (mysql_errno(&conn)) { fprintf(stderr, "Connection error %d: %s\n", mysql_errno(&conn), mysql_error(&conn)); } exit(EXIT_FAILURE); } } void insert(void) { int result = mysql_query(&conn, "INSERT INTO db_test(date,time) VALUES(curdate(),curtime())"); if (!result) { printf("Inserted %lu rows\n", (unsigned long)mysql_affected_rows(&conn)); } else { fprintf(stderr, "Insert error %d: %s\n", mysql_errno(&conn), mysql_error(&conn)); } } int main (int argc, char *argv[]) { connection("localhost", "root", "password", "db_name"); //注意修改password和db_name为实际需要的密码和库名 insert(); mysql_close(&conn); exit(EXIT_SUCCESS); }
2、编译并执行
gcc -L/usr/local/mysql/lib -lmysqlclient -o mysql mysql.c
./mysql
如图所示,则MySQL操作成功
3、登录phpmyadmin验证是否成功插入
如图:
/*******************************************THE END*************************************************/
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- 如何组织构建多文件 C 语言程序(二)
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- Centos6 编译安装Python
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 硬盘安装CentOS 6.2以及添加GRUB启动菜单
- MySQL 备份和恢复策略
- CentOS 6.2实战部署Nginx+MySQL+PHP
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)