便利でシンプルなMySQL関数10個

便利でシンプルなMySQL関数10個

関数

0. 現在の時刻を表示する

コマンド: select now()。

機能: 現在の時刻を表示します。

アプリケーションシナリオ: 作成時刻や変更時刻などのデフォルト値。

例:

mysql> now() を選択します。
+---------------------+
| 今() |
+---------------------+
| 2017-12-27 20:14:56 |
+---------------------+
セット内の 1 行 (0.00 秒)

1. 文字の長さ

コマンド: char_length('andyqan') を選択します。

機能: 指定された文字の長さを表示します。

適用シナリオ: 文字の長さを確認する場合。

例:

mysql> char_length('andyqian') を選択します。
+-------------------------+
| char_length('andyqian') |
+-------------------------+
| 8 |
+-------------------------+
セット内の 1 行 (0.00 秒)

2. 日付の書式設定

コマンド: select date_format(now(),'%y-%m-%d)。

機能: 日付をフォーマットします。

適用シナリオ: 日付をフォーマットする場合。

例:

mysql> date_format(now(),'%y-%m-%d') を選択します。
+---------------------------------+
| date_format(now(),'%y-%m-%d') |
+---------------------------------+
| 17-12-28 |
+---------------------------------+
セット内の 1 行 (0.00 秒)

サポートされている形式は次のとおりです。

%y: 年を表します (2 桁)。例: 17。
%Y: 年を4桁で表します。例: 2017
%m: 月を示す (1-12)
%d: 月の日付を表します
%H: 時間 (0-23)
%i: 分 (0-59)
%s: 秒 (0-59)

年、月、日、時、分、秒: %y-%m-%d %H:%i:%s、

以下のように表示されます。

mysql> DATE_FORMAT(now(),'%y-%m-%d %H:%i:%s') を選択します。
+----------------------------------------+
| DATE_FORMAT(now(),'%y-%m-%d %H:%i:%s') |
+----------------------------------------+
| 17-12-27 20:28:54 |
+----------------------------------------+
セット内の 1 行 (0.00 秒)

3. 日付と時刻を加算/減算する

注文:

DATE_ADD(日付,間隔 式 単位)
DATE_SUB(日付,間隔 式 単位)

機能: 日付と時刻を増減する

適用シナリオ: 現在の時刻より 1 日前または数分前。 データ統計でよく使用されます。

例:

mysql> date_add(now(),interval 1 day) を選択します。
+--------------------------------+
| date_add(now(),間隔 1 日) |
+--------------------------------+
| 2017-12-28 20:10:17 |
+--------------------------------+
セット内の 1 行 (0.00 秒)

日付は次のような日付形式を表します:

2017-12-27、now() およびその他の形式。

expr: 数量を表します。

unit: 単位を示します。ミリ秒 (マイクロ秒)、秒 (秒)、時間 (時間)、日 (日)、週 (週)、年 (年) などがサポートされます。

4. 型変換

コマンド: CAST(expr AS type)

機能: 主に表示形式の変換に使用

応用シナリオ: 表示タイプの変換

例:

mysql> 18700000000 を char としてキャストを選択します。
+---------------------------+
| キャスト(18700000000 を char として) |
+---------------------------+
| 18700000000 |
+---------------------------+
セット内の 1 行 (0.00 秒)

type はすべての基本データ型をサポートしているわけではないことに注意してください。サポートされている型の詳細については、前の記事「MySQL の表示型変換について」を参照してください。

5. 暗号化機能

コマンド: md5(データ)

目的: データの暗号化に使用

アプリケーションシナリオ: 暗号化、銀行カード番号、ID カードなどの一部の個人データは暗号文で保存する必要があります (もちろん、データベース層の暗号化を使用することは推奨されません。アプリケーション層で暗号化する必要があります)

例:

mysql> md5("andyqian") を選択します。
+----------------------------------+
| md5("andyqian") |
+----------------------------------+
|8a6f60827608e7f1ae29d1abcecffc3a|
+----------------------------------+
セット内の 1 行 (0.00 秒)

注: データベース内のデータがまだプレーン テキストである場合は、データベース暗号化アルゴリズムを使用して暗号化できます。

例: (デモンストレーションのみ):

t_base_user を更新し、name=md5(name),updated_time=now() を設定します (id=1)。

サポートされている暗号化機能は次のとおりです。

MD5() 関数
des_encrypt(暗号化) / des_decrypt(復号化);
sha1()
password() など

ここでは一つ一つ紹介しません。興味のある学生は公式サイトで詳しい情報を見ることができます。

6. 文字列の連結

コマンド: concat(str,str2,str3)

機能: 文字列を連結する

アプリケーション シナリオ: 文字列を連結します。たとえば、特定のフィールドに指定した文字列を追加します。

例:

mysql> select concat("andy","qian");
+-----------------------+
| 連結("andy","qian") |
+-----------------------+
| アンディチアン |
+-----------------------+
セット内の 1 行 (0.00 秒)

この関数は今でもかなり頻繁に使用されています。基本的に、シナリオは特定の文字列を何らかのデータに追加することです。方法は次のとおりです。

7. JSON関数(バージョン5.7でのみサポート)

コマンド: json_object(function)

機能: JSON文字列を変換する

アプリケーションシナリオ: データ変換json文字列を指定する

例:

mysql> json_object("name","andyqian","database","MySQL") を選択します。
+---------------------------------------------------+
| json_object("名前","andyqian","データベース","MySQL") |
+---------------------------------------------------+
| {"名前": "andyqian", "データベース": "MySQL"} |
+---------------------------------------------------+
セット内の 1 行 (0.00 秒)

その中には json_array があります:

mysql> json_array("name","andyqian","database","MySQL") を選択します。
+--------------------------------------------------+
| json_array("名前","andyqian","データベース","MySQL") |
+--------------------------------------------------+
| ["名前", "andyqian", "データベース", "MySQL"] |
+--------------------------------------------------+
セット内の 1 行 (0.00 秒)

json_valid() を使用して、JSON 文字列かどうかを判断します。

json_valid('{"name": "andyqian", "database": "MySQL"}')を選択します。

有効な JSON 文字列の場合、値は 1 になります。

無効な JSON 文字列の場合は 0。

他にも多くの方法がありますが、一つ一つ説明することはしません。

8. 集計関数

コマンド: sum(), count(), avg(), max(), min()

機能: 統計、平均値、最大値、最小値

アプリケーション シナリオ: このタイプの関数は非常に一般的であり、主にデータ統計に使用され、SQL 最適化にも適用できます。

例:

mysql> t_base_user から max(id) を選択します。
+---------+
| 最大(ID) |
+---------+
| 2 |
+---------+
セット内の 1 行 (0.00 秒)

ここでちょっとしたコツがあります。主キーが昇順で並べられている場合、ユーザー数を知る必要があるときは、count(*) 関数の代わりに max(id) 関数を使用できます。

9. 区別()

コマンド: distinctive

機能: 重複排除

適用シナリオ: 統計タイプ、ステータス、判別計算が必要な場合。

例:

mysql> t_base_user から count(distinct(name))/count(*) を選択します。
+--------------------------------+
| count(distinct(name))/count(*) |
+--------------------------------+
| 0.6667 |
+--------------------------------+
セット内の 1 行 (0.00 秒)

要約する

上記は編集者が紹介した実用的でシンプルな MySQL 関数 10 個です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明
  • MySQL インターセプションと文字列分割関数の使用例
  • PHP mysqli_free_result() と mysqli_fetch_array() 関数の説明
  • MySQL rand関数を使用して乱数を実装する方法
  • MySQL の範囲指定乱数関数 rand() の使用に関するヒント
  • MySQLにおけるJSON系列操作関数の詳しい説明
  • Mysql 行番号() ソート関数の使い方と注意点
  • mysql group_concat() 関数の使用法の概要

<<:  JS オブジェクト コンストラクター Object.freeze

>>:  Tomcat クラスローダーの実装方法とサンプルコード

推薦する

mysql5.7.19 zip 詳細なインストールプロセスと構成

MySQL v5.7.19 正式版(32/64 ビットインストール版および zip 解凍版) 1. ...

MySQL の自動増分主キーが使い果たされた場合の対処方法

面接では、次のようなシナリオを経験する必要があります。インタビュアー: 「MySQL を使用したこと...

複数人チャットルームを実現する js コード

この記事の例では、多人数チャットルームを実装するためのjsコードの具体的なコードを参考までに共有して...

面接官がmysqlのcharとvarcharの違いを尋ねたとき

目次charとvarcharの違いcharとvarcharの違い上記は、MySQL における cha...

HTML テーブル データを Json 形式に変換するサンプル コード

<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...

シンプルなカウントダウン効果を実現するJavaScript

この記事の例では、カウントダウン効果を実現するためのJavaScriptの具体的なコードを参考までに...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

vue + Electron でデスクトップ アプリケーションを作成するためのサンプル コード

1.vueパッケージングここでは、vueネイティブパッケージングコマンドを使用してvueプロジェクト...

WeChatアプレットは日付と時刻に基づいた並べ替え機能を実装

最近、小さなプログラム プロジェクトを引き継いだのですが、リストを日付と時刻で並べ替えるという要件が...

クリックナンバーゲームを実装するネイティブJS

参考までに、クリックナンバーゲームをネイティブJSで実装しました。具体的な内容は以下のとおりです。最...

Linux で Bash コマンド プロンプトをカスタマイズする方法

序文ご存知のとおり、bash (Bourne-Gain Shell) は、ほとんどの Linux デ...

Windows システムで MySQL が起動しない場合の一般的な解決策

MySQL 起動エラーWindows 10 に MySQL をインストールする前は、net star...

MySQL が「operate_time」エラーのデフォルト値が無効であると報告する問題を解決する

データベースでcreate tableステートメントを実行する テーブル `sys_acl` を作成...

mysql サブクエリと結合テーブルの詳細

目次1. サブクエリとは何ですか? 2. 自己結合3. 自然な結合4. 外部接続1. サブクエリとは...

SSH接続を介してXshellを使用したUbuntu 20.04で報告されたサービス問題の詳細な説明

1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...