mysql的一些高级语句
一,今天给大家讲一下,做留言的一种追加的方式主要如果当前有留言,就更新当前的留言以追加的方式,如果没能留言就将入一条新的
mysql:insert into `table` (field) values ('$value') on duplicate key update `field`=concat('value',ifnull(`field`,''));
具体本条SQL的用法,请查看手册
二,讲一下统计的用法,主要介绍如何用一条SQL语句,统计某个用户的某个字段中不同状态的合
首先,(select t.username,t.action,count(*) as num from t group by t.username,t.action) as N用分组的方式将不同的用户中的某个字段的某些状态分组求合这是子句
然后,select N.username,max(CASE N.action where 'field1' then n.num else 0 end) as field1_num,max(CASE N.action where 'field2' then n.num else 0 end) as field2_num from ,(select t.username,t.action,count(*) as num from t group by t.username,t.action) as N group by N.username
然后分别显示username,field1_num,field2_num
相关文档:
我的环境:
原有一mysql5.0实例,现新安装一mysql5.1,并将新的5.1实例的数据路径放在另一目录。
mysql5.1的my.ini如下
(配置my.ini的参考资料:
http://dev.mysql.com/doc/refman/5.1/en/option-files.html
http://downloads.mysql.com/docs/mysql-windows-excerpt-5.1-en.pdf
http://dev.mysql.com/doc/refman/5.0 ......
一.安装
rpm方式
rpm -ivf MySQL*
tar方式
tar xzvf mysql-x.xx.tar.gz
cd mysqlp-x.xx 生成makefile
./congigure
make 编译
make install
mysql_install_db
二.启动、关闭
ser ......
显示、设置自动提交 show variable like 'autocommit' set autocommit=1 or 0
设置日志:
在/etc/mysql/my.cnf中设置如下可再slow.log中输出运行时间超过一秒的sql语句
[mysqld]
log-slow-queries = /tmp/slow.log
long_query_time = 1
设置日志输出运行超过1秒的sql语句 set global long_query_ti ......
(1)INFORMATION_SCHEMA
select (sum(data_length) + sum(index_length))/(1024*1024) from INFORMATION_SCHEMA.`TABLES` where table_schema = 'your_table_schema' and table_name like 'your_table_name';
(2)show table status like '';
try {
Class.forName("com.mysql.jdbc.Driver");
......
#!/bin/bash
#删除100个数据库中的1000个表的过期数据
DBHOST="127.0.0.1"
DBPWD="pwd"
DBUSER="root"
MYSQLBIN="/usr/local/mysql/bin/mysql"
for((dbindex = 0;dbindex < 100;dbindex++))
do
for((tabindex = 0;tabindex < 10;tabindex++))
do
if [&n ......