MySQL常用字符串函数如下:
CHARSET(str) //返回字符串字符集
CONCAT (string2 [,… ]) //连接字符串
INSTR (string ,substring ) //返回substring首次在字符串中出现的位置,不存在返回0
LCASE (string ) //字符串转换成小写
LEFT (string ,length ) //从字符串中的左边起取length个字符
LENGTH (string ) //字符串长度
LOAD_FILE (file_name ) //从文件读取内容
LOCATE (substring , string [,start_position ] ) 同INSTR,但可指定开始位置
LPAD (string ,length ,pad ) //重复用pad加在字符串开头,直到字串长度为length
LTRIM (string2) //去除字符串前端空格
REPEAT (string ,count ) //重复count次
REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str
RPAD (string ,length ,pad) //在字符串后用pad补充,直到长度为length
RTRIM (string) //去除字符串后端空格
STRCMP (string1 ,string2 ) //逐字符比较两字串大小,
SUBSTRING (str , position [,length ]) //从字符串的position开始,取length个字符,SUBSTR和SUBSTRIN函数功能一样。
注:MySQL中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1,position支持负数,如果为负数则从后面开始截取。
mysql>select substring(‘abcd’,0,2)
+———————–+
| substring(‘abcd’,0,2) |
+———————–+
| |
+———————–+
1 row in set (0.00 sec)
mysql>select substring(‘abcd’,1,2)
+———————–+
| substring(‘abcd’,1,2) |
+———————–+
| ab |
+———————–+
1 row in set (0.02 sec)
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //转换成大写
RIGHT(string2,length) //取string2最后length个字符
SPACE(count) //生成count个空格
参考:PHP程序员雷雪松的博客。
CDatabase类封装了MySQL数据库的功能,因此不具备通用性,只能在对MySQL的应用程序中使用。下面将根据C++要求及规范给出CDatabase类的具体结构以及相关简要介绍:class CDatabase
{ public: BOOL UnLockTable()//解锁 BOOL LockTable(char* TableName,char* PRIORITY)//加锁 int Reload()//重新登陆,非零时返回错误信息 char* GetState()//服务器状态 char* GetServerInfo()//服务器信息 int GetProtocolInfo()//协议信息 char* GetHostInfo()//主机信息 char * GetClientInfo()//客户机信息 char* GetFieldName(int FieldNum)//字段名 BOOL IsEnd()//是否最后 int DropDB(char *db)//删除数据库,非零时返回错误信息 void SeekData(int offset)//查找指定数据 int CreateDB(char *db)//创建数据库,非零时返回错误信息 void FreeRecord()//释放结果集 unsigned int GetFieldNum()//得到字段数 BOOL ConnectDB(Database_Param *p)//连接数据库 MYSQL_ROW GetRecord()//得到结果(一个记录) my_ulonglong GetRowNum()//得到记录数 BOOL SelectDB(Data_Param *para)//选择数据库 BOOL UpdateRecord(Data_Param *para)//更新记录 BOOL SelectRecord(Data_Param *para)//选择记录 BOOL InsertRecord(Data_Param *para)//插入记录 BOOL DelRecord(Data_Param *para)//删除记录 BOOL SelectAll(Data_Param *para)//选择所有记录 char * OutErrors()//输出错误信息 CDatabase()//初始化数据库 virtual ~CDatabase()//关闭数据库连接
private: MYSQL mysql//数据库连接句柄 MYSQL_RES *query//结果集 MYSQL_ROW row//记录集 MYSQL_FIELD *field//字段信息(结构体) BOOL FindSave(char *str)//查找并保存结果集 }
通过CDatabase类中定义的这些功能函数,我们可以通过远程或本机完成对MySQL数据库的绝大部分 *** 控,并且由于定义了解锁和加锁功能,使得应用程序能够多线程或多进程地访问数据库,大大提高了效能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)