mysql一般的な関数のまとめ

3073 ワード

一、mysql関数は仕事の中できわめてよく使われる知識ですが、よく忘れることが多いので、ここで1、時間の操作をまとめる関数を作ります.

//           
select date_sub(CURRENT_DATE,interval 1 day)
//           
select date_sub(CURRENT_DATE,interval -1 day)
//            
select date_sub(CURRENT_DATE,interval 1 month)
//            
select date_sub(CURRENT_DATE,interval 1 year)
select now(),CURRENT_DATE,CURRENT_TIME from dual

//    now()                  
select date_format(now(),'%Y/%m/%d');
select time_format(now(),'%H-%i-%S');
//          
from_unixtime(time/1000,'%Y-%m-%d %H:%i:%s')
//         
SELECT STR_TO_DATE('2019-09-01', '%Y-%m-%d') VAULE

//           
//     5  
select now() -interval 5 MINUTE
//     5  
select now() +interval 5 MINUTE
//     5  
select now() -interval 5 HOUR

//          
select from_unixtime(dt/1000,'%Y-%m-%d')
//       5        
select unix_timestamp(now() - interval 5 day)


2、文字列操作の関数
//locate(s1,s2)    s1 s2   (      s1     s2)
select locate('df','sdfhf') 

//lower(s)  s        
select LOWER('GFJ')

//upper(s)  s        
select upper('Gsdf')

//left(s,2)          
select left('Gsdf',2)

//lpad(s,len,s1)      s            s1,          len
select lpad('34',4,'0')

//rpads,len,s1)      s             s1,          len
select rpad('34',4,'0')

//substr(s,start,len)  s       start     ,  len   len   【 substring(s,start,len)】
select substr('abcdef',2,3)
select substring('abcdef',2,3)

//SUBSTRING_INDEX(s, 's1', n)     s     s1  n       (    n       )
select SUBSTRING_INDEX('abcdef', 'c', 1)

//SUBSTRING_INDEX(s, 's1', n)     s     s1  n       (    n       )
select SUBSTRING_INDEX('abcdef', 'c', -1)


3、よく使うその他の関数
//convert('234.32',decimal())             
select CONVERT('34.54534',decimal(5,2))

//SQL_CALC_FOUND_ROWS  ,FOUND_ROWS()     
(      count)
select SQL_CALC_FOUND_ROWS * from sys_user
SELECT FOUND_ROWS();

//case when  
 select case '1'
            when '1' then ' '
            when '2' then ' '
            else '  ' end


4、索引常用文
//        
show index from user_table;
//     
alter table user_table  add index id_name_index(uuid,name);
alter table  user_table  ADD UNIQUE (column)
alter table  user_table  ADD PRIMARY KEY (columnt)

//    
drop index id_name_index on user_table;

5、sqlプロセス操作(デッドロックを削除)
//      
show processlist;
//           (trx_mysql_thread_id)
select * from information_schema.innodb_trx;  
//        (lock_id)
select * from information_schema.innodb_locks;  
//        id(show processlist   id  )
kill  id;

6、テーブル操作の一般的な文
// name    password1   
alert table user_table add column password1 varchar(255) after name;
//   
alter table user_table drop column password1;
//      
alter table user_table modify password1 varchar(125);