MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルを作成するPHP関数は?mysql_queryの使い方と注意点

PHPでMySQLテーブルを作成するには、mysql_query関数を使用します。この関数は2つの引数を受け取り、クエリの実行に成功した場合はTRUE、失敗した場合はFALSEを返します。基本的な構文は以下の通りです。

構文

bool mysql_query( sql, connection );

パラメータの詳細

この関数で使用される各パラメータの内容は次の通りです。

No. パラメータと説明
1

sql

必須項目です。テーブルを作成するためのSQLクエリ(CREATE TABLE文など)を指定します。

2

connection

省略可能な項目です。接続を指定しない場合は、mysql_connectによって最後に開かれた接続が自動的に使用されます。


注意:mysql_queryは現在非推奨

重要な点として、mysql_query関数を含む旧MySQL拡張モジュール(ext/mysql)は、PHP 5.5で非推奨となり、PHP 7.0以降では完全に削除されました。そのため、最新の環境ではこの関数を使用できません。

現在の開発では、代わりに以下のいずれかを使用することが強く推奨されています。

  • mysqli_query … MySQLi拡張モジュールによる手続き型・オブジェクト型両対応の関数
  • PDO::query … 複数データベースに対応したPDO(PHP Data Objects)によるメソッド

mysqli_queryを使った記述例

参考までに、MySQLiを使ってテーブルを作成するサンプルコードを紹介します。

$mysqli = new mysqli("localhost", "username", "password", "database");

$sql = "CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100)
)";

if ($mysqli->query($sql) === TRUE) {
    echo "テーブルの作成に成功しました";
} else {
    echo "エラー: " . $mysqli->error;
}

このように、新しいプロジェクトではMySQLiまたはPDOを採用することで、セキュリティ面(プリペアドステートメント対応など)と保守性の両方が向上します。

  1. MySQLストアドプロシージャで一時テーブル(TEMPORARY TABLE)を作成する方法

    MySQLストアドプロシージャで一時テーブルを作成する基本構文MySQLのストアドプロシージャ内で一時テーブル(TEMPORARY TABLE)を作成する場合、基本となる構文は以下の通りです。CREATE PROCEDURE yourProcedureName() BEGIN CREATE TEMPORARY TABLE yourTemporaryTableName SELECT yourValue; ENDストアドプロシージャの作成例それでは、実際にこの構文を使って一時テーブルを作成し、テーブルにレコードを挿入してみましょう。まずは、一時テーブルを作成するストアドプロシージャを定義す

  2. MySQLでテーブルを動的に作成する方法(ストアドプロシージャ活用)

    MySQLでテーブルを動的に作成したい場合は、ストアドプロシージャを利用するのが便利です。この記事では、StudentId(int型)とStudentName(varchar型)の2つのカラムを持つテーブルを、任意のテーブル名で動的に生成する手順を解説します。 ストアドプロシージャの作成 まず、テーブル名を引数として受け取り、動的にCREATE TABLE文を組み立てて実行するストアドプロシージャを作成します。 mysql> DELIMITER $$ mysql> CREATE PROCEDURE creatingDynamicTableDemo(yourTableName VAR