MySQLに接続するに続いてデータベースを作成する方法を紹介します。この場合、接続ユーザーにデータベースを作成する権限がなければ新規でデータベースを作成することができまん。またここで設定されるデータベースはデフォルトの文字コードなどに自動的に設定されます。(詳細な設定も可能ですが、ここでは割愛)
create database <データベース名> default character set utf8
というふうに文字コードを明示的に指定してデータベースを作成することもできます。(実際この方が確実です。というのもmy.cnfファイルの設定によっては自分が思うような文字コードに設定されていないことがあるからです。)
<?MySQLに接続後、SQL文を発行することで様々な操作が可能です。MySQLにSQL文を送信するには、mysql_query関数を利用します。これはSQL文を送信する際にはすべて子の関数を用いることが可能で、引数にSQL文を渡すのみです。
# 接続情報
$db_user = "username";
$db_password = "123456";
$db_host = "localhost";
# データベースに接続
$db = mysql_connect ($db_host,$db_user,$db_password) or die ("Connect error !\n");
mysql_query("set names utf8");
$sql = "create database test_database";
mysql_query($sql);
# print $db."<br />\n";
mysql_close($db);
?>
mysql_query("<SQL文>");ここでは、SQL文にcreate databaseを発行して新規でデータベースを作成しています。
create database <データベース名>削除する際は同様に、drop databaseを利用します。
drop databases <データベース名>phpからSQL文を発行する際には、phpの文字コードとMySQLの文字コードが違う場合には文字化けしてしまいます。MySQLのデフォルト文字コードは最近ではUTF-8に設定されていますし、phpやHTMLも最近ではUTF-8で書かれていることが多いので問題は少ないと思いますが明示的にクライアント文字コードを指定しておいた方がよいかもしれません。その場合、set names utf8をSQL文として渡します。
create database <データベース名> default character set utf8
というふうに文字コードを明示的に指定してデータベースを作成することもできます。(実際この方が確実です。というのもmy.cnfファイルの設定によっては自分が思うような文字コードに設定されていないことがあるからです。)



