分类目录归档:mysql

mac osx 卸载mysql

蛋疼 – - 还是源代码编译安装mysql好点 搞什么dmg安装 唉 mysql真坑人  安装了之后还没有卸载工具

只好手动rm 之

先开启下root

官方文档:http://support.apple.com/kb/HT1528?viewlocale=zh_CN&locale=zh_CN

这个看不懂的话看这个。。其实官方文档我也没看懂- -

http://www.macx.cn/thread-2051799-1-1.html

好把 接下来rm mysql

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
vim /etc/hostconfig and removed the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*

mysql语句执行顺序

SQL:
写的顺序:select … from… where…. group by… having… order by..
执行顺序:from… where…group by… having…. select … order by…

MYSQL中:

写的顺序:select … from… where…. group by… having… order by.. limit [offset,] (rows)
执行顺序:from… where…group by… having…. select … order by… limit

note:把2表的一列导入到1表中
update t1,t2 set t1.endv2=t2.endv2 where t1.id=t2.id and t1.v1=t2.v1 and t1.v2=t2.v2;

mysql 左右内外连接

今天在研究mysql 左右内外交叉连接 资料上说mysql不支持full join 也就是传说中的外连接
但是当我试着去执行full join的时候
mysql> select * from ta full join tb ;
竟然得到了结果 而且和下面几句语句是等效的
mysql> select * from ta , tb ;
select * from ta join tb ;
select * from ta cross tb ;
select * from ta inner join tb ;

一头雾水啊 这尼玛不是不支持full join么 气愤执行 执行了fuck join语句。。
mysql> select * from ta fuck join tb ;
另外大吃一惊。。尼玛竟然不报错。。还是一样的笛卡尔积。。好吧 我服了
当我无聊试着用on条件表达式的时候 奇迹出现了 ~
继续阅读

一道很有意思的mysql查询题

刚刚碰到一个题目 感觉有点意思 记录下来
这里有一个stu表 表如下
name subject grade
(‘张三’,'数学’,90),
(‘张三’,'语文’,50),
(‘张三’,'地理’,40),
(‘李四’,'语文’,55),
(‘李四’,'政治’,45),
(‘王五’,'政治’,30);
要求查出两门以及两门以上不及格同学的平均分 要求只能用一次select
也就是说不能用子查询 左右连接之类的

mysql> select name,avg(grade) as avg,sum(grade<60) as fail from stu group by name having fail >=2;
+------+---------+------+
| name | avg | fail |
+------+---------+------+
| 张三 | 60.0000 | 2 |
| 李四 | 50.0000 | 2 |
+------+---------+------+
2 rows in set (0.00 sec)

char varchar

CHAR和VARCHAR类型声明的长度表示你想要保存的最大字符

char(M) 定长 可存储的字符数 M<=255 也就是说最多存255个中文
varchar(M) 。长度可以指定为0到65,535之间的值。(VARCHAR的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是65,532字节)。最后1-2个字节用来记录长度(如果列声明的长度超过255,则使用两个字节)。
就是说 如果是最多可以存2万多个uft8的汉字
note:
varchar(5)可以存5个字符 也就是说可以存 “一二三四5”