mysql学习笔记(三)(2009-07-12 11:58)
三、mysql高级特性
补一下之前没有提到的几个小注意点:
- TRUNCATE
TABLE只删除数据,保留表结构,并且不会将删除操作不会写入日志。TRUNCATE删除后的表自增列会从头开始计数。含有外键的表默认不允许用TRUNCATE删除。比DROP
TABLE要快。DROP TABLE将删除数据以及表结构。比DELETE FROM
xxx也快,占用日志也少,TRUNCATE直接释放数据页,成功返回0,而DELETE是一条一条记录删除,日志也将记录每条删除的记录,成功还会返回影响的行数。
- 在用LOAD DATA INFILE导入本地文件数据到远程服务器时需要加LOCAL关键字,即LOAD DATA LOCAL
INFILE。否则LOAD
DATA将在远程服务器的路径下查找文件。如果不使用LOCAL,可能会遇到莫名其妙的错误提示,比如Access Denied(Using
Password: No),就算你明明使用了密码连接。
- 另外还有一个比较方便的命令prompt,可以改变mysql命令行的前缀。比如prompt
\U:/\d>,那么你的命令行前缀会变成root@localhost:/dbname>。
(一)集合函数
COUNT, DISTINCT, SUM, AVG, MIN, MAX...这些在大多数DB
昨天和今天犯了两个低级错误,一是抛异常时把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用户组
时间过得真快,转眼间到TX已经两个月了。试用期也已经过了两个月。其实这两个月来回跑得挺辛苦的。每天二号线转四号线转班车,班车转四号线转二号线。来回将近四小时。每天7点起来,22点多回到家。
说起来这两个月感受最大的是公司真的很大方。。。每来一次新人都会出去fb一顿,总会不时用经费出去搞搞活动。还真的有点不习惯,更习惯以前的AA。别人说你们真像国企。-
-!
工作上虽然说项目的性质还是小需求居多,没有很多大型合作项目。但是从技术角度说,总算做的是自己比较喜欢的事情了。这两个月也学到了不少。web应用开发是个很容易入门,但是不容易做好的工作。特别是在linux下,还不能debug。出问题得翻log查。。。web开发的要求也很杂很广,后台前台你都得懂,甚至需要对css比较熟悉,否则你做出来的东西可能在IE下正常,换个浏览器就面目全非了,甚至会功能完全丧失。mysql方面以前基础也不好,现在也得赶紧使劲学了,这两个月做的项目就有因为数据库原因导致的种种问题。
总的来说很有挑战,我喜欢^_^。
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
补:用过之后,发现不是很适合。编辑器太烂,所见即所得模式里面发的代码竟然在实际浏览时被执行了。网上说,你要手动把<>全部改成<和>。那我还是算了。光是这一点,我就没了兴趣。
比如下面一段代码: