mysql実践操作まとめ

3335 ワード

共通のsql文の抽出
mybatisの動的sql作成では、ラベルによって再利用可能なsqlフラグメントを抽出し、再利用可能なクエリー文によく見られ、文の多重化を実現する.使用時に導入すると、同じクエリー文に書かれているのと同じ効果が得られます.



	
		
			and instr(book_type,#{bookType})>0
		
		
			and instr(book_name,#{searchContent})>0 or instr(book_auth,#{searchContent})>0
		
		and book_status=0
	





mysqlでのINSTR関数の使い方
INSTR(STR、SUBSTR)は、1つの文字列(STR)で指定された文字(SUBSTR)を検索し、指定された文字が発見された位置(INDEX)を返す.
STRは検索される文字列、SUBSTRは検索したい文字列です.この関数は、あるフィールドのコンテンツ内の文字列の位置を返し、文字列が見つからない場合は0を返し、そうでない場合は(1から)、whereによって定義され、0より大きい条件を満たすデータが検出される(instrはインデックス値>0を返す).       
この関数は、mysqlで内部関数instrを使用することで、従来のlike方式の代わりにクエリーすることができ、より高速です.
#    
SELECT * FROM t_ts_book
WHERE book_type like "%computer%"

#  instr  
SELECT * FROM t_ts_book
WHERE instr(book_type,"computer")>0

mybatisでの一括操作
foreachのフォーマット:
foreach要素の属性は主にcollection,item,index,separator,open,closeである
collectionは、ループする指定されたセットを表します.
itemは、コレクション内の各要素が反復するときの別名を表します.
indexは反復中のインデックス値を表し、forループ中のインデックスiに相当する
separatorは、反復のたびにどの記号を区切り文字として使用するかを表します.
Openは、文が何で始まるかを示します.
closeは文が何で終わるかを表します


	insert into t_ts_book(book_id,book_type,book_num,book_name,book_auth,book_pub,book_pub_num,
	book_desc,book_had,book_img,book_status)
	VALUES
		
			#{book.bookId},#{book.bookType},#{book.bookNum},#{book.bookName},#{book.bookAuth},#{book.bookPub},
			#{book.bookPubNum},#{book.bookDesc},#{book.bookHad},#{book.bookImg},#{book.bookStatus}
		

mysqlでの日付操作
日付書式:
DATE_FORMAT(date,format)、dateパラメータは合法的な日付です.format所定日付/時間の出力フォーマット
DATE_FORMAT()関数は、日付/時刻データを異なる形式で表示するために使用されます.一般的なデータフォーマットは次のとおりです.
%Y
年、四位
%y
年、お二人
%M 
月、月名
%m
月、数値(00-12)
%d
月の日、数値(00-31)
%e
月の日、数値(0-31)
%H
時間(00-23)
%h
時間(01-12)
%I
時間(01-12)
%i
分、数値(00-59)
%S
秒(00-59)
%s
秒(00-59)
クエリー指定時間(フォーマット指定要件)のデータ
select * from t_order where date_format(eattime,'%Y%m')='201806'   

日付計算:DATE_ADD(date,INTERVAL expr type),DATE_ADD()関数は、指定した間隔を日付に追加します.BETWEENにより、指定した時間区間を問い合わせるためのデータを実現


今日の日付範囲を取得now()
select date_format(now(),'%y-%m-%d 00:00:00'), date_format(now(),'%y-%m-%d 23:59:59')