PHP MySQL 创建数据库与表格
一个数据库可以具有一个或多个表格。
创建一个数据库
CREATE DATABASE表达式用来在MySQL中创建一个数据库。
语法:
CREATE DATABASE database_name
若要让PHP执行上述的表达式,我们必须使用mysql_query()函数。该函数用来发送一个查询或命令给到MySQL链接。
示例:
下列示例创建了一个名为“my_db”的数据库:
$con = mysql_connect("localhost","peter","abc123");
if(!$con)
{
die('Could not connect:' .
mysql_error());
}
if(mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating
database:" . mysql_error();
}
mysql_close($con);
?>
创建一个表格
CREATE TABLE表达式用来在MySQL中创建一个表格。
语法:
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)
我们必须添加CREATE TABLE表达式给mysql_query()函数执行该命令。
示例:
下列示例创建一个名为“Persons”的表格,三列。这些列名为“FirstName”、“LastName”、“Age”:
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect:' .
mysql_error());
}
//Create database
if(my_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating
database:" .mysql_error();
}
//Create table
mysql_select_db("my_db",$con);
$sql = "CREATE TABLE Persons
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
//Execute query
mysql_query($sql,$con);
mysql_close($con);
?>
重要:一个数据库必须在表格可以选择之前创建。数据库通过mysql_select_db()函数选择。
提示:当你创建一个数据库varchar类型域时,你必须确定域的最大长度,比如varchar(15)。
数据类型确定该列可以保存的数据类型。
主键域自动增加域
每个表都应该有一个主键域。
主键用来唯一识别一个表格中的行。每个主键的数值必须是读一的,在表格内。而且,主键域不能为空,因为数据库引擎需要一个数值来定位记录。
下面的示例设置了personID为主键域。主键域一般为ID号,通常与AUTO_INCREMENT设置搭配使用。AUTO_INCREMENT自动增加数值,每次以1为单位,在新记录添加的时候。确保主键域不能为空,我们必须增加NOT
NULL设置给该域。
示例:
$dql = "CREATE TABLE Persons
(
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);