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

贵阳响应式网站开发宁波网站建设网站开发

贵阳响应式网站开发,宁波网站建设网站开发,凡客现在官网都找不到了,网络营销公司策划方案目录 MySQL数据库数据类型 MySQL数据库命令执行 创建用户 创建删除库 创建删除表 MySQL数据库数据类型 MySQL数据库定义了多种数据类型#xff0c;下面是一些常见的MySQL数据类型及其对应的C/C类型#xff1a; 整数类型#xff1a; TINYINT#xff1a;有符号范围-1…目录 MySQL数据库数据类型 MySQL数据库命令执行 创建用户 创建删除库 创建删除表 MySQL数据库数据类型 MySQL数据库定义了多种数据类型下面是一些常见的MySQL数据类型及其对应的C/C类型 整数类型 TINYINT有符号范围-128到127无符号范围0到255。对应的C/C类型为signed char或unsigned char。SMALLINT有符号范围-32768到32767无符号范围0到65535。对应的C/C类型为short或unsigned short。INT有符号范围-2147483648到2147483647无符号范围0到4294967295。对应的C/C类型为int或unsigned int。BIGINT有符号范围-9223372036854775808到9223372036854775807无符号范围0到18446744073709551615。对应的C/C类型为long long或unsigned long long。 浮点数类型 FLOAT单精度浮点数。对应的C/C类型为float。DOUBLE双精度浮点数。对应的C/C类型为double。 字符串类型 CHAR固定长度字符串最多255个字符。对应的C/C类型为char数组。VARCHAR可变长度字符串最多65535个字符。对应的C/C类型为char数组或std::string。TEXT可变长度文本最多65535个字符。对应的C/C类型为char数组或std::string。 日期和时间类型 DATE日期格式为YYYY-MM-DD。对应的C/C类型为struct tm或std::string。TIME时间格式为HH:MM:SS。对应的C/C类型为struct tm或std::string。DATETIME日期和时间格式为YYYY-MM-DD HH:MM:SS。对应的C/C类型为struct tm或std::string。 其他类型 BOOLEAN布尔类型值为TRUE或FALSE。对应的C/C类型为bool。BLOB二进制大对象最多65535字节。对应的C/C类型为unsigned char数组。 MySQL数据库命令执行 执行命令的过程 发送SQL命令获取SQL执行结果解析获取到的结果 发送SQL命令接口 int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length); q是SQL指令length是指令的长度向MySQL服务器发送SQL指令 获取SQL执行结果接口 MYSQL_RES *STDCALL mysql_use_result(MYSQL *mysql); 释放结果接口 void STDCALL mysql_free_result(MYSQL_RES *result); 获取结果集列的数量 unsigned int STDCALL mysql_num_fields(MYSQL_RES *res); 获取结果集行的数量 my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res); 取结果中的行接口 MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); 获取每一行的长度接口 ​​​​​​​unsigned long *STDCALL mysql_fetch_lengths(MYSQL_RES *result); 获取结果集中每一列的定义接口 MYSQL_FIELD *STDCALL mysql_fetch_fields(MYSQL_RES *res);创建用户 CREATE USER 用户名范围 IDENTIFIED BY 密码; 范围包括ip、localhost、% ip即只能从指定地址登录localhost 即只能从本机登录% 即可以从任何地址登录 光创建用户并没有什么作用还需要授权操作表 GRANT privileges ON databasename.tablename TO 用户名范围 privileges可以是 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,EXECUTE,INDEX,REFERENCES ALTER ROUTINE,CREATE ROUTINE,CREATE TEMPORARY,SHOW VIEW,LOCK TABLES ALL databasename是库的名称可以填入*表示所有 tablename是表的名称可以填入*表示所有 有授权自然有撤销权限 REVOKE 权限 ON databasename.tablename FROM 用户名范围 #include iostream #include mysql.h#pragma comment(lib,libmysql.lib)int main() {MYSQL* mysql new MYSQL();//MYSQL mysql;//占用的是栈上的内存MYSQL* pDB mysql_init(mysql);if (pDB NULL) {std::cout mysql_init failed! std::endl;return -1;}pDB mysql_real_connect(pDB, localhost, root, 123456, mysql, 3306, NULL, 0);std::cout pDB std::endl;if (pDB) {std::string sql CREATE USER hellolocalhost IDENTIFIED BY 123456;int ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;}MYSQL_RES* result mysql_use_result(mysql);if (result ! NULL) {unsigned nFields mysql_num_fields(result);my_ulonglong nRows mysql_num_rows(result);MYSQL_FIELD* fields mysql_fetch_fields(result);for (unsigned i 0; i nRows; i) {MYSQL_ROW row mysql_fetch_row(result);if (row ! NULL) {for (unsigned j 0; j nFields; j) {std::cout type: fields[j].type fields[j].name : row[j] std::endl;}}std::cout std::endl;}mysql_free_result(result);}sql GRANT ALL ON *.* TO hellolocalhost;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {unsigned nFields mysql_num_fields(result);my_ulonglong nRows mysql_num_rows(result);MYSQL_FIELD* fields mysql_fetch_fields(result);for (unsigned i 0; i nRows; i) {MYSQL_ROW row mysql_fetch_row(result);if (row ! NULL) {for (unsigned j 0; j nFields; j) {std::cout type: fields[j].type fields[j].name : row[j] std::endl;}}std::cout std::endl;}mysql_free_result(result);}mysql_close(pDB);}delete mysql; } 创建删除库 MySQL如何创建数据仓库 CREATE DATABASE 数据仓库名; 数据库名称不要使用奇怪的或者特殊的符号例如空格、路径符、引号 MySQL如何指派仓库权限给用户 GRANT 权限 ON databasename.tablename TO 用户名范围 删除库 DROP DATABASE 数据仓库名; 切换数据库 USE 数据仓库名; 用户、数据库、表等等这些元素的创建一般是不会有返回结果 仅仅有一个返回值标明执行的结果是成功还是失败 测试代码 #include iostream #include mysql.h#pragma comment(lib,libmysql.lib)void show_result(MYSQL_RES* result) {unsigned nFields mysql_num_fields(result);my_ulonglong nRows mysql_num_rows(result);MYSQL_FIELD* fields mysql_fetch_fields(result);for (unsigned i 0; i nRows; i) {MYSQL_ROW row mysql_fetch_row(result);if (row ! NULL) {for (unsigned j 0; j nFields; j) {std::cout type: fields[j].type fields[j].name : row[j] std::endl;}}} }int main() {MYSQL* mysql new MYSQL();//MYSQL mysql;//占用的是栈上的内存MYSQL* pDB mysql_init(mysql);if (pDB NULL) {std::cout mysql_init failed! std::endl;return -1;}pDB mysql_real_connect(pDB, localhost, root, 123456, mysql, 3306, NULL, 0);std::cout pDB std::endl;if (pDB) {std::string sql CREATE DATABASE hello;int ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;}MYSQL_RES* result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}//授予权限sql GRANT ALL ON hello.* TO hellolocalhost;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}sql USE hello;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}sql DROP DATABASE hello;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}mysql_close(pDB);}delete mysql;return 0; } 创建删除表 CREATE TABLE IF NOT EXISTS 表名称 ( 列名称1 数据类型 关键字列表 默认值 ... )ENGINEInnoDB DEFAULT CHARSETutf8; 关键字和含义如下 AUTO_INCREMENT 自动增加只能用于整数类型列NOT NULL 列不能为空NULL 列可以为空PRIMARY KEY 主键 表中主键的值是唯一的可以用于标记和查找数据UNSIGNED 无符号的数只能修饰整数类型列DEFAULT 默认值  用于指定列的默认值UNIQUE 唯一 该列的要么为NULL要么就必须是唯一的不可重复ZEROFILL  0值填充如果没有指定该列的值则会填入0 以下为删除MySQL数据表的通用语法 DROP TABLE 表名称 ; 主键的数据类型它不能是可变长度的类型例如TEXT、BLOB 表名需要使用符号来包围千万不能使用单引号 测试代码 #include iostream #include mysql.h#pragma comment(lib,libmysql.lib)void show_result(MYSQL_RES* result) {unsigned nFields mysql_num_fields(result);my_ulonglong nRows mysql_num_rows(result);MYSQL_FIELD* fields mysql_fetch_fields(result);for (unsigned i 0; i nRows; i) {MYSQL_ROW row mysql_fetch_row(result);if (row ! NULL) {for (unsigned j 0; j nFields; j) {std::cout type: fields[j].type fields[j].name : row[j] std::endl;}}} }int main() {MYSQL* mysql new MYSQL();//MYSQL mysql;//占用的是栈上的内存MYSQL* pDB mysql_init(mysql);if (pDB NULL) {std::cout mysql_init failed! std::endl;return -1;}pDB mysql_real_connect(pDB, localhost, root, 123456, mysql, 3306, NULL, 0);std::cout pDB std::endl;if (pDB) {std::string sql CREATE DATABASE hello;int ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;}MYSQL_RES* result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}//授予权限sql GRANT ALL ON hello.* TO hellolocalhost;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}sql USE hello;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}result mysql_use_result(mysql);if (result ! NULL) {show_result(result);std::cout std::endl;mysql_free_result(result);}sql CREATE TABLE IF NOT EXISTS hello (编号 NVARCHAR(16) PRIMARY KEY)ENGINEInnoDB DEFAULT CHARSETutf8;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}sql DROP TABLE hello;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}sql DROP DATABASE hello;;ret mysql_real_query(pDB, sql.c_str(), (unsigned long)sql.size());if (ret ! 0) {std::cout mysql error: mysql_error(pDB) std::endl;return -1;}mysql_close(pDB);}delete mysql;return 0; }
http://www.pierceye.com/news/251054/

相关文章:

  • 西安哪些做网站的公司好做电子商务网站的意义
  • 圣融网站建设包装设计网站是什么样子的
  • 网站建设的利润设计宝
  • 厦门网站制作案例dede做手机网站
  • 网站建设 环保 图片重庆信息网
  • 做网站的主流软件珠海网站建设珠海
  • 江门市网站建设 熊掌号wordpress分类不显示图片
  • 上海做网站技术有趣的网站小游戏
  • 网站建设需要哪些内容中国建设银行对公网站
  • 网站菜单实现原理全网营销外包
  • 江阴招聘网站建设学徒开源网站开发文档下载
  • 金融网站开发公司六安城市网新闻
  • 什邡网站建设公司linux怎么使用wordpress
  • 安阳网站建设公司网络推广的目标
  • 人像摄影网站有哪些贵阳网站制作企业
  • 山西山西省建设厅网站首页哪个网站做分享赚佣金
  • 曲靖网站制作一条龙赣州章贡区邮政编码是多少
  • 海南省网站设计公司网址百度小说风云榜排名
  • 刷网站关键词排名原理寮步建设网站
  • 银川网站建设一条龙服务服装行业网站模板
  • 重庆建站程序建筑网站起名
  • 便宜网站制作wordpress函数手册
  • 适合在家做的网站工作做音乐网站要求
  • 在哪个网站做视频赚钱的建设彩票网站需要多少投资
  • 大连网站建设意动科技推荐做那个的电影网站
  • 博达 网站群建设wordpress打开乱码
  • 电商网站建设代理商定制网站开发介绍图
  • 网站系统问题解决措施上海网站建设系
  • c 做网站简单吗ui设计需要学什么软件
  • 网站建设app开发公司国内免备案空间