事例: さまざまな関数を使ってデータを操作し、さまざまな関数の機能と使い方をマスターします。
(1) 数学関数 rand() を使用して、10 以内の 3 つのランダムな整数を生成します。
(2) sin()、con()、tan()、cot()関数を使用して三角関数の値を計算し、計算結果を整数値に変換します。
(3) テーブルを作成し、文字列関数と日付関数を使用してフィールド値を操作します。
(4) 条件判定のユースケース m_birth
が 2000 未満の場合は「高齢」、m_birth が 2000 を超える場合は「若い」と表示されます。
(無料学習の推奨事項: mysql ビデオ チュートリアル)
mysql> select round( rand() * 10 ),round( rand() * 10 ), round( rand() * 10 );+----------------------+----------------------+----------------------+| round( rand() * 10 ) | round( rand() * 10 ) | round( rand() * 10 ) |+----------------------+----------------------+----------------------+| 9 | 8 | 1 |+----------------------+----------------------+----------------------+1 row in set (0.00 sec)
mysql> select pi(), -> sin(pi()/2), -> cos(pi()), -> round(tan(pi()/4)), -> floor(cot(pi()/4));+----------+-------------+-----------+--------------------+--------------------+| pi() | sin(pi()/2) | cos(pi()) | round(tan(pi()/4)) | floor(cot(pi()/4)) |+----------+-------------+-----------+--------------------+--------------------+| 3.141593 | 1 | -1 | 1 | 1 |+----------+-------------+-----------+--------------------+--------------------+1 row in set (0.00 sec)
① auto_increment 制約の m_id フィールド、varchar 型の m_FN フィールド、varchar 型の m_LN フィールド、datetime 型の m_birth フィールド、varchar 型の m_info フィールドの 5 つのフィールドを含むテーブル メンバーを作成します。 。
mysql> create table member -> ( -> m_id int auto_increment primary key, -> m_FN varchar(100), -> m_LN varchar(100), -> m_birth datetime, -> m_info varchar(255) null -> );Query OK, 0 rows affected (0.21 sec)
②レコードを挿入します。m_id 値はデフォルト、m_FN 値は「Halen」、m_LN 値は「Park」、m_birth 値は 1970-06-29、m-info 値は"いい男"。
mysql> insert into member values -> ( null,'Halen','Park','1970-06-29','GoodMan');Query OK, 1 row affected (0.01 sec)mysql> select * from member;+------+-------+------+---------------------+---------+| m_id | m_FN | m_LN | m_birth | m_info |+------+-------+------+---------------------+---------+| 1 | Halen | Park | 1970-06-29 00:00:00 | GoodMan |+------+-------+------+---------------------+---------+1 row in set (0.00 sec)
③m_FN の長さを返し、最初のレコード内の人のフルネームを返し、m_info フィールドの値を小文字に変換します。 m_infoの値を反転して出力します。
mysql> select length(m_FN),concat(m_FN,m_LN), -> lower(m_info),reverse(m_info) from member;+--------------+-------------------+---------------+-----------------+| length(m_FN) | concat(m_FN,m_LN) | lower(m_info) | reverse(m_info) |+--------------+-------------------+---------------+-----------------+| 5 | HalenPark | goodman | naMdooG |+--------------+-------------------+---------------+-----------------+1 row in set (0.00 sec)
④ 最初のレコード内の人の年齢を計算し、その年の m_birth フィールドの値の位置を計算し、時刻の値を「1997 年 10 月 4 日土曜日」の形式で出力します。
mysql> select year(curdate())-year(m_birth) as age,dayofyear(m_birth) as days, -> date_format(m_birth,'%W %D %M %Y') as birthDate from member;+------+------+-----------------------+| age | days | birthDate |+------+------+-----------------------+| 49 | 180 | Monday 29th June 1970 |+------+------+-----------------------+1 row in set (0.00 sec)
⑤新しいレコードを挿入します。m_FN 値は「Samuel」、m_LN 値は「Greem」、m_birth 値は現在のシステム時刻、m_info は空です。最後に挿入された ID 値を表示するには、last_insert_id を使用します。
mysql> insert into member values( null,'Samuel','Green',now(),null);Query OK, 1 row affected (0.04 sec)mysql> select * from member;+------+--------+-------+---------------------+---------+| m_id | m_FN | m_LN | m_birth | m_info |+------+--------+-------+---------------------+---------+| 1 | Halen | Park | 1970-06-29 00:00:00 | GoodMan || 2 | Samuel | Green | 2019-08-20 12:43:23 | NULL |+------+--------+-------+---------------------+---------+3 rows in set (0.00 sec)
テーブル内に 2 つのレコードがあることがわかります。次に、last_insert_id() 関数を使用して、最後に挿入された ID 値を表示します。SQL ステートメントは次のとおりです:
mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+| 3 |+------------------+1 row in set (0.00 sec)
mysql> select m_birth,case when year(m_birth)<2000 then 'old' -> when year(m_birth)>2000 then 'young' -> else 'not born' end as status from member;+---------------------+--------+| m_birth | status |+---------------------+--------+| 1970-06-29 00:00:00 | old || 2019-08-20 12:43:23 | young |+---------------------+--------+3 rows in set (0.00 sec)
関連する無料学習の推奨事項: mysql データベース(ビデオ)
以上がMySQL 演習 3: MySQL 関数の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。