阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      MySQL 创建数据表

      MySQL 创建数据表

      创建 MySQL 数据表需要以下信息:

      • 表名
      • 表字段名
      • 定义每个表字段

      语法

      以下为创建 MySQL 数据表的 SQL 通用语法:

      CREATE TABLE table_name (column_name column_type);
      
      

      以下例子中我们将在 axihe 数据库中创建数据表 axihe_tbl:

      CREATE TABLE IF NOT EXISTS `axihe_tbl`(
         `axihe_id` INT UNSIGNED AUTO_INCREMENT,
         `axihe_title` VARCHAR(100) NOT NULL,
         `axihe_author` VARCHAR(40) NOT NULL,
         `submission_date` DATE,
         PRIMARY KEY ( `axihe_id` )
      )ENGINE=InnoDB DEFAULT CHARSET=utf8;
      
      

      实例解析:

      • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
      • AUTO_INCREMENT 定义列为自增的属性,一般用于主键,数值会自动加 1。
      • PRIMARY KEY 关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
      • ENGINE 设置存储引擎,CHARSET 设置编码。

      通过命令提示符创建表

      通过 mysql> 命令窗口可以很简单的创建 MySQL 数据表。你可以使用 SQL 语句 CREATE TABLE 来创建数据表。

      实例

      以下为创建数据表 axihe_tbl 实例:

      root@host# mysql -u root -p
      Enter password:*******
      mysql> use axihe;
      Database changed
      mysql> CREATE TABLE axihe_tbl(
         -> axihe_id INT NOT NULL AUTO_INCREMENT,
         -> axihe_title VARCHAR(100) NOT NULL,
         -> axihe_author VARCHAR(40) NOT NULL,
         -> submission_date DATE,
         -> PRIMARY KEY ( axihe_id )
         -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
      Query OK, 0 rows affected (0.16 sec)
      mysql>
      
      

      **注意:**MySQL 命令终止符为分号 ; 。

      注意: -> 是换行符标识,不要复制。

      使用 PHP 脚本创建数据表

      你可以使用 PHP 的 mysqli_query() 函数来创建已存在数据库的数据表。

      该函数有两个参数,在执行成功时返回 TRUE,否则返回 FALSE。

      语法

      mysqli_query(connection,query,resultmode);
      
      参数描述
      connection必需。规定要使用的 MySQL 连接。
      query必需,规定查询字符串。
      resultmode

      可选。一个常量。可以是下列值中的任意一个:

      • MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
      • MYSQLI_STORE_RESULT(默认)

      以下实例使用了 PHP 脚本来创建数据表:

      <?php
      $dbhost = 'localhost:3306';  // mysql服务器主机地址
      $dbuser = 'root';            // mysql用户名
      $dbpass = '123456';          // mysql用户名密码
      $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
      if(! $conn )
      {
          die('连接失败: ' . mysqli_error($conn));
      }
      echo '连接成功<br />';
      $sql = "CREATE TABLE axihe_tbl( ".
              "axihe_id INT NOT NULL AUTO_INCREMENT, ".
              "axihe_title VARCHAR(100) NOT NULL, ".
              "axihe_author VARCHAR(40) NOT NULL, ".
              "submission_date DATE, ".
              "PRIMARY KEY ( axihe_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
      mysqli_select_db( $conn, 'axihe' );
      $retval = mysqli_query( $conn, $sql );
      if(! $retval )
      {
          die('数据表创建失败: ' . mysqli_error($conn));
      }
      echo "数据表创建成功\n";
      mysqli_close($conn);
      ?>
      

      执行成功后,就可以通过命令行查看表结构:

      目录
      目录