21. 创建和操纵表

1. 创建表

1.1. 表创建基础

  1. 利用CREATE TABLE创建表,必须给出下列信息

    1. 新表的名字,在关键字CREATE TABLE之后给出
    2. 表列的名字和定义,用逗号分隔
    3. img
    4. 表的主键可以在创建表时用PRIMARY KEY关键字指定。
    5. 在创建新表时,指定的表名必须不存在,否则将出错。
    6. 在创建新表时,指定的表名必须不存在,否则将出错。

1.2. 使用NULL值

  1. 在插入或更新行时,该列必须有值

  2. 每个表列或者是NULL列,或者是NOT NULL列,这种状态在创建时由表的定义规定。

    1. img
    2. img

1.3. 主键再介绍

  1. 主键值必须唯一。
  2. 创建由多个列组成的主键,应该以逗号分隔的列表给出各列名,
  3. img

1.4. 使用AUTO_INCREMENT

  1. AUTO_INCREMENT告诉MySQL,本列每当增加一行时自动增量。

  2. 每个表只允许一个AUTO_INCREMENT列,而且它必须被索引(如,通过使它成为主键)。

  3. 如何在使用AUTO_INCREMENT列时获得这个值呢?可使用last_insert_id()函数获得这个值

    1. select last_insert_id()
    2. 此语句返回最后一个AUTO_INCREMENT值,然后可以将它用于后续的MySQL语句

1.5. 指定默认值

  1. default关键字

    1. img
    2. img

1.6. 引擎类型

  1. CREATE TABLE语句以ENGINE=InnoDB语句结束

  2. 常见引擎

    1. img

2. 更新表

  1. 更新表定义,可使用ALTER TABLE语句

  2. 为了使用ALTER TABLE更改表结构,必须给出下面的信息:

    1. 在ALTER TABLE之后给出要更改的表名(该表必须存在,否则将出错);
    2. 所做更改的列表
  3. img
  4. ALTER TABLE的一种常见用途是定义外键。下面是用来定义本书中的表所用的外键的代码

    1. img
  5. 复杂的表结构更改一般需要手动删除过程,它涉及以下步骤:

    1. 用新的列布局创建一个新表;
    2. 使用INSERT SELECT语句(关于这条语句的详细介绍,请参阅第19章)从旧表复制数据到新表。如果有必要,可使用转换函数和计算字段;
    3. 检验包含所需数据的新表;
    4. 重命名旧表(如果确定,可以删除它);
    5. 用旧表原来的名字重命名新表;
    6. 根据需要,重新创建触发器、存储过程、索引和外键。

3. 删除表

  1. 删除表(删除整个表而不是其内容)非常简单,使用DROP TABLE语句即可

    1. img

4. 重命名表

  1. 使用RENAME TABLE语句可以重命名一个表:
  2. img

21. 创建和操纵表
http://binbo-zappy.github.io/2024/11/27/mysql_bzbh/21-创建和操纵表/
作者
Binbo
发布于
2024年11月27日
许可协议