最近项目中接触到了mySql,把经常用到的MySql语句记录下来,方便以后随时查阅。
1.密码加密
表结构如下
INSERT INTO tbl_userinfo ( vc_accname,vc_username,vc_pwd,vc_phone,i_role_id,dt_creatTime) VALUES ('%s','%s',AES_ENCRYPT(('%s'), 'Wang'),'%s',%d,NOW())
该表主要在插入用户信息表的时候将传入的密码在数据库中进行AES对称加密,秘钥为Wang。此时密码在数据库中存的就是密文,起到了一定的保密作用。
解密时使用AES_DECRYPY((‘%s’), ‘Wang’)进行解密。
2.关键字搜索
当前端想要对用户信息表进行关键字查询,关键字搜索的字段是账号名、用户名、手机号。那么sql语句可以这样写:
select vc_accname,vc_username,vc_phone from tbl_userinfo where concat(vc_accname, vc_username, vc_phone) like '%%%s%%';, keywordstr.c_str();
注意,使用like '%%%s%%'可能会出现中文搜索信息不准确的情况,我们需要将concat里的字段名自己调整下位置,说不定会有奇效。
3.多表连接
select A.name,B.score from A inner join B on A.num=B.num;
链接A、B表,通过A表的num和B表的num。