美文网首页从0到1玩转网络安全MySQL程序员
从0到1学习网络安全 【MySQL基础-MySQL 创建数据表】

从0到1学习网络安全 【MySQL基础-MySQL 创建数据表】

作者: _07 | 来源:发表于2018-02-07 10:44 被阅读47次

    MySQL 创建数据表

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

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

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

    CREATE TABLE table_name (column_name column_type);

    以下例子中我们将在 mydb 数据库中创建数据表mydb_jianshu:
    首先我们需要用 use mydb 选择要操作的数据库:

    CREATE TABLE IF NOT EXISTS `mydb_jianshu`(
       `jianshu_id` INT UNSIGNED AUTO_INCREMENT,
       `jianshu_title` VARCHAR(100) NOT NULL,
       `jianshu_author` VARCHAR(40) NOT NULL,
       `submission_date` DATE,
       PRIMARY KEY ( `jianshu_id` )
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

    实例解析:

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

    通过命令提示符创建表

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

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

    C:\Users\Administrator.USER-20171227ZP>mysql -u root -p
    Enter password:******
    mysql> use mydb;
    Database changed
    mysql> CREATE TABLE mydb_jianshu(
        -> jianshu_id INT NOT NULL AUTO_INCREMENT,
        -> jianshu_title VARCHAR(100) NOT NULL,
        -> jianshu_author VARCHAR(40) NOT NULL,
        -> submission_date DATE,
        -> PRIMARY KEY (jianshu_id)
        -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    Query OK, 0 rows affected (0.36 sec)
    

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


    使用PHP脚本创建数据表

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

    <?php
    $dbname = 'mydb';
    $servername = 'localhost';
    $username = 'root';
    $password = '';
    try {
        $conn = new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
        // 设置 PDO 错误模式为异常
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "CREATE TABLE mydb_jianshu(" .
            "jianshu_id INT NOT NULL AUTO_INCREMENT," .
            "jianshu_title VARCHAR(100) NOT NULL," .
            "jianshu_author VARCHAR(40) NOT NULL," .
            "submission_date DATE," .
            "PRIMARY KEY (jianshu_id)" .
            ")ENGINE=InnoDB DEFAULT CHARSET=utf8;";
    
        //使用 exec() ,因为没有结果返回
        $conn->exec($sql);
    
        echo "数据表 mydb_jianshu 创建成功<br>";
    } catch (PDOException $e) {
        echo $sql . "<br>" . $e->getMessage();
    }
    
    $conn = null;
    ?>
    

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

    mysql> use mydb;
    Database changed
    mysql> show tables;
    +----------------+
    | Tables_in_mydb |
    +----------------+
    | mydb_jianshu   |
    +----------------+
    1 row in set (0.00 sec)
    
    mysql> desc mydb_jianshu;
    +-----------------+--------------+------+-----+---------+----------------+
    | Field           | Type         | Null | Key | Default | Extra          |
    +-----------------+--------------+------+-----+---------+----------------+
    | jianshu_id      | int(11)      | NO   | PRI | NULL    | auto_increment |
    | jianshu_title   | varchar(100) | NO   |     | NULL    |                |
    | jianshu_author  | varchar(40)  | NO   |     | NULL    |                |
    | submission_date | date         | YES  |     | NULL    |                |
    +-----------------+--------------+------+-----+---------+----------------+
    4 rows in set (0.02 sec)
    


    一起学习一起进步,写的不好见谅。

    从0到1学习网络安全 【目录】

    相关文章

      网友评论

        本文标题:从0到1学习网络安全 【MySQL基础-MySQL 创建数据表】

        本文链接:https://www.haomeiwen.com/subject/bcrozxtx.html