MySQL

 Computer >> コンピューター >  >> プログラミング >> MySQL
  1. MySQLのハッシュパスワード保存に適したデータ型とは?MD5・SHA-1の使い方を解説

    ハッシュパスワードに適したデータ型 MySQLでハッシュ化されたパスワードを保存する際のデータ型は、使用するハッシュアルゴリズムによって異なります。ハッシュアルゴリズムには「入力データのサイズに依存せず、常に固定長の結果を出力する」という特徴があり、出力は16進数の文字列として得られます。また、UNHEX()関数を使えば、16進数の文字列を半分の長さのバイナリデータに変換できるため、ストレージ容量を節約することも可能です。 代表的なハッシュアルゴリズムと、それぞれに対応する推奨データ型は以下の通りです。 MD5:CHAR(32) または BINARY(16) SHA-1:CHAR(40) ま

  2. pipを使ってPythonにMySQLdbモジュールをインストールする方法

    pipでPythonのMySQLdbモジュールをインストールする手順 PythonからMySQLデータベースへ接続するためには、MySQLdbモジュールが必要です。この記事では、pipコマンドを使用してMySQLdbモジュールをインストールする具体的な手順を解説します。 前提条件:Pythonのバージョンを確認する まず、お使いの環境に最新版のPython(本記事では3.7を想定)がインストールされていることを確認してください。Pythonが未インストールの場合は、公式サイトからダウンロードしてインストールしておきましょう。 ステップ1:コマンドプロンプトを開く pipコマンドは、Pyth

  3. MySQLでJSONデータ型を使ってデータを保存する方法

    MySQLでは、JSONデータ型を利用することで、構造化されていないデータや可変的なデータをそのままJSON形式で保存できます。従来のカラム設計では対応しづらい柔軟なデータも、JSONカラムに格納すればスキーマの変更なしに扱えるのが大きなメリットです。 ここでは、実際にテーブルを作成してJSONデータを保存する手順を見ていきましょう。 1. JSONカラムを含むテーブルを作成する まず、JSON型のカラムを持つテーブルを作成します。 mysql> CREATE table JsonAsMySQLDemo -> ( -> id int, -> na

  4. MySQLのサブクエリではEXISTSとINのどちらを使うべき?使い分けのポイントを解説

    EXISTSとINの基本的な違い EXISTSは、サブクエリが1件でも結果を返すかどうかを判定するために使用される演算子です。一方、INは、ある値が指定した値の集合やサブクエリの結果の中に含まれているかどうかを比較するために使用されます。INでは具体的な値(リテラル値)を用いて比較を行います。 ポイント: サブクエリの結果セットが非常に小さい場合にはINが推奨されます。逆に、サブクエリの結果が非常に大きい場合にはEXISTSを使用するのが適しています。これは、MySQLのオプティマイザがそれぞれの演算子を異なる方法で処理するためで、データ量に応じてパフォーマンスに大きな差が生じることがあります

  5. MySQLストアドルーチンに配列を渡す方法【FIND_IN_SET活用】

    MySQLには他のプログラミング言語のような配列型が存在しないため、ストアドルーチン(ストアドプロシージャ)に「配列」を渡したい場合は、カンマ区切りの文字列としてパラメータを受け取り、FIND_IN_SET()関数で照合するのが定番のテクニックです。ここでは、実際にサンプルテーブルとストアドプロシージャを作成しながら、その手順をわかりやすく解説します。 1. サンプルテーブルの作成 まず、例として使用するテーブル「FindDemo」を作成します。 mysql> create table FindDemo -> ( -> name varchar(100)

  6. MySQLでAUTO_INCREMENT列のID断片化(欠番)を処理する方法

    MySQLにおける自動インクリメントIDの断片化とはデータベースで連番を管理する際、一意なIDの採番に関して問題が発生することがあります。特に、行を削除したりサーバーを再起動したりすると、AUTO_INCREMENTの値に「欠番(断片化)」が生じる場合があります。MySQL 5.6のInnoDBでは、INSERT文にID列を明示的に含めることで、自動採番のIDを再利用(任意の値を指定)することが可能です。IDに断片化(欠番)が発生する主なケース最大の番号を持つIDを削除した場合MySQLサーバーを起動・停止した場合新しいレコードを挿入した場合実際の動作を確認する例まず、auto_increme

  7. MySQLでデータベーススキーマの変更履歴を追跡する方法

    単一のデータベースを持つプロジェクトでテーブルを運用する場合、スキーマのバージョン管理やマイグレーションを活用することで、データベーススキーマの変更を安全に実施できます。この手法の目的は、データベースのスキーマ変更や構造変更の履歴を確実に追跡できるようにすることです。スキーマ変更を記録するためのテーブル作成まず、スキーマの変更履歴を保存する専用のテーブルを作成します。このテーブルには、変更日時、識別キー、バージョン情報を格納します。 mysql> create table SchemaDatabaseMethodDemo -> ( -> `WhenTime` ti

  8. MySQLのDECIMAL型(10進数)の使い方を徹底解説!正確な数値を保存する方法

    MySQLのDECIMAL型は、金額など誤差が許されない「正確な数値」を格納するためのデータ型です。FLOAT型やDOUBLE型は浮動小数点数として近似値を扱うため丸め誤差が発生しますが、DECIMAL型は文字列と同様の仕組みで数値を保持するため、正確な値をそのまま保存できます。DECIMAL型の基本構文DECIMAL型は以下のように、全体の桁数(M)と小数点以下の桁数(D)を指定して定義します。yourColumnName DECIMAL(M, D);M(精度): 小数点を含む全体の最大桁数(1〜65)D(スケール): 小数点以下の桁数(0〜30)例えば DECIMAL(6,2) の場合、「

  9. MySQLで既存のカラムにUNIQUE制約を追加する方法

    MySQLで既存のカラムを一意(UNIQUE)にする方法MySQLで既存のフィールド(カラム)を一意にするには、ALTER TABLEコマンドを使用してUNIQUE制約を設定します。本記事では、実際のコード例とともに、その手順をわかりやすく解説します。1. サンプルテーブルを作成するまず、動作確認用のテーブルを作成しましょう。mysql> create table AddingUnique -> ( -> Id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.44 s

  10. MySQLで現在のタイムゾーンを取得するには?基本構文とnow()関数の使い方

    MySQLのタイムゾーンを確認する基本の構文MySQLで現在設定されているタイムゾーンを確認するには、システム変数である @@global.time_zone(グローバル設定)と @@session.time_zone(セッション設定)を参照します。以下がその構文です。 mysql> SELECT @@global.time_zone, @@session.time_zone; 実行結果は以下の通りです。 +--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +-

  11. MySQLで日付に1日を追加する方法|DATE_ADD()関数の使い方を解説

    MySQLでは、DATE_ADD()関数を使うことで、日付や日時の値に簡単に1日を追加できます。この関数は、指定した日付に任意の間隔(インターバル)を加算するための標準的な方法です。基本構文DATE_ADD()関数の基本構文は以下の通りです。DATE_ADD(日付, INTERVAL 追加する値 単位)テーブルの作成まず、サンプル用のテーブルを作成します。 mysql> create table Add1DayDemo -> ( -> id int, -> MyDate datetime not null -> ); Query OK, 0

  12. JavaScriptの日時をMySQLの日時形式に変換する方法

    JavaScriptで取得した日時をMySQLの日時形式(YYYY-MM-DD HH:MM:SS)に変換するには、toISOString()メソッドを活用するのが便利です。toISOString()は日付をISO 8601形式の文字列(例:2018-11-23T11:14:38.000Z)で返します。この文字列から必要な部分を切り出し、「T」を半角スペースに置き換えることで、MySQLで扱える日時形式に変換できます。以下に、JavaScriptの実装例を示します。サンプルコード<!DOCTYPE html> <html>    <head>

  13. MySQLの外部キー(FOREIGN KEY)とは?作成方法と確認方法を実例付きで解説

    外部キー(FOREIGN KEY)とは 外部キーは、テーブル間の整合性(参照整合性)を維持するために使用される制約の一種です。あるテーブルに外部キーを作成すると、そのテーブルは「子テーブル」と呼ばれ、参照先となるもう一方のテーブルは「親テーブル」と呼ばれます。 親テーブル側では、外部キーの参照先となる列が主キー(PRIMARY KEY)として機能します。それでは、実際にテーブルを作成しながら手順を見ていきましょう。 子テーブルの作成 まず、外部キーを持つことになる子テーブル「StudentEnrollment」を作成します。 mysql> create table StudentEn

  14. MySQLでタイムスタンプを日時(DATETIME)に変換する方法|FROM_UNIXTIME関数の使い方を解説

    MySQLでは、FROM_UNIXTIME()関数を使うことで、UNIXタイムスタンプを簡単に日時(DATETIME)形式へ変換できます。この記事では、実際にテーブルを作成し、int型で保存されたタイムスタンプを日時に変換する手順を順番に解説します。 1. int型カラムを持つテーブルを作成する まずは、タイムスタンプを格納するためのint型カラムを持つテーブルを作成します。 mysql> create table TimestamptoDateDemo -> ( -> YourTimeStamp int(11) -> ); Query OK, 0

  15. MySQLのテーブル名の最大長は?64文字制限の確認方法とエラー例

    MySQLのテーブル名の最大長は64文字MySQL バージョン8.0.12において、テーブル名(識別子)の最大長は64文字です。この上限を超えるテーブル名を指定してテーブルを作成しようとすると、作成は失敗し、エラーがスローされます。なお、この64文字という制限はテーブル名だけでなく、データベース名やカラム名など、MySQLが扱う各種識別子にも共通して適用されるものです。インストールされているMySQLのバージョンを確認するまず、ご自身の環境にインストールされているMySQLのバージョンを確認しておきましょう。以下のSQLコマンドを実行します。 mysql> select version(

  16. MySQLでテーブルの最後の10件のレコードを取得する方法

    MySQLでテーブルの末尾にある10行(最新の10件)を取得したい場合は、SELECT文とLIMIT句を組み合わせたサブクエリを利用します。この記事では、実際にテーブルを作成し、データを挿入しながら、最後の10件を取得するクエリの手順を具体的に解説します。 1. サンプルテーブルの作成 まず、動作確認用のテーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected

  17. MySQLのBIT型とTINYINT型の違いを徹底解説!保存できる値の範囲と使い分け

    MySQLにはさまざまな数値データ型が用意されていますが、その中でも「BIT」と「TINYINT」は、小さな値を格納するための型としてよく比較されます。この記事では、両者の違いとそれぞれの特徴を、実際のSQL実行例を交えながらわかりやすく解説します。 BIT型とTINYINT型の基本的な違い BIT型:1ビット(0または1)のみ格納可能 BIT型は、1ビットの値を格納するためのデータ型です。保存できるのは 0 か 1 のみ です。たとえば「2」のような値は格納できず、BIT型のカラムに挿入しようとするとMySQLはエラーを返します。 TINYINT型:8ビット(最大127まで)格納可能

  18. MySQLのBOOLEAN型とTINYINT(1)の違いとは?実例でわかりやすく解説

    MySQLにおけるBOOLEANとTINYINT(1)の基本的な違い MySQLにおいて、BOOLEAN(ブール型)とTINYINT(1)の根本的な違いは、実は命名規則(セマンティクス)だけです。内部的には両者はまったく同じデータ型として扱われ、いわば同義語(シノニム)の関係にあります。 つまり、「true / false」という真偽値を扱いたい場面ではBOOLEANを思い浮かべるのが自然ですし、数値として「0 / 1」を扱いたい場面ではTINYINT(1)を選ぶ、という使い分けの考え方になります。 どちらのデータ型を使っても、格納できる値は「0」「1」(あるいはtrue / false)であ

  19. MySQLのカーディナリティとは?意味と種類、UNIQUE制約を使った実例をわかりやすく解説

    MySQLにおける「カーディナリティ(Cardinality)」とは、カラム(列)に格納されるデータ値の一意性(ユニークさ)の度合いを表す概念です。この性質は、データの検索・クラスタリング・ソートの効率に大きな影響を与えます。 また、MySQLではインデックスの統計情報としてもカーディナリティが利用されており、オプティマイザが実行計画を立てる際の判断材料になります。そのため、カーディナリティの理解はパフォーマンスチューニングの観点からも重要です。 カーディナリティの2つの種類 カーディナリティは、その値の分布によって主に次の2種類に分類されます。 低カーディナリティ(Low Cardinal

  20. 【MySQL】IPアドレスを保存するのに最適なデータ型は?INT UNSIGNEDとINET_ATON/INET_NTOAの使い方

    IPアドレスの保存にはINT UNSIGNED型がおすすめ MySQLでIPアドレスを扱う場合、INT UNSIGNED型を使うのが効率的です。IPv4アドレスは32ビットの整数値として表現できるため、文字列型で保存するよりもストレージ容量を節約でき、検索や比較も高速になります。 ポイントは、データの登録時(INSERT)にINET_ATON()関数を、取得時(SELECT)にINET_NTOA()関数を使用することです。これにより、ドット区切り形式(例:120.0.0.1)のIPアドレスと数値を相互に変換できます。 それでは、具体的な手順を見ていきましょう。 1. テーブルの作成 まず、IN

Total 4564 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:169/229  20-コンピューター/Page Goto:1 163 164 165 166 167 168 169 170 171 172 173 174 175