mysql 笔记

1. 批量删除前缀相同的表:

(1)首先通过select语句执行,得出drop语句

select concat( 'drop table ',table_name , ';' ) 
FROM information_schema.tables 
Where table_name LIKE 'content_audit_2017%' ;

(2)复制结果语句,进行执行

2. 添加,修改,删除表的列,约束等表的定义:

  • 查看列:desc 表名;
  • 修改表名:alter table user rename to users;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table user change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:alter table user rename column nnnnn to hh int;
  • 修改列属性:alter table user modify name varchar(22);

 3.删除表里面的数据

DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快。而且还可以返回被删除的记录数。

而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。

(我要删除一个3000万的数据表,delete要100万执行4-5分钟,truncate只需几秒)

4.远程导出mysql文件

使用mysql -h(hostip) -u(username) -p(userpw) (数据库名称) -N -e "select * from test into outfile '/tmp/test.txt' fields terminated by ','; "命令导出只能导出到mysql本地,不能远程导出;

需改变为:mysql -h(hostip) -u(username) -p(userpw) (数据库名称) -N -e " select concat(ifnull(id,''),',',ifnull(name,''),',',ifnull(age,'')) from test;" > /home/sendi/haoxy/test.txt

注:-N指去除标题

 

posted @ 2017-07-27 14:16  Sunny_star  阅读(152)  评论(0编辑  收藏  举报