zoukankan      html  css  js  c++  java
  • mysql 常用命令

    --获取当前时间 前一天的时间 interaval 后面参数是几 代表前几天
    date(DATE_SUB(NOW(),INTERVAL 1 DAY);
    
    --  转码
    CAST(countreg as char)
    CAST(CONCAT('"+download+"',adid) as char) as apk
    
    
    -- 不改变现有数组的情况下  连接两个或多个数组 返回 组成之后新的数组
    CONCAT()
    
    CONCAT(CONVERT(a.adid,char))
    
    
    -- mysql case 语句
    case when then  when then else end
    
    --   查询为数字的列
    select * from visitlog where LENGTH(0+adid)=LENGTH(adid)
    
    
    -- 查询前一天的数据
    
    select * from visitorlogs where date(firsttime)=date(DATE_ADD(now(),INTERVAL -1 day));
    
    --   查询重复数据
    select user_name,count(*) as count from user_table group by user_name having count>1; 
    
    
    --  dos环境下中文乱码
    set character_set_results=gb2312;
    
    --如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。
    IFNULL(expr1,expr2) 
    
    
    
    --  截取字符串   1. 要截取的字符串 2. 截取条件  3. 出现的位置  正数 从左往右截  负数  从右往左截
    substring_index ('要截取的字符串','.',2);
    
    --当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。
    --所以使用ignore请确保语句本身没有问题,否则也会被忽略掉
    insert ignore into
    
    --  导出数据库
    mysqldump -u(username) -p(password) (dbname) > (路径加文件名).sql
    
    
    -- 将表一数据导入到表二中   两张表的字段要一致 
    insert into table2 ('字段1','字段2') select 字段1 , 字段2 from table1 ;
    
    
    --  如果数据存在 执行更新操作 如果不存在执行插入
    REPLACE INTO ext (extid,noid,key1,value1) VALUES +values+ ;
    
    insert  into visitlog (imei ,imsi, plat, version,visitdate ,jspname,adid,count) values "
    						+ " (?,?,?,?,?,?,?,1) on  "
    						+ " duplicate key update count=count+1
    
    
    --  设置权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ' pwd' WITH GRANT OPTION;
    
    flush privileges;
    
    
    --  分组后显示每组的几条数据
    select a.fdid , a.adid , a.apk , a.pkgName , a.name from
    (select t1.*,(select count(*)+1 from recommend where fdid=t1.fdid and rid<t1.rid) as group_id from recommend t1) a
    where a.group_id<=5
    
    select * from (
    select localdate , userid , sum(amount) as amount from tab_pay_order where localdate between '20180320' and '20180325' group by
    userid , localdate order by localdate , amount desc
    ) as a left join
    (
    select localdate , userid , sum(amount) as amount from tab_pay_order where localdate between '20180320' and '20180325' group by
    userid , localdate order by localdate , amount desc
    ) as b on a.localdate=b.localdate and a.amount<=b.amount group by a.localdate , a.userid , a.amount
    having count(1)<=3 order by a.localdate , a.amount desc;
    
    
    
    
    -- 分组查询 显示日期最小的数据
    select idfa,devicetoken,idfv,dcode , min(regdate) as date from romuse GROUP BY idfa,devicetoken,idfv,dcode order by date(regdate)
    
    
    delete from iappleapp where  type=2  and 
    id  not in ( select id from ( select max(id) as id , count(1) as count  from iappleapp  where type=2 group by appname  ORDER BY count desc) as b );
    
    --  将本地txt文件 以命令的形式 保存到数据库中
    mysql -uroot -p20110725 lock[数据库名称] -e "load data local infile 'd:/zfy4.txt' into table pm_clientlog_w6(表明)  fields terminated by '|'  (imei,imsi,regdate,jspfile,packageid,plat,version)"
    
    
    
    -- 删除重复数据
    delete from game  where id in 
    (select id from (select  max(id) as id,count(title) as count 
    from game group by title having count >1 order by count desc) as tab )
    
    alter table [biaoming] add [ziduanming]  [leixing](length)
    
    alter table isapp modify column appname varchar(50) ;
    
    -- 获取当前日期
    select curdate();  
          
    -- 获取当月最后一天。            
    select last_day(curdate());
    -- 获取本月第一天                   
    select DATE_ADD(curdate(),interval -day(curdate())+1 day);   
     -- 获取下个月的第一天
    select date_add(curdate()-day(curdate())+1,interval 1 month);
    -- 获取当前月的天数
    select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; 
    
    
    -- 将查询结果保存到本地txt文件
    /usr/local/mysql/bin/mysql -h romherom3.mysql.rds.aliyuncs.com -uuser_romhe -ppasswd_20110725 rom3 -e "select concat(imei,','),null,concat(',',imsi,','),null,concat(',',plat,','),null,concat(',',regdate) from rom_user where date(regdate)>=date('2014-10-01') and soid >='200188003000868' and soid<='200188003001087' ">/home/webs/meng.txt
    
    
    mysql -h rdsk5j61yfna0312q977.mysql.rds.aliyuncs.com -uappstoreljd -pljd20151123 appstore -e "select idfa from iosrecimeisad where adid='876336838'">/alidata1/linshi/zfy/ximalaya.txt
    
    
    
    /usr/local/mysql/bin/mysql -hrds32m2q332m2q3.mysql.rds.aliyuncs.com -uappstore -pdelong20110725 appstore -e "select * from iosuser_old">/home/webs/zfy/iosold.txt
    
    
    
    -- 查询指定数据库有多少张表 appstore 为要查询的数据库
    SELECT count(*) TABLES, table_schema FROM information_schema.TABLES  where table_schema = 'appstore' GROUP BY table_schema;
    
    ALTER TABLE `iosappcheck` ADD COLUMN `registerdate`  varchar(255) NULL COMMENT '苹果账号注册时间';
    
    
    
    
    --删除计划任务
    DROP EVENT  e_test_insert (计划任务名称)
    
    --当然前提是这个事件存在,否则会产生ERROR 1513 (HY000): Unknown event错误,因此最好加上IF EXISTS
    --DROP EVENT IF EXISTS e_test;
    
    --停止计划任务
    ALTER EVENT    e_test_insert (计划任务名称) DISABLE;
    
    
    --开始事件
    ALTER EVENT e_test ENABLE(计划任务名称);
    
    
    1. hash索引查找数据基本上能一次定位数据,当然有大量碰撞的话性能也会下降。而btree索引就得在节点上挨着查找了,很明显在数据精确查找方面hash索引的效率是要高于btree的;
     
    2. 那么不精确查找呢,也很明显,因为hash算法是基于等值计算的,所以对于“like”等范围查找hash索引无效,不支持;
     
    3. 对于btree支持的联合索引的最优前缀,hash也是无法支持的,联合索引中的字段要么全用要么全不用;
     
    4. hash不支持索引排序,索引值和计算出来的hash值大小并不一定一致。
    
    
    
    
    
    -- MySQL 添加列,修改列,删除列
    ALTER TABLE:添加,修改,删除表的列,约束等表的定义。
    
    	查看列:
    	desc [表名];
    	
    	修改表名:
    	alter table [t_book] rename to [bbb];
    	
    	添加列:
    	alter table 表名 add column 列名 varchar(30);
    	
    	删除列:alter table 表名 drop column 列名;
    	
    	修改列名MySQL: alter table bbb change nnnnn hh int;
    	
    	修改列名SQLServer:exec sp_rename't_student.name','nn','column';
    	
    	修改列名Oracle:lter table bbb rename column nnnnn to hh int;
    	
    	修改列属性:alter table t_book modify name varchar(22);
    	
    	sp_rename:SQLServer 内置的存储过程,用与修改表的定义。
    
    
    
    --MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列
    
    	查看表的字段信息:desc 表名;
    	
    	查看表的所有信息:show create table 表名;
    	
    	添加主键约束:
    		alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
    	
    	添加外键约束:
    		alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
    	
    	删除主键约束:
    		alter table 表名 drop primary key;
    	
    	删除外键约束:
    		alter table 表名 drop foreign key 外键(区分大小写);
    	
    	修改表名:
    		alter table t_book rename to bbb;
    	
    	添加列:
    		alter table 表名 add column 列名 varchar(30);
    	
    	删除列:
    		alter table 表名 drop column 列名;
    	
    	修改列名MySQL: 
    		alter table bbb change nnnnn hh int;
    	
    	修改列名SQLServer:
    		exec sp_rename't_student.name','nn','column';
    	
    	修改列名Oracle:
    		alter table bbb rename column nnnnn to hh int;
    	
    	修改列属性:
    		alter table t_book modify name varchar(22);
    	
    	sp_rename:SQLServer 内置的存储过程,用与修改表的定义。
      
    

      

  • 相关阅读:
    6.2笔记-DQL语句查询数据库
    6.1课堂笔记—DML(数据操作语言),DQL查询语句
    5月31日上课笔记-Mysql简介
    5月25日-js操作DOM遍历子节点
    5月24日上课笔记-js操作DOM
    5月23日笔记-js绑定事件、解绑事件、复合事件
    嗯,很好,就这样。
    Spring AOP 编程
    Spring IOC 工厂
    Spring 与 Mybatis 的事务管理
  • 原文地址:https://www.cnblogs.com/zfy0098/p/5114312.html
Copyright © 2011-2022 走看看