随笔分类 - 数据库
数据库
摘要:mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)
mysql字符串拼接cancat实战例子:
mysql update set 多个字段相加,如果是数字相加可以直接用+号(注: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语句?
$Model = new Model();//或者 $Model = D(); 或者 $Model = M();
$sql = "select * from `order`";
$voList = $Model->query($sql);
只是需要new一个空的模型继承Model中的方法。
注意query是查功能,execute是增删改功能
阅读全文
摘要:php array_multisort对数据库结果多个字段进行排序.
array_multisort($is_activity,SORT_DESC,$start_time, SORT_DESC, $goods);
阅读全文
摘要:mysql创建外链失败1005错误解决方法
错误原因有四:
1、外键的引用类型不一样,主键是int外键是char,或者大小不一样也不行,int(11位) bigint(20位)
2、找不到主表中 引用的列
3、主键和外键的字符编码不一致
4、要先建立索引,没有建立索引也会出错。
阅读全文
摘要:mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写
一直习惯用sqlyog来管理mysql数据库,但有三个地方用得不是很爽:
1.默认查询条数只有1000条经常需要勾选掉重新查询。
2.自动替换关键字大小写,有时候字段名为关键字的搞成大写的在Linux服务器不忽略大小写时执行就报错了,有时候为了代码统一不希望改成大写的也不行。
3.感觉字体偏小
发现sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写的
阅读全文
摘要:redis安装 phpredis Jedis 扩展的实现及注意事项,php,java,python相关插件安装实例代码和文档推荐
1、Redis 官方网站下载: http://redis.io/download
第三方下载redis的windows应用程序,支持32位和64位,根据实际情况下载
下载地址: https://github.com/dmajkic/redis/downloads
2、将相应的程序copy到你所需要的目录中,在这里我使用的64位,放到E:\redis目录
3、启动redis服务端:打开一个cmd窗口,先切换到redis所放目录(E:\redis),运行 redis-server.exe redis.conf
注意redis.conf为配置文件,主要配置了redis所使用的端口等信息(如果不写则默认redis.conf)
阅读全文
摘要:mysql删除有外链索引数据,Cannot delete or update a parent row: a foreign key constraint fails 问题的解决办法
该条记录的某个字段作为innodb的另外一个表的外链。而在删除操作时会自动检查外链。
解决办法一:先判断删除关联数据,然后再删除(这样比较符合业务逻辑比较安全)。
解决办法二:不检查外链,设置FOREIGN_KEY_CHECKS变量:
SET FOREIGN_KEY_CHECKS = 0;
DELETE FROM `goods` WHERE `goods_id` = '11'
删除完成后设置
SET FOREIGN_KEY_CHECKS = 1;
阅读全文
摘要:Mysql初始化root密码和允许远程访问
mysql默认root用户没有密码,输入mysql –u root 进入mysql
方法1: 用SET PASSWORD命令mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2: mysql>update user set password=PASSWORD(‘123456’) where user='root';
允许mysql远程访问,可以使用以下三种方式:
a、改表。
阅读全文
摘要:MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。#查询某个字段后两位字符
select right(last3, 2) as last2 from historydata limit 10;
#从应该字段取后两位字符更新到另外一个字段
update `historydata` set `last2`=right(last3, 2);
阅读全文
摘要:mysql 替换字符串的实现方法:
mysql中replace函数直接替换mysql数据库中某字段中的特定字符串,不再需要自己写函数去替换,用起来非常的方便,mysql 替换函数replace()
Update `table_name` SET `field_name` = replace (`field_name`,’from_str’,'to_str’) Where `field_name` LIKE ‘%from_str%’
实例:把'病假' 替换为 '--':UPDATE users SET username=REPLACE(username,'病假','--') WHERE username LIKE '%病假%';
说明:
table_name —— 表的名字
field_name —— 字段名
from_str —— 需要替换的字符串
to_str —— 替换成的字符串
阅读全文
摘要:Maximum execution time of 30 seconds exceeded解决错误方法
Fatal error: Maximum execution time of 30 seconds exceeded
出现这个错误如何解决 去哪里可以设置最大执行时间
办法:
修改php.ini:
max_execution_time = 300 ,秒可以设置更大,然后重起服务
或者在程序写
set_time_limit(时间) //0为无限制
阅读全文
摘要:php mysqli query 查询数据库后读取内容的方法
阅读全文
摘要:用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表。
在MySQL数据库中,应该如何用sql将表数据复制到新表中呢?
本人通过试验测试成功了,而且相当简单易懂,速度也非常快。
CREATE TABLE 新表 SELECT * FROM 旧表
阅读全文
摘要:mysql 插入数据失败防止自增长主键增长的方法mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的?或者说mysql插入数据失败,怎么能防止主键增长?MYSQL不保证AUTO_INCREMENT依次增长(1,2,3,4,5),但是可以保证正向增长(1,3,5,9)所以,当你某次操作失败后,下次AUTO_INCREMENT就不是顺序的了。innodb的自增是缓存在内存字典中的,分配方式是先预留,然后再插入的。所以插入失败不会回滚内存字典。让innodb识别到
阅读全文
摘要:设置(更改)Mysql 自增ID的起始值
ALTER TABLE segwords AUTO_INCREMENT=790511;
阅读全文
摘要:PHP读取sphinx 搜索返回结果完整实战实例
sphinx,搜索,php,读取sphinx搜索结果
阅读全文
摘要:mysql合并 两个count语句一次性输出结果的方法
需求场景:经常要查看有两个表统计数,用SELECT COUNT(*) FROM hotcontents,SELECT COUNT(*) FROM hotwords 逐句查看结果很麻烦 不直观,
需要能够合并成一句sql执行后一次性输出两个统计结果。
SELECT COUNT(*) FROM hotcontents,hotwords 这样是不行的
SELECT COUNT(*) FROM hotcontents UNION SELECT COUNT(*) FROM hotwords
用联合查询union就可以了,输出两行记录,第一行是第一个语句的统计结果,第二行是第二句的统计结果
阅读全文
摘要:MySql修改端口号,修改my.ini的端口号就可以了,一般情况下都在安装目录下
如果不再的话,就找一下c:\windows、c:\windows\system32下面
例如我的在:D:\Program Files\MySQL\MySQL Server 5.1\my.ini
修改下面两个地方:
[client]
port=3306
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
如果提示修改不了可能需要把相关软件和服务先停掉,win7的可能要以管理员方式打开,修改后要重启服务才起作用。
阅读全文
摘要:删除android真机上数据库的方法
有没有啥好方法可以在用DDMS上的file explorer 删除真机上面的data/下面的数据库?
需要用RE管理器等修改那文件夹读写权限后才能操作的
或者你用adb命令su 执行下看看行不行?
修改了以后,可以删除数据库,但是,再生成数据库还得手动去修改那个数据库文件的权限.
每删除了那个数据库,再生成,就得再修改权限
卸载了程序会自动删除的,安装前卸载下就可以了。
可以写个bat文件调用adb的命令 一键实现先卸载再安装
阅读全文