MySQLi - 创建表

表创建命令需要 :

  • 表的名称

  • 名称字段

  • 每个字段的定义

语法

这是通用的用于创建MySQLi表的SQL语法 :

CREATE TABLE table_name (column_name column_type);

现在,我们将在 TUTORIALS 数据库中创建以下表格.

CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,
   name VARCHAR(20) NOT NULL,
   primary key (id),
);

这里有几项需要解释去;

  • 正在使用字段属性 NOT NULL ,因为我们不希望此字段为NULL.因此,如果用户尝试创建具有NULL值的记录,那么MySQLi将引发错误.

  • 字段属性 AUTO_INCREMENT 告诉MySQLi继续并将下一个可用的数字添加到id字段.

  • 关键字 PRIMARY KEY 用于将列定义为主要键.您可以使用以逗号分隔的多个列来定义主键.

从命令提示符创建表

这很容易从mysql创建一个MySQLi表>提示.您将使用SQL命令 CREATE TABLE 来创建表.

示例

这是一个示例,它创建 tutorials_tbl :

root@host# mysql -u root -p
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id));
Query OK, 0 rows affected (0.16 sec)

mysql>

注意 : 在SQL命令结束时给出分号(;)之前,MySQLi不会终止命令.

使用PHP脚本创建表

创建在任何现有数据库中的新表,您需要使用PHP函数 mysqli_query().您将使用适当的SQL命令传递其第二个参数以创建表.

示例

以下是使用PHP脚本创建表的示例;

<html>
   <head>
      <title>Creating MySQLi Tables</title>
   </head>
   
   <body>
      <?php  
         $host = 'localhost:3306';  
         $user = 'root';  
         $pass = '<Password Here>';  
         $dbname = 'TUTORIALS';  
         $conn = mysqli_connect($host, $user, $pass,$dbname);  
         
         if(!$conn){  
            die('Could not connect: '.mysqli_connect_error());  
         }  
         echo 'Connected successfully<br/>';  
  
         $sql = "create table tutorials_inf(
            id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id))";  
         
         if(mysqli_query($conn, $sql)){  
         echo "Table created successfully";  
         } else {  
            echo "Table is not created successfully ";  
         }  
         mysqli_close($conn);  
      ?>  
   </body>
</html>

示例输出应该是这样的 :

Connected successfully
Table created successfully