mysql存储日期的方式
最近遇到了在MYSQL里存储日期的一些问题。之前日期存储的格式如(2011-07-08 16:30:45),后来在使用时发现有些不便。查了一下,发觉使用UNIX时间戳是很好的办法。UNIX时间戳是以UTC时间1970年1月1日 00:00:00作为0值,离这个时间每过1秒,数值增加1。 (更多…)
最近遇到了在MYSQL里存储日期的一些问题。之前日期存储的格式如(2011-07-08 16:30:45),后来在使用时发现有些不便。查了一下,发觉使用UNIX时间戳是很好的办法。UNIX时间戳是以UTC时间1970年1月1日 00:00:00作为0值,离这个时间每过1秒,数值增加1。 (更多…)
这几天开始折腾LNMP,说实在的LNMP组合确实强大。不过对于WINDOWS的用户来说上手太难了。好在10年前我学过DOS,也还算比较了解,对于LNMP下要用命令来配置,还是值得学习。嗯,以后会收集记录一个LNMP的使用文章。什么是LNMP?就是Linux+Nginx+MySQL+PHP。 (更多…)
昨天不知是什么原因,网站的MYSQL数据库突然提示“is marked as crashed and last (automatic?) repair failed”采用phpmyadmin进行查看时,发现有个表由原来28M的变成了8M,并且提示这个表正在使用中。开始试着用phpmyadmin直接进行修复操作,但问题仍然存在。
开始认为文件损坏不能再修复回来。只好找来备份的SQL文件还原到一个临时的数据库中,并复制这个表的MYD替换掉正在使用的数据库中。虽然网站能访问了,可数据却不存并,备份中里的数据也显示不出来。 (更多…)
有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上
要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现. (更多…)
以前在群里讨论过这个问题,比较的有意思.MySQL的语法真好玩.他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询.翻了手册,找到了下面这个语句,可以完成任务了。 rand在手册里是这么说的:
RAND()
RAND(N)
返回在范围0到1.0内的随机浮点值。如果一个整数参数N被指定,它被用作种子值。 你不能在一个ORDER BY子句用RAND()值使用列,因为ORDER BY将重复计算列多次。然而在MySQL3.23中,你可以做: SELECT * FROM table_name ORDER BY RAND(),这是有利于得到一个来自SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000的集合的随机样本。注意在一个WHERE子句里的一个RAND()将在每次WHERE被执行时重新评估。
但我试了一下,8千条记录的表,执行一次需要0.08 sec,.慢了些
后来请教了google,得到如下代码 执行效率需要0.02 sec.可惜的是,只有mysql 4.1.*以上才支持这样的子查询.
以上内容转载.
我们讨论的是数据库性能优化的另一方面,即运用数据库服务器内建的工具辅助性能分析和优化。
▲ SHOW
执行下面这个命令可以了解服务器的运行状态:MySQL >show status;
该命令将显示出一长列状态变量及其对应的值,其中包括:被中止访问的用户数量,被中止的连接数量,尝试连接的次数,并发连接数量最大值,以及其他许多有用的信息。这些信息对于确定系统问题和效率低下的原因是十分有用的。
SHOW命令除了能够显示出MySQL服务器整体状态信息之外,它还能够显示出有关日志文件、指定数据库、表、索引、进程和许可权限表的宝贵信息。 (更多…)
使用distinct在MySQL中查询多条不重复记录值的解决办法
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。所以我花了很多时间来研究这个问题,网上也查不到解决方案,结果很郁闷了。。。。。。。。。 (更多…)
1、选取最适用的字段属性
MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。
另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。
对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。
(更多…)
由于WINDOWS系统的命令行下没有发送邮件的命令,所以我们需要通过第三方来实现。现在Simonsu推荐febootimail这个功能强大的工具。用法如下:用上面的语句就可以把邮件发送出去了。并且可以带上附件。
如果再结合Simonsu之前提到的用批处理备份MYSQL数据库的方法,就可以实现定时把备份好的数据发送到指定邮箱了。
如果是恶意使用的话,可就是制造轰炸机了。
下面带上 febootimail 命令行参数指南.chm及febootimail.exe工具。 点击下载此文件
解压密码是: www.tsov.net
用批处理备份MYSQL数据库的方法:
http://tsov.net/achieved-using-the-batch-upload-mysql-database-backup-and
在MySQL里运行以下SQL语句可以批量替换页内字符
SQL语句的格式如下:
Update `表名` SET `需要修改的字段名` = replace (`需要修改的字段名`,'被替换的内容','替换的内容') Where `需要修改的字段名` LIKE '%被替换的内容%'
比如我要将www.xxxxxxx.net替换成www.tsov.net,需要运行的SQL语句是:
Update test SET hostname = replace (hostname,'www.xxxxxxx.net','www.tsov.net') Where hostname LIKE '%www.xxxxxxx.net%';
下面语句就可以查询关键字了
Select `message` FROM `cdb_posts` Where `message` LIKE '%关键字%'
下面的是用了REGEXP而已,正则的更灵活更方便
将comment表中的author_url包含www.sohu.com的记录,其中的sohu替换为sina,一个语句搞定~
update comment set author_url=REPLACE(author_url,'sohu','sina') where author_url REGEXP 'www.sohu.com';
带IF判断的复杂替换
update comment set url=IF(url REGEXP 'test.yahoo.com.cn',REPLACE(url,'www1.sohu.com','www.sina.com'),REPLACE(url,'www2.yahoo.com','www.sina.com')) where 1=1;
下午用phpmyadmin导入mysql数据库时,我的远远大于2M数据库不能导入,mysql数据库最大只能导入2M..
phpmyadmin数据库导入出错:
You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
经网上查知,得:
遇到导入过大文件时,首先检查php.ini 配置文件中的以下三个地方,upload_max_filesize, memory_limit 和post_max_size,并且推荐修改的值要稍大于导入的巨大sql数据库文件;依照这个提示,我修改了以上三个在php.ini中的值以后,重启了php环境(IIS),再次导入时,虽然phpmyadmin还是显示导入最大限制:20,480 KB,但巨大的数据库文件已经被成功的导入了。
我的环境: winxp+mysql
phpMyAdmin – 2.10.2
MyODBC让你不用Web Server更新MySQL数据库,MyODBC提供了标准的ODBC界面存取,让你直接用VB、VC、BCB、Access等等透过ODBC直接存取数据库,长久以来资料库与Internet的结合,经常受到安全性的考量。但数据库与Internet的结合又是未来整体的趋势,如何能兼顾安全性以及方便性,透过ODBC便可以有良好的解决。用过ASP的人都知道ODBC的重要,只要您的Client端支持ODBC,皆可用VB、VC、BCB、Access等等的软件更新资料库。现在MySQL也有ODBC了,让你直接透过各式各样的应用程序直接存取MySQL数据库,不但方便,也更容易使用。在ODBC的机制下,公司内部资料库可以与Web Server分开,而公司内部的资料可以靠Client,利用拨号方式,透过ODBC介面与MySQL资料库沟通,进行更新。对公司而言,资料安全多了。服务器与主机也可以委托给ISP托管,并不需花带大成本。本版ODBC需避免搭配MySQL 3.21.17以前的版本,但仍可在MySQL 3.20.X版使用。如需使用VC++来编译则需搭配MySQL 3.23.23以后的版本。
正在加载天气信息...
最近评论
这就是封锁言论自由, 公民的合法权益没有得到落实 民主,自由,在我国…
平衡的问题、。大图切块,文件总体积不会变小反而会变大,另外网站的联接线也…
我今天就把那4个文件的有效期从180秒改到1440秒了,等他们用几天再看…
以前的时候倒是喜欢强调建立连接的开销。。HTTP 1.1了支持Conne…
我刚用,还在习惯中。。。…
没有深研究,总之这样就解决了问题。…
就是自已再生成的小图了。按页面的要求生成。不同页面上的小图,设计师可能设…
其实这2个值在用户那边具体是怎样的呢。既然3分钟就超时了,那么1440秒…