不可不知的mysql 常用技巧总结

不可不知的mysql 常用技巧总结

mysql常用命令

mysqld   --启动mysql数据库
show databases; -- 查看数据库
use database;  -- 选择数据库
show tables;  -- 查看表
desc tableName; -- 查看表结构
show processlists; --如果查询慢,可以查看是否锁表
exit   --退出mysql
service mysqld restart;  --重启mysql服务

数据导入导出

--mysql导出数据
select * from test_table into outfile "d:/a.txt";
--mysql导入数据
LOAD DATA INFILE '/tmp/1.txt' INTO TABLE tmpuserid FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

表复制

--1)先创建table1
create table table1(id bigint);
--2)插入
insert into table1(id) select id from table2; --要求table1必须存在,字段必须一一对应
--mysql不支持select into from 语句
--MySQL does not support the SELECT ... INTO ... syntax.

mysql中日期函数:

--当前时间
select now();   --2008-12-29 16:25:46
CURDATE() -- 2008-12-29
CURTIME() -- 16:25:46
SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL -1 DAY);  --日期增减
DATE_FORMAT(@insertDate, '%Y-%m-%d') --日期格式化,相当于oralce中的trunc方法

分区表

ALTER TABLE WebStat.PV_HIS drop partition p20130620;
ALTER TABLE WebStat.PV_HIS drop partition p20130621;
ALTER TABLE WebStat.PV_HIS drop partition p20130622;
--2.查看分区表
SELECT TABLE_NAME, PARTITION_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE  Table_name = 'PV_HIS';

查看mysql是否锁住:

mysql > show processlist;

主要看STATE列

  • Locked 被其他查询锁住了。
  • Sending data 正在处理SELECT查询的记录,同时正在把结果发送给客户端。
  • Sorting for group 正在为GROUP BY做排序。
  • Sorting for order 正在为ORDER BY做排序。
  • Sorting result For a SELECT statement, this is similar to Creating sort index, but for nontemporary tables.
  • NULL This state is used for the SHOW PROCESSLIST state.

其他

  • null与空’’
    mysql中is not null 和 <> ''
posted on 2014-02-28 16:23  Frank.Fan  阅读(696)  评论(0编辑  收藏  举报