这是创建MySQL表的通用SQL语法-
CREATE TABLE [IF NOT EXISTS] table_name(
column_definition1,
column_definition2,
........,
table_constraints
);
现在,无涯教程将在 Learnfk 数据库中创建下表。
create table Learnfk_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 ) );
在这里,一些项目需要解释-
字段属性 NOT NULL ,因为无涯教程不希望该字段为NULL,因此,如果用户尝试使用NULL值创建记录,则MySQL将引发错误。
字段属性 AUTO_INCREMENT 告诉MySQL id字段值自动自增+1。
关键字 PRIMARY KEY 用于将列定义为主键,您可以使用由逗号分隔的多个列来定义主键。
命令行创建表
从mysql>提示符创建MySQL表很容易。您将使用SQL命令CREATE TABLE创建一个表。
这是一个示例,它将创建 Learnfk_tbl -
root@host# mysql -u root -p Enter password:******* mysql> use Learnfk; Database changed mysql> CREATE TABLE Learnfk_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 ) -> ); Query OK, 0 rows affected (0.16 sec) mysql>
注意-MySQL不会终止命令,直到在SQL命令的末尾加上分号(;)为止。
PHP脚本创建表
要在任何现有数据库中创建新表,您将需要使用PHP函数 mysqli_query(),您将使用适当的SQL命令传递其第二个参数来创建表。
以下程序是使用PHP脚本创建表的示例-
<html> <head> <title>Creating MySQL Tables</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword';$dbname="Learnfk"; $conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname); if(! $conn ) { die('Could not connect: ' . mysqli_connect_error()); } echo 'Connected successfully<br />'; $sql = "CREATE TABLE Learnfk_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 )); "; //mysqli_select_db($conn, 'Learnfk' ); $retval = mysqli_query( $conn,$sql ); if(! $retval ) { die('Could not create table: ' .mysqli_error($conn)); } echo "Table created successfully\n"; mysqli_close($conn); ?> </body> </html>