mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别

mysql字段varchar区分大小写utf8_bin、utf8_general_ci编码区别在mysql中存在着各种utf8编码格式:utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。utf8_genera_ci不区分大小写,ci为caseinsensitive的缩写,即大小写不敏感。utf8_general_cs区分大小写,cs为casesensitive的缩写,即大小写敏感。用utf8_genera_ci没有区分大小写,导致这个字段的内容区分大小写时出问题,比如作为区分大小写的code或者验证码时就出问题了。utf8_general_cs这个选项一般没有,所以只能用utf8_bin区分大小写mysql对于类型为varchar数据默认不区分大小写,字段以“utf8_bin”编码使其区分大小写。`code`varchar(20)CHARACTERSETutf8COLLATEutf8_binDEFAULTNULLCOMMENT'唯一码' ...

Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值

Thinkphp用exp表达式执行mysql语句,查询某字段不为空isnotnull,自动增值Thinkphp的文档经常不够完整的表达MYSQL的各种组合,isnotnull在thinkphp中就不能用“=”或者简单的eq等来表示。TP支持MYSQL不为空的array编写方式:$data=D('tablename');$map=array();$map['pic']=array('exp','isnotnull');其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加该写法同时支持在update中对字段进行自动增值比如:SQL语句updatetablesetdata=data+1;用THINKPHP可以表达为$data['data']=array('exp','data+1');$table->where(1)->save($data); ...

mysql对比表结构对比同步,sqlyog架构同步工具

mysql对比表结构对比同步,sqlyog架构同步工具对比后的结果示例:执行后的结果示例:点击:"另存为(S)"按钮可以把更新sql导出来。 ...

mysql datetime设置now()无效,直接用程序设置默认值比较好

mysqldatetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞。想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRENT_TIMESTAMP在MySQL5.0以上版本中也可以使用trigger来实现此功能。createtabletest_time(idint(11),create_timedatetime);delimiter|createtriggerdefault_datetimebeforeinsertontest_timeforeachrowifnew.create_timeisnullthensetnew.create_time=now();endif;|delimiter;直接用程序设置默认值比较好...

MySQL数据库读写分离、读负载均衡方案选择

MySQL数据库读写分离、读负载均衡方案选择一、MySQLCluster外键所关联的记录在别的分片节点中性能很差对需要进行分片的表需要修改引擎Innodb为NDB因此MySQLCluster不适合存在大量外键约束,引擎为Innodb的数据库二、GaleraCluster多个服务能同时被读写,无延迟复制,不会产生数据丢失热备用。支持InnoDB引擎对应用程序透明:应用程序不需作修改。新增服务器时,不需手工复制数据库到新的节点。应用案例超过2000多家外国企业使用。GaleraClusterforMySQL|Theworld'smostadvancedopensourcedatabaseclusterhttp://galeracluster.com/MariaDB Galera Cluster集群优缺点_mailrun_新浪博客http://blog.sina.com.cn/s/blog_548c8a830102vrgw.htmlCentOS6下安装部署GaleraClusterforMySQL集群_数据库技术_Linux公社-Linux系统门户网站http://www...

ThinkPHP CURD mysql操作

ThinkPHPCURD操作ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建、更新、读取和删除的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多实用的数据操作方法。CURD操作通常是可以和连贯操作配合完成的。下面来分析下各自的用法:(下面的CURD操作我们均以M方法创建模型实例来说明,因为不涉及到具体的业务逻辑)http://doc.thinkphp.cn/manual/curd.html创建(Create)在ThinkPHP中使用add方法新增数据到数据库(而并不是create方法)。add写入(新增)数据到数据库用法add($data='',$options=array(),$replace=false)参数data(可选):要新增的数据,支持数组和对象,如果留空取当前数据对象options(可选):操作表达式,通常由连贯操作完成,默认为空数组replace(可选):是否允许写入时更新,默认为false(个别数据库支持)回调接口写入前_before_insert(&$data,$options)写入成功_after_ins...

PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word

PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型)环境:powderdesigner12.5;mysql5.0步骤:1、为指定的数据库配置mysql的ODBC数据源先下载一个mysql的odbc的connector,可以到mysql官方网站下载(我使用的是mysql-connector-odbc-5.1.8-win32.msi。http://yuyuyuyuy.download.csdn.net/这里也有免费的)mysql的ODBC数据源,并安装。如果不行就下载更高版本的安装,mysql也可以下载对应版本安装,端口号可以用非3306的。你用的32位的mysql,那么你应该用32位的odbc配置管理器,而不是系统菜单默认的64位ODBC配置,请在WindowsSysWOW64下找到32位的ODBC配置工具odbcad32.exe,运行它,然后配置你需要的DSN。最后程序连接,测试OK。安装后鼠标点击电脑里的开始—>程序—>管理工具—>数据源ODBC—>跳出ODBC数据源管理器,点击添加,在跳...

Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?

Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空isnotnull?先上两种实现方式的实例:$querys["house_type_image"]=array('NEQ','NULL');//判断字段不为空//$querys["house_type_image"]=array('exp','isnotnull');//其中的exp表示MYSQL的表达式查询,支持各种MYSQL语句的添加-------------------------Thinkphp中查询复杂的情况需要使用查询表达式,使用格式:$map['字段名']=array('表达式','查询条件');表达式不分大小写,支持的查询表达式有下面几种,分别表示的含义是:表达式含义EQ等于(=)NEQ不等于(<>)GT大于(>)EGT大于等于(>=)LT小于(<)ELT小于等于(<=)LIKE模糊查询[NOT]BETWEEN(不在)区间查询[NOT]IN(不在)IN查询EXP表达式查询,支持SQL语法示例见Thinkphp的官方文档。官方文档中没有查询某字段为空的例子,试...

mysql count group by统计条数方法

mysqlcountgroupby统计条数方法mysql分组之后如何统计记录条数?gourpby之后的count,把groupby查询结果当成一个表再count一次selectcount(*)ascountfrom(SELECTcount(*)FROM表名WHERE条件GROUPBYid)a;实战例子:selectcount(*)astotalfrom(selectcount(*)fromusersgroupbyuser_id)u...

mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子

mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子:mysqlupdateset多个字段相加,如果是数字相加可以直接用+号(注:hundred,ten,one字段为int类型):update`ssc`.`historydata`set`last3`=hundred+ten+one如果是把几个字段的内容当成字符串拼接可以使用CONCAT函数:update`ssc`.`historydata`set`last3`=concat(hundred,ten,one)...

在thinkphp里面执行原生的sql语句

在thinkphp里面执行原生的sql语句怎样在thinkphp里面执行原生的sql语句?$Model=newModel();//或者$Model=D();或者$Model=M();$sql="select*from`order`";$voList=$Model->query($sql);只是需要new一个空的模型继承Model中的方法。注意query是查功能,execute是增删改功能-----------------------------------------------查询和读取属性值的实例:$sql="select*fromgoods";$Model=M();$result=$Model->query($sql);foreach($resultas$k=>$val){$goods_id=$val["goods_id"];}================================================tP的模型可以支持原生SQL操作,提供了query和execute两个方法,为什么原生SQL还要区分两个方法呢,原因有两个:1、返回类型不同q...

mysql创建外链失败1005错误解决方法

mysql创建外链失败1005错误解决方法错误号:1005错误信息:Can'tcreatetable'webDB.#sql-397_61df'(errno:150)解决方法错误原因有四:1、外键的引用类型不一样,主键是int外键是char,或者大小不一样也不行,int(11位)bigint(20位)2、找不到主表中引用的列3、主键和外键的字符编码不一致4、要先建立索引,没有建立索引也会出错。本人错误原因是1,将外键所在的表的字段为int改成跟主表一致的bigint就不报这个错误了。已执行的SQL语句:Altertable`webDB`.`adm_house_layout`addconstraint`FK_Relationship_911`foreignkey(`house_type_id`)references`webDB`.`adm_recommend_house`(`r_id`)错误号:1005错误信息:Can'tcreatetable'webDB.#sql-397_61df'(errno:150)错误号:1452错误信息Cannotaddorupdateachildrow:afo...

mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写

sqlyog设置一直习惯用sqlyog来管理mysql数据库,但有三个地方用得不是很爽:1.默认查询条数只有1000条经常需要勾选掉重新查询。2.自动替换关键字大小写,有时候字段名为关键字的搞成大写的在Linux服务器不忽略大小写时执行就报错了,有时候为了代码统一不希望改成大写的也不行。3.感觉字体偏小发现sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写的sqlyog--工具--首选项--字体编辑器设置--字体大小和改写关键字大小写sqlyog--工具--首选项--其他--不要闯进区块设置默认查询分页行数默认限制行的还是去不掉,勾选去掉一次后下次会记住选择 ...

mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法

mysql删除有外链索引数据Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails问题的解决办法查询:DELETEFROM`goods`WHERE`goods_id`='11'错误代码:1451Cannotdeleteorupdateaparentrow:aforeignkeyconstraintfails(`webDB`.`goods_properties_detail`,CONSTRAINT`FK_rip_43`FOREIGNKEY(`goods_id`)REFERENCES`goods`(`goods_id`))以上是因为,该条记录的某个字段作为innodb的另外一个表的外链。而在删除操作时会自动检查外链。解决办法一:先判断删除关联数据,然后再删除(这样比较符合业务逻辑比较安全)。解决办法二:不检查外链,设置FOREIGN_KEY_CHECKS变量:SETFOREIGN_KEY_CHECKS=0;DELETEFROM`goods`WHERE`goods_id`='11'删除完成后设置SETFOREIGN_KEY_CHEC...

Mysql初始化root密码和允许远程访问

Mysql初始化root密码和允许远程访问mysql默认root用户没有密码,输入mysql–uroot进入mysql方法1:用SETPASSWORD命令mysql-urootmysql>SETPASSWORDFOR'root'@'localhost'=PASSWORD('newpass');方法2:mysql>updateusersetpassword=PASSWORD(‘123456’)whereuser='root';允许mysql远程访问,可以使用以下三种方式:a、改表。mysql-uroot–pmysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>selecthost,userfromuser;b、授权。例如,你想root使用123456从任何主机连接到mysql服务器。mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTIO...
首页上一页...786787788789790...下一页尾页