mysql機能テスト

4938 ワード

詳細
 
一、変数の定義
	     :set @num=1;  set @num:=1; //            ,    @num  
	     :select @num:=1;   select @num:=    from    where ……
	 :
	1)set @t_error=0; select @t_error ;
	2)select @num:=`name`  from   sys_area  where id=2  ; select @num;

 
 
二、トランザクションの開始とトランザクションのコミット、トランザクションのロールバック、トランザクションの開始を予定している場合は、自動コミットを0に設定し、start transaction;commit; 
 
	#   1     0    
	select @@autocommit;  
	#      
	set @@autocommit=0;
	start transaction ;
		insert into dic(name ) values('1');
		insert into dic(name ) values('2');
		ROLLBACK;
	commit;

 三、データベースの三大特性:原子性、一致性、隔離性、持続性
 
  

 四、取引の独立性レベル(取引のある業務のデータに対してのみ使用する):
 
 
	Read Uncommitted(       ),Read Committed(      ),Repeatable Read(   ),Serializable(    ) 
	1)          
	select @@tx_isolation;
	2)          
	select @@global.tx_isolation;
	3)          
	set session transaction isolatin level repeatable read;
	4)          
	set global transaction isolation level repeatable read;

 
五、データベースの共有ロックと排他ロック
 
	         ,   
	SELECT * FROM information_schema.INNODB_TRX ;
	SELECT * FROM information_schema.INNODB_LOCKS;

	                        
	        id=1   ,           ,     
	        id=1   ,          ,     ,        
	              ,         ,        
	  :
	select @@autocommit;  

	#      
	set @@autocommit=0;

	set @t_error=0;
	select @t_error ;

	start transaction ;
		select * from dic for update ;
		insert into dic(name ) values('1');
		insert into dic(name ) values('2');
		ROLLBACK;
	commit;

  六、外部キーは削除できません.まず外部キーを削除しなければなりません.対応するインデックスを削除します.
 
 
 
 #            
 show create table    
 #    
 alter table     drop FOREIGN KEY       ;
 #       ,           
 show index from      ;
 alter table      drop  index  FK_cv98jak92idoqj8rrlyhkghv0 ;

 七、フィールドの追加と削除
 
 
 alter table       drop column    cluster_num
 alter table       add cluster_num int comment '  ';

 
 
八、NULL問題
 
 SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;

 九、show  full  プロセスリスト
 
  
  (select * from  information_schema.processlist where  host like '%11.168.2.65%')

  
1)Sleep
         ,        ,sleep              
(           initialSize,  initialSize=10         10    sleep     ,      ),
  :
       0.1 ,       1   ,       0.1     ,           close  ,
      ,              ,           sleep  

2)Locked
     ,    innodb       locked     

3)Copy to tmp table
                ,               ,     i/o  Copy to tmp table         ,
                  ,                ,         ,    kill    
4)Sending data
Sending data       ,             ,           ,                  ,
  sending data    ,              ,             

5)Storing result to query cache
         ,  set profiling  ,         SQL         (         ,   ),
   query cache    ,  flush query cache     ,Query cache         


 
 
十、mysql日付時間関数の処理
 
 
date_format(date, format)   ,MySQL       date_format()
unix_timestamp(     )    ,Mysql     unix   
str_to_date(str, format)    ,       
from_unixtime(unix_timestamp, format)   ,MySQL        from_unixtime
  
select DATE_FORMAT(now(),'%Y-%m-%d' ) 
select str_to_date('2017-12-08 00:00:00', '%Y-%m-%d %H:%i:%s' ) 
select unix_timestamp( DATE_FORMAT(now(),'%Y-%m-%d' )  )*1000  ;
select unix_timestamp( str_to_date('2017-12-08 00:00:00', '%Y-%m-%d %H:%i:%s' )  )*1000 ;
select from_unixtime( unix_timestamp( DATE_FORMAT(now(),'%Y-%m-%d' )  ),'%Y-%m-%d %H:%i:%s'  )  ;

 十一、マルチテーブル関連の更新と削除
 
  
#          
update user a    join  user_ext b on a.uid=b.id  
set  b.name=a.name, b.age=a.age
where ifNULL(a.business_ip,'')<>ifNULL(b.new_business_ip,'')   
 
 #    h    
delete h.* 
from user  g   join user_ext h on g.id=h.userId
where g.id=1

in exist   :
http://www.manongjc.com/article/981.html