MySQLのint(11)型カラムを使いこなすためのチュートリアル

2024-04-02

MySQLのint(11)型カラムのサイズ(バイト数)

MySQLのint(11)型カラムのサイズは4バイトです。これは32ビット整数と同じで、-2,147,483,648から2,147,483,647までの範囲の値を格納できます。

詳細

  • int型は、符号付き整数型です。
  • (11)は、表示幅を表します。これは、数値がどのように表示されるかを決定します。
    • 例えば、int(11)型カラムに1234567890という値を格納すると、表示幅が11なので、01234567890のように左側にゼロパディングされます。
    • 表示幅は、データの格納サイズには影響しません。
  • int(11)型カラムは、4バイトのメモリを使用します。
  • 4バイトを超える値を格納したい場合は、bigint型などの別のデータ型を使用する必要があります。

補足

  • MySQLのバージョンによっては、int型カラムのサイズが異なる場合があります。
  • int型カラムにNULL値を格納することは可能です。

CREATE TABLE my_table (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT(11) NULL,
  PRIMARY KEY (id)
);

上記の例では、my_tableテーブルに3つのカラムが作成されます。

  • idカラムは、int(11)型で、NOT NULL制約とAUTO_INCREMENT属性を持つ。これは、このカラムが主キーであり、自動的に1ずつ増加することを意味します。
  • nameカラムは、VARCHAR(255)型で、NOT NULL制約を持つ。これは、このカラムが最大255文字の文字列を格納できることを意味します。



import mysql.connector

# データベースへの接続
connection = mysql.connector.connect(
  host="localhost",
  user="root",
  password="password",
  database="my_database"
)

# カーソルの作成
cursor = connection.cursor()

# データの挿入
sql = "INSERT INTO my_table (name, age) VALUES (%s, %s)"
values = ("John Doe", 30)
cursor.execute(sql, values)

# データの更新
sql = "UPDATE my_table SET age = %s WHERE id = %s"
values = (31, 1)
cursor.execute(sql, values)

# データの取得
sql = "SELECT * FROM my_table"
cursor.execute(sql)
results = cursor.fetchall()

# 結果の表示
for row in results:
  print(row)

# カーソルのクローズ
cursor.close()

# データベースへの接続の切断
connection.close()

上記のコードは、my_databaseデータベースのmy_tableテーブルにデータを挿入、更新、取得する例です。

  • nameカラムはVARCHAR(255)型、ageカラムはint(11)型です。
  • idカラムは主キーであり、自動的に1ずつ増加します。

実行結果

(1, 'John Doe', 31)
  • 上記のコードは、Pythonのmysql.connectorモジュールを使用して、MySQLデータベースに接続しています。
  • 他のプログラミング言語を使用する場合は、その言語に対応したデータベース接続モジュールを使用する必要があります。



  • デフォルト値の設定
CREATE TABLE my_table (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT(11) DEFAULT 18,
  PRIMARY KEY (id)
);

上記の例では、ageカラムのデフォルト値を18に設定しています。

  • CHECK制約の設定
CREATE TABLE my_table (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT(11) CHECK (age >= 18 AND age <= 100),
  PRIMARY KEY (id)
);

上記の例では、ageカラムの値が18から100までの範囲であることをCHECK制約でチェックしています。

  • UNIQUE制約の設定
CREATE TABLE my_table (
  id INT(11) NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  age INT(11) UNIQUE,
  PRIMARY KEY (id)
);

上記の例では、ageカラムにUNIQUE制約を設定しています。これは、ageカラムの値がすべてユニークである必要があることを意味します。


mysql types int


PDOでMySQL挿入の成功判定:rowCount、lastInsertId、affectedRowsの比較

rowCount() メソッドを使用する最も簡単な方法は、PDOStatement オブジェクトの rowCount() メソッドを使用する方法です。このメソッドは、挿入された行数を返します。挿入が成功した場合、返される値は1になります。以下の例をご覧ください。...


SQL初心者でも安心!MySQLで複数テーブルを更新する方法をわかりやすく解説!

JOIN句は、複数のテーブルからデータを関連付けて結合する機能です。UPDATE句は、テーブル内のデータを更新する機能です。以下に、具体的な手順と例を説明します。まず、更新したいデータがどのテーブルに存在するかを明確にします。更新対象となるテーブルが複数ある場合は、それらのテーブルを結合する必要があります。...


Prepared StatementsとBatch insertion:Node.jsでMySQLへ大量挿入を行うための選択肢

Prepared Statements を使用する利点:安全性が高い:SQLインジェクションなどの脆弱性を防ぐパフォーマンスが良い:INSERT文を一度だけ準備し、繰り返し実行することで、データベースへの負荷を軽減コードが読みやすい:INSERT文を複数回記述するよりも、可読性が高い...


さようなら手動設定! MySQL 5.5で主キーに自動デフォルト値を設定する方法

この変更の利点:簡素化されたスキーマ定義: デフォルト値を明示的に指定する必要がないため、スキーマ定義が簡潔になります。データ整合性の向上: 主キー列に常に値が入力されるため、データの整合性が向上します。重複データの削減: 自動生成されたデフォルト値は一意であるため、重複データが発生する可能性が低くなります。...


【初心者でも安心】MySQLとMariaDBでForeignKeyを使って関連テーブルのデータを取得する方法

前提条件このチュートリアルを実行するには、次のものが必要です。MySQL または MariaDB がインストールされているコンピュータサンプルデータを含むデータベース基本的な SQL の知識使用するテーブルこのチュートリアルでは、次の 2 つのテーブルを使用します。...


SQL SQL SQL SQL Amazon で見る



MySQL zerofill属性の代替手段:文字列型、トリガー、アプリケーションロジックを活用

利点:例:zerofill属性は、可読性、比較性、整合性、ソート順序を向上させるために、数値型カラムで使用できる便利な機能です。注:zerofill属性は、ストレージ要件をわずかに増加させる可能性があります。zerofill属性は、符号なし整数型にのみ適用できます。