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

推薦する

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

Linuxで$を#に変更する方法

このシステムでは、# 記号は root ユーザーを表し、$ 記号は通常のユーザーを表します。では、ど...

HTMLでカスタムタグを使用する方法

カスタム タグは XML ファイルと HTML ファイルで自由に使用できますが、いくつか注意すべき点...

WeChatアプレットがログインインターフェースを実装

WeChatアプレットのログインインターフェースは参考までに実装されています。具体的な内容は次のとお...

Bootstrap 3.0 学習ノートボタンスタイル

この記事では主にボタンのスタイルについて説明します。 1. オプション2. サイズ3. 活動状況4....

vue+el-upload は複数ファイルの動的アップロードを実現します

vue+el-upload 複数ファイルの動的アップロード、参考までに具体的な内容は以下のとおりです...

MySQLが中国語の文字を挿入する問題を永久に解決するコツを教えます

目次序文最初のステップ:ステップ2: このmy.iniを変更する要約する序文問題の説明:不正な文字列...

Ubuntu仮想マシンでシリアル通信にcutecomを使用する方法

Ubuntu仮想マシンでのシリアル通信にcutecomを使用する1. cutecomをインストールす...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...

電子署名を実装するWeChatミニプログラム

この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...

ブログデザイン ウェブデザイン デビュー

私がデザインした最初の Web ページは次のとおりです。 私はこの業界に7年間在籍し、プログラミング...

現在使用されている設定ファイル my.cnf を表示する mysql メソッド (推奨)

my.cnfは、MySQL の起動時に読み込まれる設定ファイルです。通常は MySQL インストー...

Vue プロジェクトで SVG コンポーネントをパッケージ化して構成する手順

最近新しい会社に入社しました。プロジェクトに携わった後、タイトルアイコンが svg で作られていると...

CentOS に Nginx をインストールする方法

公式ドキュメント: https://nginx.org/en/linux_packages.html...

Vuex でゲッターとアクションを使用するための追加手順

予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...