创建表

  1. 创建表

    1. 输入下面的命令,创建名为 singer 的表:

      create table singer ( name varchar(5), birthday date, song varchar(10) );
      mysql> create table singer ( name varchar(5), birthday date, song varchar(10) );
      Query OK, 0 rows affected (4.996 sec)
      mysql>
                                                     
      name 是列名,数据类型是 varchar(5): 可变长度字符串,容量为 5 即可以存储不超过 5 个字符的字符串。
      birthday 是列名,数据类型是 date: 日期,格式是 YYYY-MM-DD, 例如 2026-4-10

    2. 显示当前使用的数据中, 已经创建的所有的表

      show tables;
      mysql> show tables;
      +---------------+
      | Tables_in_com |
      +---------------+
      | singer        |
      +---------------+
      1 row in set (0.922 sec)
      
      mysql>
                                                     
      Tables_in_com 表示在数据库 com 中, 已经创建的表。singer 正是刚才创建的表。

    3. describe 表名; 用以描述指定的表的布局。 下面是显示表 singer 的布局:

      describe singer;
      mysql> describe singer;
      +----------+-------------+------+-----+---------+-------+
      | Field    | Type        | Null | Key | Default | Extra |
      +----------+-------------+------+-----+---------+-------+
      | name     | varchar(5)  | YES  |     | NULL    |       |
      | birthday | date        | YES  |     | NULL    |       |
      | song     | varchar(10) | YES  |     | NULL    |       |
      +----------+-------------+------+-----+---------+-------+
      3 rows in set (0.035 sec)
      
      mysql>
                                      
      Field 翻译成汉语是字段, 若中国文化对字段不好理解也可以叫列名;
      Type 是数据类型;
      Null 表示是否允许不输入任何值;
      Default 表示默认值.

  2. 添加记录

    1. 指定列名添加一个记录:

      insert into singer ( name, birthday, song) values ( "张信哲", "1967-3-26", "过火");
      mysql> insert into singer ( name, birthday, song) values ( "张信哲", "1967-3-26", "过火");
      Query OK, 1 row affected (2.121 sec)
      
      mysql>
                                      
      显示所有的记录:
      select * from singer;
      mysql> select * from singer;
      +--------+------------+------+
      | name   | birthday   | song |
      +--------+------------+------+
      | 张信哲 | 1967-03-26 | 过火 |
      +--------+------------+------+
      1 row in set (0.568 sec)
      
      mysql>
                                      
      这里 * 表示 name birthday song 。 仅显示 name song 输入下面的命令
      select name, song from singer;
      mysql> select name, song from singer;
      +--------+------+
      | name   | song |
      +--------+------+
      | 张信哲 | 过火 |
      +--------+------+
      1 row in set (0.007 sec)
      
      mysql>