便利でシンプルな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 クラスローダーの実装方法とサンプルコード

推薦する

Vueコンポーネントドキュメント生成ツールライブラリのメソッド

目次.vue ファイルの解析文書情報を抽出するコンポーネント名、説明、プロパティ、メソッド、モデルを...

Vue はモバイル端末にマルチグリッド入力ボックスを実装

最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...

JavaScript オブジェクトの 3 つのプロパティ

目次1. 書き込み可能: 書き込み可能2. 列挙可能: 列挙可能3. 設定可能: 設定可能オブジェク...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

PrometheusはGrafanaディスプレイを使用してMySQLを監視します

目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

MySQL空間関数を使用してロケーションパンチインを実装するための完全な手順

序文プロジェクトの要件は、ユーザーの現在の位置が特定の地理的位置範囲内にあるかどうかを判断することで...

JSX を使用してコンポーネント パーサー開発を構築する例

目次JSX環境の構築プロジェクトの設定NPMを初期化するwebpackをインストールするBabelを...

Linux の MariaDB データベースについて

目次Linux の MariaDB データベースについて1. データベースとは何ですか? 2. デー...

MySQL の order by ステートメントの最適化方法の詳細な説明

この記事では、ORDER BY文の最適化について学びます。その前に、インデックスの基礎的な理解が必要...

MySQLの明示的な型変換の簡単な分析

CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...

一般的なイベントを処理するための JavaScript の使用に関する詳細な説明

目次1. フォームイベント2. マウスイベント3. キーボードイベント4. 共通イベントメソッド(ウ...

Vmwareでディスクを追加する方法:ディスクを拡張する

この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...