MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. 【MySQL】ランダムに抽出した行を特定の列名でソートする方法

    MySQLでランダムな行を特定の列名順にソートして取得する方法 この記事では、MySQLのテーブルからRAND()関数を使ってランダムに行を抽出し、その結果を特定の列(ここではName列)を基準にソートして表示する方法を、実際のSQL例とともにわかりやすく解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable1339 -> ( -> Name varchar(30), -> Score int -> ); Query OK, 0 rows affect

  2. MySQLで日付が過ぎたかどうかを確認する方法【CURDATE()の使い方】

    MySQLでは、CURDATE()関数(現在の日付を返す関数)と比較演算子を組み合わせることで、特定の日付がすでに過ぎているかどうかを簡単に判定できます。この記事では、サンプルテーブルを作成し、実際に日付の経過を確認する手順を段階的に解説します。 1. サンプルテーブルを作成する まず、DATE型のカラムを持つテーブルを作成します。 mysql> create table DemoTable1340    &;-> (    &;-> Deadline date    &;-> )

  3. MySQLで最後のドット(.)以降の部分文字列を取得する方法

    MySQLで文字列の中から最後のドット(.)より後ろの部分を取り出したい場合は、SUBSTRING_INDEX() 関数を使うのが便利です。この関数は、指定した区切り文字を基準に文字列を分割し、必要な部分だけを返してくれます。この記事では、実際にテーブルを作成し、サンプルデータを使いながら最後のドット以降の部分文字列を取得する手順を解説します。1. サンプルテーブルの作成まず、CREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1341    -> (   

  4. MySQLでyyyy-mm-dd形式の日付(dob)から特定の年だけを抽出して比較する方法

    yyyy-mm-dd形式で保存された日付カラム(例:生年月日のdob)から、特定の年だけを条件にデータを検索したい場合は、MySQLの組み込み関数である YEAR() を使用します。基本的な構文は以下の通りです。SELECT * FROM テーブル名 WHERE YEAR(カラム名) = 年の値;テーブルの作成まず、動作を確認するためのサンプルテーブルを作成しましょう。ここでは、DATE型のDOB(生年月日)カラムを持つテーブルを定義します。mysql> CREATE TABLE DemoTable1322 -> ( -> DOB date -> ); Query OK

  5. MySQLで最後に作成されたテーブル名(最新)を取得するクエリの書き方

    INFORMATION_SCHEMA.TABLESを使って最新のテーブル名を取得する方法MySQLで「最後に作成されたテーブル」の名前を取得したい場合は、INFORMATION_SCHEMA.TABLESを利用します。この情報スキーマには、データベース内のすべてのテーブルに関するメタデータ(テーブル名、作成日時など)が格納されており、create_timeで並べ替えることで、最新のテーブルを簡単に特定できます。ここからは、実際にサンプルテーブルを作成し、最新のテーブル名を取得する手順を見ていきましょう。1. サンプルテーブルの作成まず、今回の例で使うテーブルを作成します。このテーブルが「最新の

  6. MySQLデータベースのテーブルで複合主キーを識別する方法

    MySQLでテーブルに複合主キー(コンポジットプライマリーキー)が設定されているかどうかを確認したい場合、information_schema.KEY_COLUMN_USAGE テーブルに対して集計関数 COUNT(*) を使用する方法が便利です。クエリの結果が1より大きい値を返した場合、そのテーブルには複数のカラムから構成される複合主キーが設定されていることになります。サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable1324 -> ( -> StudentId int, ->

  7. MySQLで識別子(カラム名)なしで結果を並べ替える方法

    MySQLで識別子(カラム名)なしで結果を並べ替える方法MySQLでは、カラム名を指定せずにSELECT結果を並べ替えることができます。その場合は、ORDER BY句にカラムの位置(番号)を指定します。基本構文select * from yourTableName order by 1 DESC LIMIT yourLimitValue;「order by 1」は、SELECT句で指定した1番目のカラムを基準に並べ替えることを意味します。DESCを付けることで降順ソートになります。サンプルテーブルの作成まず、テーブルを作成します。mysql> create table DemoTable

  8. MySQLで秒を含まない形式の時間を抽出する方法

    TIME_FORMAT関数を使って秒を除外した時間を抽出する MySQLで時間データから秒を取り除き、「時:分」の形式だけを抽出したい場合は、TIME_FORMAT() 関数を使用します。まずはサンプル用のテーブルを作成しましょう。 mysql> create table DemoTable1326 -> ( -> Arrivaltime time -> ); Query OK, 0 rows affected (0.50 sec) 次に、INSERTコマンドを使ってテーブルにレコードを挿入します。 mysql> insert into D

  9. MySQLでSELECT文の結果を使って別テーブルへ値を挿入する方法(INSERT INTO SELECT)

    あるテーブルからデータを抽出しながら、別のテーブルに値を挿入したい場合は、INSERT INTO ... SELECT文を使用します。この構文を使えば、SELECT文の実行結果をそのまま別のテーブルに流し込むことができます。WHERE句と組み合わせれば、条件に合致するレコードだけをコピーすることも可能です。ここでは、実際にテーブルを2つ作成し、片方のテーブルからもう片方へデータをコピーする手順を順番に見ていきましょう。手順1:元となるテーブルを作成するまず、コピー元になるテーブル「DemoTable1」を作成します。mysql> create table DemoTable1->

  10. MySQLで文字列の末尾から指定した文字数を切り取る方法

    MySQLで文字列の末尾から指定文字数を削除する方法 MySQLでは、substring()関数とlength()関数を組み合わせることで、文字列の末尾(最後)から指定した文字数を簡単に切り取ることができます。 基本的な考え方は、「文字列全体の長さから削除したい文字数を引いた値」をsubstring()の第3引数に指定するというものです。以下、具体的な手順をサンプルコードとともに見ていきましょう。 1. サンプルテーブルの作成 まず、テスト用のテーブルを作成します。 mysql> create table DemoTable1329     -&

  11. MySQLに数値をDECIMAL型(10進数)として保存・フォーマットする方法

    MySQLで数値を10進数として扱うには? MySQLでは、数値をわざわざ文字列としてフォーマットして保存する必要はありません。DECIMALデータ型を使えば、小数点以下の桁数を指定した正確な10進数としてそのまま格納できます。 例えば DECIMAL(10,2) と定義すると、整数部分が最大8桁、小数部分が2桁の数値を保存できます。小数第3位以下の値は自動的に丸められます。 1. テーブルを作成する まず、DECIMAL型のカラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1330 -> ( -> Amount

  12. MySQLで@記号を使う方法!ユーザー定義変数の基本と実例をわかりやすく解説

    MySQLで@記号を使用するには、SETコマンドを利用します。@記号は、セッション内で有効なユーザー定義変数を設定する際に使われる記号です。変数に値を格納しておけば、後続のクエリ内でその値を何度でも再利用できるため、条件の共通化や一時的な値の保持に非常に便利です。 @記号によるユーザー定義変数の基本構文 ユーザー定義変数を設定する基本的な構文は以下のとおりです。 SET @anyVariableName := yourValue; :=は代入演算子で、右側の値を左側の変数に代入します。これにより、以降のSQL文の中で@anyVariableNameを参照できるようになります。 サンプルテーブル

  13. MySQLのZF(ZEROFILL)とは?カラム宣言におけるゼロ埋めの意味と使い方を解説

    MySQLにおけるZF(ZEROFILL)の意味「ZF」とは ZEROFILL の略で、MySQLのカラム宣言において数値の桁数が足りない場合に先頭を0で埋める(ゼロ埋め)ことを指します。この属性を指定すると、定義した表示幅に合わせて自動的に左側へ0が補完されます。まず、int型のフィールドサイズを10に設定したテーブルを作成してみましょう。mysql> create table DemoTable1332     -> (     -> Number int(10) ZEROFILL NOT N

  14. ER図の最小化:カーディナリティ別に見る最適なテーブル数

    問題の概要ER図(Entity Relationship Diagram)とは、データベースを構成するさまざまなテーブルと、それらの間の関係を視覚的に表現した図のことです。ER図を適切に設計・分析することで、データベースに必要なテーブル数を削減し、効率的なスキーマを構築することができます。1対1のカーディナリティまず、1対1のカーディナリティを持つ以下のER図を見てみましょう。このER図は、次の3つのエンティティで構成されています。従業員(Employee)エンティティ:emp_name という属性を持ち、emp_id が主キーとなります。会社(Company)エンティティ:cmp_name

  15. 【MySQL】UNION ALLを使って複数テーブルのCOUNT合計を1つのクエリで取得する方法

    はじめにMySQLでは、複数のテーブルに保存されたデータの件数(COUNT)をまとめて集計したいケースがあります。そんなときに便利なのがUNION ALLです。UNION ALLを使えば、複数のSELECT文の結果を1つに結合し、その合計値を単一のクエリで取得できます。本記事では、サンプルテーブルを作成しながら、具体的な手順をわかりやすく解説します。1つ目のテーブルを作成するまず、以下のCREATE TABLE文で最初のテーブル「DemoTable1」を作成します。mysql> create table DemoTable1-> (-> Id int,-> Name v

  16. 【MySQL】数値の差順にレコードを並べ替えて表示するクエリの書き方

    MySQLでは、ORDER BY句に2つの列の差を指定することで、その数値の差に基づいてレコードを並べ替えて表示できます。点数の差や値の乖離が小さい順(または大きい順)にデータを確認したい場合に便利なテクニックです。基本構文数値の差順にレコードを表示するには、以下のような構文を使用します。select *from テーブル名order by (整数カラム名1 - 整数カラム名2);サンプルテーブルの作成まず、動作を確認するためのテーブルを作成しましょう。mysql> create table DemoTable1313-> (-> Name varchar(20),->

  17. MySQLのIN()句でカンマ区切りの文字列を使う方法

    MySQLのIN()句にカンマ区切りの文字列を設定するには、以下の構文のように値を1つの文字列として指定します。select *from yourTableName where yourColumnName IN(yourCommaSeparatedValue);サンプルテーブルの作成まず、動作確認用のテーブルを作成しましょう。mysql> create table DemoTable1314-> (-> Number varchar(100)-> );Query OK, 0 rows affected (0.53 sec)レコードの挿入insertコマンドを使って、カ

  18. 【MySQL】空の値(空文字列)をNULLに変換するUPDATEクエリの書き方

    MySQLでは、UPDATE文のSET句とWHERE句を組み合わせるだけで、カラムに入っている空の値(空文字列)をNULLへ簡単に変換できます。ここからは、実際のサンプルを使って手順を詳しく解説していきます。 1. サンプルテーブルを作成する まず、以下のコマンドでテーブルを作成しましょう。 mysql> create table DemoTable1315 -> ( -> CountryName varchar(10) -> ); Query OK, 0 rows affected (0.60 sec) 2. レコードを挿入する 次に、INSERTコマンドでレコー

  19. MySQLでテーブル内の単語をテキストから検索・抽出する方法

    MySQLでは、テーブルに保存されている単語が、任意のテキスト文字列の中に含まれているかどうかを確認し、一致する単語だけを抽出することができます。本記事では、LIKE演算子とCONCAT関数を組み合わせたシンプルな手法を、具体的なサンプルコードとともに解説します。 1. サンプルテーブルを作成する まず、単語を格納するためのテーブルを作成します。ここでは「Value」というカラムを持つ「DemoTable1316」テーブルを使用します。 mysql> create table DemoTable1316 -> ( -> Value varchar(40) -> ); Q

  20. MySQLのサブクエリでIN()を使って複数の結果を返す方法をわかりやすく解説

    MySQLでは、IN() 演算子をサブクエリと組み合わせることで、複数の結果を簡単に取得できます。IN()は、指定したリストやサブクエリが返す値の中に一致するものが存在するかどうかを判定するための演算子であり、条件に合致する複数行を一度に抽出する際に非常に便利です。この記事では、実際にテーブルを作成し、サブクエリでIN()を使用して複数のレコードを返す手順を順番に解説します。1. テーブルを作成するまず、以下のコマンドでサンプル用のテーブルを作成します。mysql> create table DemoTable1317 -> ( -> Id int NOT NULL AUTO

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:50/229  20-コンピューター/Page Goto:1 44 45 46 47 48 49 50 51 52 53 54 55 56