http://blog.sina.com.cn/anyong1984[订阅]
个人资料
公告
哥写的是寂寞
狡兔三窟
BlogBus

我的博客大巴Blog

Blogger

我的Google Blog

分类
    内容读取中…
评论
读取中...
友情链接
高翔童鞋

测试大牛的博客

者行孙

尼尔森同学的博客

韩寒

韩寒的博客

牛博网

罗永浩开的牛博网

老罗

罗永浩开的博客

顺德新松人

端哥的博客

音乐播放器
访客
读取中...
博文
mysql学习笔记(三)(2009-07-12 11:58)
三、mysql高级特性

补一下之前没有提到的几个小注意点:
  1. TRUNCATE TABLE只删除数据,保留表结构,并且不会将删除操作不会写入日志。TRUNCATE删除后的表自增列会从头开始计数。含有外键的表默认不允许用TRUNCATE删除。比DROP TABLE要快。DROP TABLE将删除数据以及表结构。比DELETE FROM xxx也快,占用日志也少,TRUNCATE直接释放数据页,成功返回0,而DELETE是一条一条记录删除,日志也将记录每条删除的记录,成功还会返回影响的行数。
  2. 在用LOAD DATA INFILE导入本地文件数据到远程服务器时需要加LOCAL关键字,即LOAD DATA LOCAL INFILE。否则LOAD DATA将在远程服务器的路径下查找文件。如果不使用LOCAL,可能会遇到莫名其妙的错误提示,比如Access Denied(Using Password: No),就算你明明使用了密码连接。
  3. 另外还有一个比较方便的命令prompt,可以改变mysql命令行的前缀。比如prompt \U:/\d>,那么你的命令行前缀会变成root@localhost:/dbname>。

(一)集合函数
COUNT, DISTINCT, SUM, AVG, MIN, MAX...这些在大多数DB
傻X了(2009-07-08 00:32)
昨天和今天犯了两个低级错误,一是抛异常时把string对象误当作const char*抛了出去,结果catch总catch不到。二是今天竟然在if语句后面直接加了个倒霉的分号,导致后面的语句始终被执行。
低级错误最可怕的是隐蔽性太强- -总是出现在你觉得不会出错的地方。结果拼了老命查上下文,查log,浪费时间浪费生命。以后尽量少犯,特此记录。
在导入数据到mysql时(LOAD DATA INFILE和mysqlimport都一样)碰到错误13:cannot get stat of /root/xxxx,文件权限改成777还是不行,后来才发现原来文件所在目录的权限不对,需要有执行权限(即获取文件列表的权限)。
­
顺便记录下今天看到的随机取记录的方法:
SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id ASC LIMIT 5;
还有CREATE TABLE SELECT和CREATE TABLE LIKE的区别。CREATE TABLE SELECT 会取消原表中一些定义,比如AUTO_INCREMENT,引擎会是系统默认引擎。而CREATE TABLE LIKE不会。
­
mysql学习笔记(二)(2009-07-06 02:02)

二、 常用命令的使用

利用mysql命令与服务器连接

> mysql -uroot -p [options]

-u指定登录用户 -p指定要输入的密码 options里面你可以指定数据库等额外参数。

如果你不想每次都重复输入用户名和密码,你可以在配置文件中的[client]区段设置一个默认的用户名和密码。但是这样的后果是每个人都可以用默认的用户名密码连接数据库,只要他有访问配置文件的权限。安全的做法是指设置一个默认的用户名,而不设置密码:

[client]

user=root

password

这样当你使用无参数的mysql连接时,会提示你输入默认用户的密码。

-h hostname 也是一个常用的选项。用来指定要连接的服务器。

 

当你希望在命令行中执行一批sql语句时,你可以把sql语句保存在文件中,然后在命令行用重定向作为mysql命令参数来执行:

mysql -uroot -p < sql.txt

或者你也可以这样:

mysql -uroot -p -e 'select * from xxx'

 

SHOW:

show命令是一个很有用而且很常用的命令,基本语法如下:

今天把firefox从3.0升级到了3.5。这是现在炙手可热的传说中的firefox最新版,有相当多的改进。然后很偶然地,进到寻仙日历页面,发现弹出层的位置竟然不对了- -!faint。原来正确的位置现在变得往下移了一大截。
问题在于,由于firefox3.0中存在的一个bug,代码中做了一些相应的位置修正。结果3.5默默地把那个bug修正了。于是赶忙上vpn,将代码加上版本判断,发布。
3.0中这个bug是这样的:
对于形如下图的页面结构,img的offsetParent是body,所以img的offsetLeft,offsetTop都是相对于body的边框的距离。这样我们就能很轻松地把弹出层定位到img上面。可是在firefox3.0里面,如果body的display属性为table,并且top navigation bar这个层的定位为relative的话,img和body之间的边框距离会把top navigation bar的高度忽略掉。也就是少算了一段距离。
当然修正的办法是加上这个高度。可是3.5中竟然无声无息地把这个bug修正了。- -!
mysql学习笔记(一)(2009-07-06 00:17)

一、下载,编译,安装与配置

安装MYSQL有很多种途径,假如你想方便地安装,你可以直接下载RPM包,然后在终端里运行:rpm -ivh xxx.rpm。rpm文件格式是Red Hat开发的软件安装包,就好象window下的exe安装文件。如果你还没有装rpm,可能需要先到www.rpm.org下载一下,并需要编译安装。假如你系统里有APT,那就更方便了,APT是Debian的软件包管理器。在大多数新版的linux下都有,比如Ubuntu和Fedora。用apt安装mysql,你不用手动去下载任何东西,只需要在终端运行sudo apt-get install mysql,sudo的意思是以超级用户的身份运行apt-get,这样是为了确保安装过程不碰到权限问题。

 

当然你也可以下载源码包自己手动编译并安装。

> tar zxvfmysql-VERSION.tar.gz #解压

> cd mysql-VERSION

> ./configure--prefix=/usr/local/mysql --with-plugins=max#指定安装目录

> make #编译

> make install #安装

 

安装好后需要给mysql创建一个用户和用户组mysql。

> groupadd mysql#添加用户组

> useradd -g mysqlmysql#创建mysql用户并添加到mysql用户组

 

入职满两个月(2009-07-04 22:06)
时间过得真快,转眼间到TX已经两个月了。试用期也已经过了两个月。其实这两个月来回跑得挺辛苦的。每天二号线转四号线转班车,班车转四号线转二号线。来回将近四小时。每天7点起来,22点多回到家。

说起来这两个月感受最大的是公司真的很大方。。。每来一次新人都会出去fb一顿,总会不时用经费出去搞搞活动。还真的有点不习惯,更习惯以前的AA。别人说你们真像国企。- -!

工作上虽然说项目的性质还是小需求居多,没有很多大型合作项目。但是从技术角度说,总算做的是自己比较喜欢的事情了。这两个月也学到了不少。web应用开发是个很容易入门,但是不容易做好的工作。特别是在linux下,还不能debug。出问题得翻log查。。。web开发的要求也很杂很广,后台前台你都得懂,甚至需要对css比较熟悉,否则你做出来的东西可能在IE下正常,换个浏览器就面目全非了,甚至会功能完全丧失。mysql方面以前基础也不好,现在也得赶紧使劲学了,这两个月做的项目就有因为数据库原因导致的种种问题。
总的来说很有挑战,我喜欢^_^。

跳槽(2009-05-01 22:32)
2009年4月29日,我离开了工作将近两年的群硕。

原因有很多。项目问题,公司文化问题,薪资问题。这里不想说得太细。总之群硕不是一 个让我觉得有归属感和安全感的地方。人员流动太大,福利不怎么好。外包项目的固有性质也让我觉得很不稳定。不过还是很感激我的Lead Tony对我的信任和肯定。给了我很多机会去朝不同的方向发展。适合与否并不重要。毕竟我能学到很多。

新的工作对我来说是个挑战。Linux下的C++开发之前从没接触过。最近在恶补。
网上对腾讯有褒有贬,我都有了解过,也做好了心理准备。不管怎样,我相信在那里能接触到更牛的人,学习到更多自己感兴趣的东西,也能稍微改善一下自己的生活。:P

在这里对群硕的XDJM们说声再见,革命尚未成功,同志仍需努力。童鞋们加油吧,群硕的未来靠你们了!
我会想你们的。
Blogger编辑器问题(2009-05-01 22:14)
blogger的编辑器实在是太烂了,之前说的图片问题也就算了,现在发现竟然连HTML/JS代码发到实际页面都被执行了。网上搜到说你需要 把<>全部替换成&l t ;和&g t ;(竟然也被解释成<>,我只好加了个空格),我想说我没有这个耐心,我也不想把精力都放在这些地方。
还有就是编辑器的文本格式化很有问题,当你从所见即所得模式切换到HTML模式再切换回来的时候,字体全都变了。在IE下面,连复制粘贴都不支持!
Faint,Google能做出那么好的在线文档编辑器,为什么不把这个也做好一点?

PS:最近访问老出问题。隔几分钟给你来个:

此网页无法访问。

http://anyong1984.blogspot.com/ 的网页可能暂时无法连接,或者它已被永久性地移动到新网址。

看来Blogger还是不适合
Google音乐搜索(2009-05-01 12:12)
今天在google黑板报上看到最新一篇是介绍Google音乐搜索的,马上打开Google主页一看,果然多了一行:

新!体验高品质音乐就在谷歌音乐搜索

体验google博客(2009-03-28 11:39)
以前搜过google是否有博客,但是没搜到,没想到丫竟然买了别的BSP - www.blogger.com. 于是用google帐号登录试用了一下. 感觉很不错,定制化特别强,也很open. 网上甚至有很多人专门研究怎么定制blogger - -! 而且支持群组功能,和google reader自动整合. 唯一一点不好就是编辑器不太兼容IE,不管8还是7. 在Chrome下表现完美. 界面沿袭了google一贯的简洁. 看着挺舒服.
听说以前blogger(blogspot.com)是被GFW看上的域名.国内不能访问.现在貌似好了. 估计有服务器架到中国来了?
以后有更新会在那里一起更新. 那里可能浏览速度相对会快一些. 新浪的.....最烦新浪的就是分类只能有10个.娘的!
地址: anyong1984.blogspot.com
 
补:用过之后,发现不是很适合。编辑器太烂,所见即所得模式里面发的代码竟然在实际浏览时被执行了。网上说,你要手动把<>全部改成&lt;和&gt;。那我还是算了。光是这一点,我就没了兴趣。
 
比如下面一段代码: