MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLで時刻の区切り文字として使える句読点はどれ?任意の記号が利用できる理由を解説

    MySQLの時刻値における区切り文字の柔軟性日付値の場合と同様に、MySQLでは時刻値についても「緩やかな形式(relaxed format)」が許容されています。これは、時刻の各部分(時・分・秒)の間の区切り文字として、標準のコロン(:)に限らず、任意の句読点文字を使用できることを意味します。たとえば「+」「*」「@」「&」といった記号を区切り文字として指定しても、MySQLはそれらを正しく解釈し、結果は常に標準的な「HH:MM:SS」形式(コロン区切り)に変換されて返されます。具体的な使用例以下は、さまざまな句読点を区切り文字としてTIMESTAMP関数に渡した場合の実行例です。m

  2. MySQLのTIMESTAMP関数で日付と時刻の区切りに「T」を使う方法

    MySQLのTIMESTAMPで日付と時刻を区切る文字についてMySQLでは、通常、日付と時刻を指定する際には半角スペースで区切ります。しかし、実はスペースの代わりに大文字の「T」だけを使用することも可能です。これはISO 8601形式(国際標準の日時表記)に準拠した書き方で、MySQLが正式にサポートしています。なお、使用できるのは大文字の「T」のみであり、小文字の「t」を指定するとエラーになる点に注意が必要です。具体的な使用例以下の例では、日付「2017-10-20」と時刻「06:10:36」の間に「T」を挿入してTIMESTAMP関数に渡しています。結果を見ると、スペースで区切った場合と

  3. 日付と時刻の間に「T」やスペース以外の文字を使うとMySQLは何を返す?

    TIMESTAMP関数での不正な区切り文字の扱いMySQLでは、日付と時刻をつなぐ区切り文字として通常「T」または半角スペースが使用されます。しかし、これら以外の文字(例えば「W」など)を区切りとして挿入した場合、MySQLは正しい日付部分とともに、時刻部分をすべてゼロ(00:00:00)として返します。具体例:文字「W」を区切りに使用した場合以下の例では、日付「2017-10-20」と時刻「06:10:36」の間に、「T」やスペースの代わりに文字「W」を挿入しています。mysql> Select TIMESTAMP(2017-10-20W06:10:36); +------------

  4. MySQLでDUALテーブルなしに計算結果を取得する方法

    Oracleなどのデータベースでは、定数や計算式をSELECTする際に「FROM DUAL」というダミーテーブルの指定が必要ですが、MySQLではFROM句を省略できます。つまり、SELECT文に計算式や値を直接記述するだけで、その演算結果を取得することが可能です。基本的な使い方以下のように、SELECTの後に単純な計算式を指定するだけで、その結果が返されます。mysql> Select 1+1; +-----+ | 1+1 | +-----+ | 2 | +-----+ 1 row in set (0.02 sec)同様に、定数のみを指定して選択することもできます。mysql&

  5. MySQLのINSERT INTO文でWHERE句を使う2つの方法を実例つきで解説

    MySQLでは、INSERT INTOコマンドに条件付き挿入(WHERE句)を組み合わせることが可能です。INSERT文にはWHERE句を直接記述できませんが、SELECT文と組み合わせることで、条件を満たす場合だけ行を挿入するといった制御が実現できます。主な方法は以下の2つです。 方法1:ダミーテーブル(DUAL)を使う この方法では、ダミーテーブル「dual」から値をSELECTしながら条件を指定し、その結果をINSERTします。MySQLでもDUALが利用できるため、単一の値を条件付きで挿入したいケースに便利です。基本構文は以下の通りです。 INSERT INTO table_nam

  6. MySQLで式や関数の計算結果(自己計算出力)を行に挿入する方法

    はじめに MySQLでは、テーブルの行にデータを挿入する際、単なる固定値だけでなく、式や関数による計算結果(自己計算出力)をそのまま値として使用することができます。これにより、挿入時に動的に値を生成したり、複数の関数を組み合わせた結果を保存したりすることが可能になります。 基本構文 INSERT文とSELECT文を組み合わせることで、式や関数の実行結果を挿入できます。基本的な構文は次のとおりです。 INSERT INTO テーブル名(カラム1, カラム2) SELECT 式1, 関数名(引数); 通常のVALUES句の代わりにSELECT句を使うことで、式や関数の出力結果を直接テーブルへ

  7. MySQLのCTAS(CREATE TABLE AS SELECT)とは?概念と使い方をわかりやすく解説

    CTASとは「CREATE TABLE AS SELECT」の略称で、既存のテーブルを基に新しいテーブルを作成するためのSQL文です。この構文を使うと、元のテーブルの構造(カラム定義)とデータの両方をまとめてコピーできます。バックアップテーブルの作成やテーブルの複製など、さまざまな場面で活用できる便利な機能です。 CTASの基本構文 CREATE TABLE 新しいテーブル名 AS SELECT * FROM 既存のテーブル名; 具体例:EmployeeテーブルからEMP_BACKUPテーブルを作成する 以下の例では、既に存在する「Employee」テーブルを元に、「EMP_BACKUP」とい

  8. MySQLのINTERVALキーワードとEXTRACT()関数を組み合わせて日付の一部を抽出する方法

    MySQLでは、INTERVALキーワードとEXTRACT()関数を組み合わせることで、日付や時刻に加算・減算を行ったうえで、年や月などの特定の部分だけを簡単に抽出できます。ここでは、具体的な例を使ってその使い方を解説します。テーブルのカラムに対してINTERVALキーワードを使用する例まず、テーブルに保存されている日付データに対して、EXTRACT()関数とINTERVALキーワードを組み合わせて使用する例を見てみましょう。mysql> Select StudentName, RegDate, EXTRACT(YEAR from RegDate+INTERVAL 2 year) AS

  9. MySQLのDATEDIFF()関数とは?使い方と仕組みをわかりやすく解説

    MySQLのDATEDIFF()関数とはMySQLのDATEDIFF()関数は、2つの日付の間の日数を返す関数です。内部的には「date1 − date2」を計算しており、最初の引数から2番目の引数を差し引いた日数が結果として得られます。基本構文DATEDIFF(date1, date2)引数の順序に注意が必要です。date1とdate2を入れ替えると、結果の符号(プラス・マイナス)も反転します。使用例例えば、「2017-10-22」と「2017-09-21」という2つの日付の間の日数を調べたい場合は、次のようにDATEDIFF()関数を使用します。mysql> Select DATED

  10. CTAS(CREATE TABLE AS SELECT)スクリプトでテーブルを作成する際にWHERE句を活用する方法

    CTASスクリプトとWHERE句の組み合わせCTAS(Create Table As Select)は、既存のテーブルからデータと構造をまとめてコピーし、新しいテーブルを作成できる便利な機能です。さらに、このCTASスクリプトにWHERE句を組み合わせることで、特定の条件を満たす行だけを抽出した新しいテーブルを作成することも可能です。WHERE句を使用したCTASの実行例以下の例では、「EMPLOYEE」テーブルからidが300で、名前が「Mohan」である行だけを抽出し、「EMP_BACKUP2」という新しいテーブルを作成しています。mysql> Create table EMP_BA

  11. MySQLのDATEDIFF()関数が返す負の値を無視して絶対値を取得する方法

    MySQLのDATEDIFF()関数で返される負の値を無視する方法 ご存じのとおり、MySQLのDATEDIFF()関数は、2つの日付の間の日数差を取得するために使用されます。この関数は「最初の日付 − 2番目の日付」という計算を行うため、引数の順序によっては負の値が返されることも十分にあり得ます。 まず、以下のようなテーブル「differ」を例に考えてみましょう。 mysql> select * from differ; +------------+-------------+ | OrderDate | WorkingDate | +------------+-----------

  12. MySQLのSELECTステートメントとは?基本構文と使い方をわかりやすく解説

    プロンプト上で直接実行できるだけでなく、PHPなどのスクリプト言語からも呼び出すことができます。 SELECTの基本構文 MySQLテーブルからデータを取得する際の、SELECTコマンドの一般的な構文は以下のとおりです。 SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE Clause] [OFFSET M ][LIMIT N] SELECT文を使ううえでのポイント 複数のテーブルをカンマで区切って指定でき、WHERE句と組み合わせてさまざまな条件を設定できます。なお、WHERE句はSELECT文にお

  13. MySQLの関数を使って2つの日付の年・月・日の差分を返す方法

    MySQLでは、日付値を引数として受け取り、年・月・日の差分を返す関数を自作することができます。以下の手順で作成してみましょう。mysql> CREATE FUNCTION date_difference(Date1 DATE, date2 DATE) RETURNS VARCHAR(30) -> RETURN CONCAT( -> @years := TIMESTAMPDIFF(YEAR, date1, date2),IF (@years = 1, year, , years, ), -> @months := TIMESTAMPDIFF(

  14. MySQLでテーブルの構造・データ・トリガー・インデックスを丸ごと複製する方法

    既存のテーブルとまったく同じ構造を持つ新しいテーブルを作成し、さらにデータ、トリガー、インデックスまで含めて複製したい場合、CREATE TABLE ... LIKE 構文と INSERT INTO ... SELECT 構文を組み合わせた、次の2つのクエリを実行します。 CREATE TABLE new_table LIKE old_table; INSERT new_table SELECT * from old_table; CREATE TABLE ... LIKE は元テーブルの構造(カラム定義、主キー、インデックスなど)をそのまま引き継いで空のテーブルを作成し、続く INSERT

  15. MySQLで既存テーブルと同じ構造のテーブルを自動的に作成する方法(CREATE TABLE ... LIKE)

    MySQLでは、CREATE TABLE文にLIKEキーワードを組み合わせることで、既存のテーブルとまったく同じ構造(カラム定義、データ型、主キー、AUTO_INCREMENT属性など)を持つ新しいテーブルを簡単に作成できます。カラムを一つずつ手動で定義する必要がないため、テーブルの複製やバックアップ用テーブルの作成に非常に便利です。基本構文CREATE TABLE 新しいテーブル名 LIKE 既存のテーブル名;この構文を実行すると、元のテーブルのカラム定義だけでなく、インデックスや主キー制約などの属性もそのまま引き継がれます。ただし、テーブル内のデータはコピーされない点に注意してください。デ

  16. MySQLでDATETIME型の値を合計秒数に変換する方法【UNIX_TIMESTAMP関数の使い方】

    MySQLのDATETIME値を秒数に変換するには MySQLでは、UNIX_TIMESTAMP() 関数を使うことで、DATETIME型の値(日時インスタンス)を合計秒数に簡単に変換できます。UNIX_TIMESTAMP関数は、指定された日時を「1970年1月1日 00:00:00 UTC」からの経過秒数(UNIXタイムスタンプ)として返します。 1. 特定の日時を秒数に変換する 以下のクエリでは、指定した日時「2017-05-15 04:05:30」を合計秒数に変換しています。 mysql> Select UNIX_TIMESTAMP(2017-05-15 04:05:30) AS

  17. MySQLのALTER TABLEコマンドでカラムにコメントを追加する方法

    MySQLでは、ALTER TABLEコマンドでカラムを変更する際に「COMMENT」キーワードを使用することで、カラムにコメントを追加できます。コメントはテーブル構造をドキュメント化するのに役立ち、後からデータベースを参照する開発者にとって貴重な情報となります。例えば、テーブル「testing」のカラム「id」にコメントを追加したい場合は、以下のようにMODIFY句とCOMMENTキーワードを組み合わせたクエリを実行します。mysql> ALTER TABLE testing MODIFY id INT COMMENT id of employees; Query OK, 0 rows

  18. MySQLで現在の日付や特定の日付から四半期(クォーター)を求める方法

    MySQLでは、EXTRACT() 関数に単位として quarter を指定することで、日付から四半期(第何四半期か)を簡単に取得できます。四半期は1年を4つに区切った区分で、1〜4の数値として返されます。特定の日付から四半期を取得する次のように、対象となる日付を直接指定して実行します。mysql> Select EXTRACT(Quarter from 2017-07-29); +------------------------------------+ | EXTRACT(Quarter from 2017-07-29) | +----------------------------

  19. MySQLのEXTRACT()関数に日付値のみを渡して時刻を抽出すると、どのような出力になるのか?

    はじめにMySQLのEXTRACT()関数は、日付や日時の値から特定の部分(年、月、日、時、分、秒など)を取り出すための便利な関数です。しかし、この関数に日付値のみを渡して時刻の情報(時・分・秒)を抽出しようとすると、どのような動作になるのでしょうか。結論から言うと、MySQLは不正な時刻値として警告(Warning)を発行しつつ、何らかの数値を返します。以下、具体例とともに確認していきましょう。日付から「時(Hour)」を抽出した場合日付値「2017-10-20」から時(Hour)を抽出しようとすると、EXTRACT()関数は0を返し、同時に警告が出力されます。mysql> Selec

  20. MySQLのEXTRACT()関数で使える複合単位とは?一覧と使い方を解説

    MySQLのEXTRACT()関数で使用できる複合単位MySQLのEXTRACT()関数では、日付や時刻から特定の部分を抽出する際に、複合単位(compound units)を使用できます。複合単位を活用することで、「年と月」や「日と時刻」のように、複数の要素を一度に抽出することが可能です。EXTRACT()関数で使える複合単位の一覧EXTRACT()関数で利用できる複合単位は以下の11種類です。SECOND_MICROSECOND(秒・マイクロ秒)MINUTE_MICROSECOND(分・マイクロ秒)HOUR_MICROSECOND(時・マイクロ秒)DAY_MICROSECOND(日・マイク

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:221/229  20-コンピューター/Page Goto:1 215 216 217 218 219 220 221 222 223 224 225 226 227