第二十一章:创建和操纵表

Posted zuotongbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二十一章:创建和操纵表相关的知识,希望对你有一定的参考价值。

@author: Tobin
@date: 2019/11/6 18:25:04

创建表

CREATE TABLE IF NOT EXISTS 表名
(
    cust_id int NOT NULL AUTO_INCREMENT,
    cust_address char(50) NOT NULL,
    PRIMARY KEY(cust_id)
)ENGINE=InnoDB;

每个列要么NULL,要么NOT NULL,空串不等于NULL。
主键中只能使用不允许NULL值的列。允许NULL值的列不能作为唯一标识。
每一个表只允许一个AUTO_INCREMENT列。SELECT last_insert_id()获得最后一个AUTO_INCREMENT值。
使用DEFAULT xx,放在NOT NULL后,提示默认值。
引擎。

  • InnoDB:可靠的事务处理引擎,不支持全文本搜索
  • MEMORY:数据存储在内存,不是磁盘,速度快,适合临时表
  • MyISAM:性能极高,支持全文本搜索,不支持事务处理

外键不能跨引擎,即使用一个引擎的表不能引用具有使用不同引擎的表的外键。

更新表

# 添加一个列,明确其数据类型
ALTER TABLE vendors
ADD vend_phone CHAR(20);

# 删除列
ALTER TABLE vendors
DROP COLUMN vend_phone;

复杂的表结构更改过程。

  • 用新的表布局创建一个新表
  • 使用INSERT SELECT语句,从旧表复制数据到新表,可使用转换函数和计算字段
  • 检验包含所需数据的新表
  • 重命名旧表,可以删除
  • 用旧表原来的名字重命名新表
  • 根据需要,重新创建触发器,存储过程,索引和外键

删除表

DROP TABLE customer2; # 永久删除,不可撤销

重命名表

RENAME TABLE customer2 TO customers,
                            backup_products TO products;

以上是关于第二十一章:创建和操纵表的主要内容,如果未能解决你的问题,请参考以下文章

第二十一章 创建任意大小的文件和分隔任意大小的文件:dd命令split命令csplit命令

Qt Gui 第二十一章

Python其实很简单 第二十一章 DataFrame数据处理

第二十一章 命名空间和程序集

Python 第二十一章

我的学习之路_第二十一章_JDBC连接池