-
値として日付を含むMySQLテーブルからレコードを検索するにはどうすればよいですか?
「detail_bday」という名前のテーブルから次のデータを使用している次の例を使用すると、理解できます- mysql> Select * from detail_bday; +----+---------+------------+ | Sr | Name | Birth_Date | +----+---------+------------+ | 1 | Saurabh | 1990-05-12 | | 2 | Raman | 1993-06-11 | | 3 | Gaurav | 1984-0
-
UPDATEステートメントのSET句で新しい値を割り当てるために使用されるサブクエリが行を返さない場合、MySQLは何を返しますか?
この場合、MySQLはSET句にNULL値を提供します。次の例はそれを示します- 例 mysql> Select * from student; +----+---------+-----------+ | Id | Name | grade | +----+---------+-----------+ | 1 | Rahul | Good | | 2 | Gaurav | Good | | 3 &nbs
-
固定長の文字列と可変長の文字列を同じMySQLテーブルに保存するにはどうすればよいですか?
CHARは固定長の文字列を格納するために使用され、VARCHARは可変長の文字列を格納するために使用されることがわかっています。したがって、列をCHARとして宣言し、その他をVARCHARとして宣言することで、固定長と可変長の文字列を同じテーブルに格納できます。 例 mysql> Create Table Employees(FirstName CHAR(10), LastName VARCHAR(10)); Query OK, 0 rows affected (0.64 sec) mysql> Desc Employees; +-----------+-------------
-
MySQLでは、SERIALとAUTO_INCREMENTの違いは何ですか?
MySQLでは、SERIALとAUTO_INCREMENTの両方を使用して、フィールドのデフォルト値としてシーケンスを定義します。ただし、技術的には異なります。 AUTO_INCREMENT属性は、BITおよびDECIMALを除くすべての数値データ型でサポートされています。テーブルごとに存在できるAUTO_INCREMENTフィールドは1つだけであり、1つのテーブルのAUTO_INCREMENTフィールドによって生成されたシーケンスは、他のテーブルでは使用できません。 この属性では、シーケンスに重複がないことを確認するために、フィールドにUNIQUEインデックスが存在する必要があります。
-
単一のMySQLUPDATEステートメントで複数の行の列値を更新するにはどうすればよいですか?
WHERE句で指定された条件が複数の行に一致する場合、複数の行の列値を1つのUPDATEステートメントで更新できます。この場合、SET句は一致したすべての行に適用されます。 例 次のようなテーブル「入札」があるとします- mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 &
-
MySQLテーブルの値を更新するにはどうすればよいですか?
UPDATEステートメントとWHERE句を使用して、テーブルの1行または複数行の値を更新できます。 MySQLは、WHERE句で指定された条件に基づいて値を更新します。たとえば、「employee」テーブルで、idが1の従業員の「name」と「doj」を変更するとします。次のクエリで実行できます- mysql> UPDATE employee SET name = 'Gaurav', doj = '2010-02-01' WHERE id = 1; Query OK, 1 row affected (0.06 sec) Rows matched: 1 Ch
-
MySQL FROM_UNIXTIME()関数を使用して日時値を数値形式で返す方法は?
日時の値に0(+0)を加算することで、時刻を整数に変換できることがわかっています。同様の方法で、FROM_UNIXTIME()関数によって返される日時値を数値形式に変換できます。次の例はそれをより明確にします- mysql> Select FROM_UNIXTIME(1555033470)+0 AS 'Date in Numeric Format'; +------------------------+ | Date in Numeric Format | +------------------------+ | 20190412071430.000000 |
-
MySQL関数STR_TO_DATE(Column、‘%input_format’)をどのように使用できますか?
STR_TO_DATE()関数は、文字列値を日時値に変換し、特定のフォーマット文字列に従います。文字列値とフォーマット文字列の両方を引数として関数に渡す必要があります。 STR_TO_DATE()関数の構文は次のとおりです。 STR_TO_DATE(string, format) ここで、stringは日時値に変換する必要のあるstringの値であり、formatは指定された日付形式です。 次の例では、指定された文字列から、指定された形式に従って有効な日付を返します。 mysql> Select STR_TO_DATE('20172810', '%Y%d%m&
-
MySQL INSERTステートメントでデフォルト値を指定するにはどうすればよいですか?
テーブルの作成時に、デフォルト値で列が定義されている場合、INSERTステートメントでキーワード「DEFAULT」を使用することにより、その列のデフォルト値を取得できます。たとえば、次のように、列「DOJ」のデフォルト値を持つテーブル「employee」を作成しました- mysql> Create table employee(id int, name varchar(20), doj date DEFAULT '2005-01-01'); Query OK, 0 rows affected (0.09 sec) mysql> Insert into employ
-
STR_TO_DATE()関数に引数として無効な文字列を渡すと、MySQLは何を返しますか?
STR_TO_DATE()関数の引数として無効な文字列を渡すと、MySQLは警告とともに出力としてNULLを返します。以下は同じことを理解するための例です- mysql> Select STR_TO_DATE('20173210', '%Y%d%m'); +-----------------------------------+ | STR_TO_DATE('20173210', '%Y%d%m') | +-----------------------------------+ | NULL &n
-
指定されたフォーマット文字列がSTR_TO_DATE()関数に引数として渡された日付文字列と一致しない場合、MySQLは何を返しますか?
指定されたフォーマット文字列と日付文字列が一致しなかった場合、MySQLは警告とともに出力としてNULL値を返します。以下は同じことを理解するための例です- mysql> Select STR_TO_DATE('20172810', '%Y,%d%m'); +------------------------------------+ | STR_TO_DATE('20172810', '%Y,%d%m') | +------------------------------------+ | NULL  
-
MySQL関数を作成して、年、月、日、時間、分、秒の期間を調べるにはどうすればよいですか?
以下は、2つの日付の間の期間を年、月、日、時間、分、秒で計算するMySQL関数です。 mysql> DROP FUNCTION IF EXISTS Duration; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> DROP FUNCTION IF EXISTS Label123; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> DELIMITER // mysql> CREATE FUNCTION Duration( dtd1 datetim
-
GET_FORMAT()関数をDATE_FORMAT()およびSTR_TO_DATE()関数とどのように組み合わせることができますか?
GET_FORMAT()関数をDATE_FORMAT()およびSTR_TO_DATE()関数と組み合わせると非常に便利です。 DATE_FORMAT()との組み合わせ DATE_FORMAT()と組み合わせると、特定の日付、時刻、または日時をGET_FORMAT()関数から取得した形式で配置します。 mysql> Select DATE_FORMAT('2017-10-22',GET_FORMAT(date,'USA'))AS 'DATE IN USA FORMAT'; +-------------------+ | DATE IN U
-
MySQL GET_FORMAT()関数の使用法は何ですか?
MySQL GET_FORMAT()関数は、DATE、TIME、DATETIME、TIMESTAMPなどのデータ型を、2番目の引数として指定された標準形式に基づいた形式で変換するために使用されます。標準のフォーマットタイプは、EUR、INTERNAL、ISO、JIS、またはUSAです。返されるフォーマットコードは、DATE_FORMAT()関数で使用されるものと同じコードです。この関数は、DATE_FORMAT()およびSTR_TO_DATE()関数と組み合わせて使用すると便利です。 構文 GET_FORMAT(data_type, standard_format) ここで前述したように、
-
MySQLによって返される結果セットのグループレベルでフィルタリング基準をどのように適用できますか?
SELECTステートメントのGROUPBY句は、MySQLによって返される結果セットをグループに分割できることがわかっています。ここで、特定のグループのみを返したい場合は、グループレベルでフィルタリング基準を適用する必要があります。これは、GROUPBY句内でHAVING句を使用して実行できます。以下の例はそれを示しています- 例 平均給与が55000のグループのみを返したい場合、HAVING句で次のようにフィルタリング基準を使用する必要があります- mysql> Select count(*),AVG(salary),Designation from employees GROUP B
-
MySQLから返された結果セットをグループに分割するにはどうすればよいですか?
これは、SELECTステートメントでGROUPBY句を使用して実行できます。 GROUP BY句を使用して、グループ化基準として列を指定できます。指定されたグループ化基準により、特定の列で同じ値を持つ行は単一のグループと見なされます。このようにして、MySQLSELECTステートメントによって返される結果セットはグループに分割されます。 例 以下はそれを理解するための良い例です- 次のように「従業員」という名前のテーブルがあります- mysql> Select * from employees; +------+-------------+--------+------------+
-
UnixタイムスタンプからMySQLタイムスタンプ値に変換する方法は?
MySQLは、FROM_UNIXTIME()関数を使用してUnixタイムスタンプをタイムスタンプデータ型の値に変換します。 例 mysql> Select FROM_UNIXTIME(1508622563); +-----------------------------+ | FROM_UNIXTIME(1508622563) | +-----------------------------+ | 2017-10-22 03:19:23 | +-----------------------------+ 1 row i
-
MySQLで時刻/日付の処理をオフロードするにはどうすればよいですか?
DATE_FORMAT()関数を使用して、時刻/日付の処理をMySQLにオフロードできます。日付と時刻は、関数に引数として渡されたフォーマット単位に基づいてオフロードされます。 たとえば、日付形式の単位を引数としてMySQL DATE_FORMAT()関数に渡すと、MySQLは次のように日付のみをオフロードします- mysql> Select DATE_FORMAT("2017-10-22 13:03:45", "%Y %M %D")AS 'OFFLOADED DATE'; +-------------------+ | OFFL
-
TIME_FORMAT()関数を使用してMySQLの時刻/日付値をオフロードするにはどうすればよいですか?
TIME_FORMAT()関数は、DATE_FORMAT()関数と同様の方法で使用できますが、時間値のオフロードにのみ使用できます。 TIME_FORMAT()関数を使用して日付値をオフロードする場合、MySQLはNULL値を返します。 たとえば、時間形式の単位を引数としてMySQL TIME_FORMAT()関数に渡すと、MySQLは次のように時間のみをオフロードします- mysql> Select TIME_FORMAT("2017-10-22 13:03:45", "%h %i %s %p")AS 'OFFLOADED TIME
-
MySQLで特定の日付から月と日を取得するにはどうすればよいですか?
それは2つの方法で流入して行うことができます- (A)EXRACT()関数を使用 -EXTRACT()関数は、MySQLTIMESTAMP値から任意の部分をフェッチできます。以下は、特定の日付から月と日を取得する例です。 mysql> Select EXTRACT(Month from '2017-10-22') AS 'MONTH'; +-------+ | MONTH | +-------+ | 10 | +-------+ 1 row in set (0.00 sec) mysql> Select EXTRACT(