PHPスクリプトを使ってMySQLテーブルを作成する方法をわかりやすく解説
PHPには、MySQLのクエリを実行するための mysql_query 関数が用意されており、これを使うことでMySQLテーブルを作成できます。ここでは、PHPスクリプトから「Tutorials_tbl」という名前のテーブルを作成する具体例を見ていきましょう。
サンプルコード:PHPでMySQLテーブルを作成する
以下の例では、まずデータベースに接続し、その後 CREATE TABLE 文を実行してテーブルを生成しています。
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE tutorials_tbl( ".
"tutorial_id INT NOT NULL AUTO_INCREMENT, ".
"tutorial_title VARCHAR(100) NOT NULL, ".
"tutorial_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( tutorial_id )); ";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>
コードのポイント解説
- 接続処理:
mysql_connect()でホスト・ユーザー名・パスワードを指定してMySQLサーバーに接続します。接続に失敗した場合はdie()でエラーメッセージを表示して処理を中断します。 - CREATE TABLE文:
tutorial_idは自動採番(AUTO_INCREMENT)の主キー、tutorial_titleとtutorial_authorは必須の文字列カラム、submission_dateは日付型カラムとして定義しています。 - データベース選択:
mysql_select_db()で操作対象のデータベース(ここでは TUTORIALS)を選択してからクエリを実行します。 - 実行と確認:
mysql_query()の戻り値をチェックし、成功すれば「Table created successfully」と表示します。 - 接続解除: 処理が完了したら
mysql_close()で接続を閉じます。
注意:mysql_* 系関数は非推奨(PHP 7で削除)
上記の mysql_connect や mysql_query といった mysql 拡張モジュールの関数は、PHP 5.5以降で非推奨となり、PHP 7では完全に削除されました。現在の環境で動かす場合は、後継である mysqli 拡張または PDO を使用してください。
たとえば mysqli を使った場合、接続は mysqli_connect()、クエリ実行は mysqli_query() に置き換えるだけで、基本的な流れは同じです。また、実際の開発ではSQLインジェクション対策として、プリペアドステートメントの利用も推奨されます。
-
MySQLのビューからテーブルを作成する方法を徹底解説!基本構文と実行手順
ビューからテーブルを作成する基本構文 MySQLでは、ビュー(VIEW)をもとに新しいテーブルを簡単に作成できます。基本となる構文は以下の通りです。 create table yourTableName select * from yourViewName; このように「CREATE TABLE ... SELECT」構文を使うことで、ビューの構造とデータをそのまま新しいテーブルへ复制できます。以下、具体的な手順を見ていきましょう。 ステップ1:サンプルテーブルを作成する まず、元となるテーブルを作成します。 mysql> create table DemoTable830(Name
-
MySQLでインデックス付きのテーブルを作成する方法を徹底解説
MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp