表创建命令需要 :
表的名称
名称字段
每个字段的定义
这是通用的用于创建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函数 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