当前位置: 首页 > news >正文

Apache局域网网站制作长沙网站免费建站

Apache局域网网站制作,长沙网站免费建站,网站服务器使用,上海装修公司排名榜十大品牌1、相关API 执行所有的sql语句都是mysql_query或者mysql_real_query mysql_query无法处理带有特殊字符的sql语句#xff08;如#xff1a;反斜杠0#xff09;mysql_real_query则可以避免#xff0c;一般使用这个。 mysql_affected_rows#xff1a;获取sql语句执行结果影响…1、相关API 执行所有的sql语句都是mysql_query或者mysql_real_query mysql_query无法处理带有特殊字符的sql语句如反斜杠0mysql_real_query则可以避免一般使用这个。 mysql_affected_rows获取sql语句执行结果影响的行数mysql_insert_id插入数据返回主键id值mysql_num_rows获取select语句查询结果有多少条 my_ulonglong mysql_affected_rows(MYSQL *mysql);my_ulonglong mysql_insert_id(MYSQL *mysql);my_ulonglong mysql_num_rows(MYSQL_RES *res);2、创增删改 2.1、连接MySQL数据库 #include iostream #include mysql/mysql.h #include cstring #include sstream #include string #include unordered_mapusing namespace std; int main(int argc, char *argv[]) {MYSQL mysql;// 初始化mysql结构体并且初始化服务连接环境mysql_init(mysql);const char *host 127.0.0.1;const char *user root;const char *password 123456;const char *db cpp;int timeout 3;// 连接超时时长设置mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, timeout);// 断开重连设置int reconnect 1;mysql_options(mysql, MYSQL_OPT_RECONNECT, reconnect);// MySQL连接建立if(!mysql_real_connect(mysql, host, user, password, db, 3306, 0, 0)){std::cout mysql connect failed! mysql_error(mysql) std::endl;}else{std::cout mysql connect host success! std::endl;}mysql_close(mysql);return 0; }2.1、创建一张表 void create_table(MYSQL mysql) {string sql CREATE TABLE IF NOT EXISTS user (\id int(10) unsigned NOT NULL AUTO_INCREMENT,\username varchar(255) NOT NULL,\password varchar(255) NOT NULL,\PRIMARY KEY (id)\) ENGINEInnoDB DEFAULT CHARSETutf8;;if(mysql_real_query(mysql, sql.c_str(), sql.length()) ! 0){cout mysql_query failed! endl;} }2.2、插入数据 void insert_data(MYSQL mysql) {string sql insert into user(username, password) values (Splay, 123456);;if(mysql_real_query(mysql, sql.c_str(), sql.length()) 0){int affect_count mysql_affected_rows(mysql);cout insert data success, affect count affect_count , id mysql_insert_id(mysql) endl;}else{cout insert data failed! sql sql , error msg mysql_error(mysql) endl;}for(int i 2;i 1000;i){stringstream ss;ss insert into user(username, password) values (Splay, i _123456);;sql ss.str();int insert_result mysql_real_query(mysql, sql.c_str(), sql.length());if(insert_result 0){int affect_count mysql_affected_rows(mysql);cout insert data success, affect count affect_count , id mysql_insert_id(mysql) endl;}else{cout insert data failed! sql sql , error msg mysql_error(mysql) endl;}} }2.3、更改数据 void update_data(MYSQL mysql) { // string sql update user set username Admin, password admin where id 1; // int update_result mysql_real_query(mysql, sql.c_str(), sql.length());unordered_mapstring, string update_map;update_map[username] Admin;update_map.insert(make_pair(password, hello));string sql update user set ;string condition where id 10;for(auto it update_map.begin();it ! update_map.end();it){sql it-first it-second , ;}sql id id ;sql condition;int update_result mysql_real_query(mysql, sql.c_str(), sql.length());if(update_result 0){int affect_count mysql_affected_rows(mysql);cout update data success, affect count affect_count endl;}else{cout update data failed! sql sql , error msg mysql_error(mysql) endl;} }2.4、删除和清空 void delete_data_or_table(MYSQL mysql) {string sql delete from user where id 1000; // 删除id 1000的数据 // string sql truncate table user; // 清空整张表主键从0开始 // string sql drop table user; // 删除所有数据和整张表int delete_result mysql_real_query(mysql, sql.c_str(), sql.length());if(delete_result 0){int affect_count mysql_affected_rows(mysql);cout delete data success, affect count affect_count endl;}else{cout delete data failed! sql sql , error msg mysql_error(mysql) endl;} }3、同时执行多条sql语句 C/C也提供了通知允许多条语句的执行查询、执行、结果集等 需要再创建连接是在最后的clientflag参数指定默认并不支持 #define CLIENT_MULTI_STATEMENTS (1UL 16) /* Enable/disable multi-stmt support */ #define CLIENT_MULTI_RESULTS (1UL 17) /* Enable/disable multi-results */ #define CLIENT_PS_MULTI_RESULTS (1UL 18) /* Multi-results in PS-protocol */ #define CLIENT_MULTI_QUERIES CLIENT_MULTI_STATEMENTS mysql_real_connect(mysql, host, user, password, db, 3306, 0, CLIENT_MULTI_QUERIES);3.1、案例使用代码 mysql_field_count可以获取select查询到的字段数目通过查询到的字段数目可以判断是否是select操作mysql_next_result传入结果集MYSQL_RES *指针返回-1表示没有下一条的执行结果反馈了返回0表示有。 // MySQL连接建立if(!mysql_real_connect(mysql, host, user, password, db, 3306, 0, CLIENT_MULTI_QUERIES)){std::cout mysql connect failed! mysql_error(mysql) std::endl;}else{std::cout mysql connect host success! std::endl;}// 1. 删除表、创建表string sql DROP TABLE IF EXISTS user;\CREATE TABLE IF NOT EXISTS user (\id int(10) unsigned NOT NULL AUTO_INCREMENT,\username varchar(255) NOT NULL,\password varchar(255) NOT NULL,\PRIMARY KEY (id)\) ENGINEInnoDB DEFAULT CHARSETutf8;;// 2. 增加1000条数据for(int i 1;i 1000;i){stringstream ss;ss insert into user(username, password) values (Splay, i _123456);;sql ss.str();}// 3. 更改数据unordered_mapstring, string update_map;update_map[username] Admin;update_map.insert(make_pair(password, hello));sql update user set ;for(auto it update_map.begin();it ! update_map.end();it){sql it-first it-second , ;}sql id id where id 10;;// 4. 删除数据sql delete from user where id 10;; // 删除id 1000的数据// 5. 查询数据sql select *from user;;int execute_result mysql_real_query(mysql, sql.c_str(), sql.length());if(execute_result ! 0){cout execute multi statement error! mysql_error(mysql) endl;}cout mysql_next_result(mysql) mysql_next_result(mysql) endl;do{MYSQL_RES *result mysql_store_result(mysql);if(result){ // 结果集不为空表示select语句获得了查询结果cout select get result rows mysql_num_rows(result) endl;mysql_free_result(result);}else{if(mysql_field_count(mysql)){ // select 有字段但是没有结果 查询出错cout Not Retrieve Result! endl;}else{ // update、delete、insert、truncate、drop、create...cout execute affect rows mysql_affected_rows(mysql) endl;}}}while(mysql_next_result(mysql) 0);cout mysql_next_result(mysql) mysql_next_result(mysql) endl;4、总结 C/C操纵数据库的方式便捷性太差虽然JDBC的也很烂但是JDBC有开源的ORM框架mybatis、jooq、hiberate、springdata…不敢想象如果全裸使用C/C写一些业务会有多痛苦捂脸
http://www.dnsts.com.cn/news/15280.html

相关文章:

  • 如何自己做电影网站北京建筑设计院排名推荐
  • 兰溪自适应网站建设特点乐平网站
  • 怎么查询网站备案接入商淘宝客网站女装模板下载
  • 聊城做网站推广找谁500个公司取名大全
  • 网站开发 问题 关键技术域名查询 阿里云
  • 模仿淘宝网站域名注册信息查询whois
  • 十大网站app软件下载做ui的网站有哪些
  • dw网站制作南头网站建设
  • 移动网站建设自助建站电脑系统下载官方网站
  • 西安建设网站公司哪家好网站管理员是什么意思
  • 网站建设和后台空间管理关系淄博做域名的公司
  • 东至网站定制上海seo搜索优化
  • 专门学设计的网站wordpress微信文章采集
  • 昆明 做网站 vr海外网站推广的公司
  • wordpress响应式电商做外贸seo优化的公司
  • 网站备案 99厦门市建设局电工报名网站
  • 做二手电脑的网站一达通外贸综合服务平台登录
  • h5网站如何做排名手机网站建设原则
  • 公司做网站可以永久买断吗网站建设与运营的市场
  • 网站建设顶层设计龙华网站设计
  • 哪些是实名制网站广西网站制作
  • 个人建一个网站多少钱中咨城建设计南京网站
  • 什么网站做兼职最好山东省住房和城乡建设厅网站电话
  • 网站快速优化排名免费php做网站首页修改
  • 招聘网站上还要另外做简历吗创建门户网站的方案
  • 免费可商用的素材网站营销型网站.
  • 手机网站商城源码网站建设如何缴纳印花税
  • 临沂手机端建站模板徐州网站优化
  • 上海知名的网站建设网站开发技术项目代码搜索
  • 网站开发制作公司网站开发的好处