约束以及修改数据表(总结)

约束

约束以及修改数据表(总结)

外键约束

约束以及修改数据表(总结)

  • 查看建表语句
  • SHOW CREATE TABLE tb_name

约束以及修改数据表(总结)

约束以及修改数据表(总结)

*** 参照列创建主键时自动创建了索引,而外键列创建自动创建了索引 ***

外键约束的参照操作

约束以及修改数据表(总结)
约束以及修改数据表(总结)
*** 物理的外键约束很少使用,而是使用逻辑的外键约束,只有innodb引擎支持

约束以及修改数据表(总结)

修改数据表

添加单列

  • ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST |AFTER col _name]
    约束以及修改数据表(总结)
    约束以及修改数据表(总结)

添加多列

*** 不能指定列的位置 ***

  • ALTER TABLE tbl_name ADD [COLUMN]
  • (col_name column_definition,
  • …)

删除列

  • ALTER TABLE tbl_name DROP [COLUMN] col_name

*** 也可以进行复合操作,如同时删除两列,或者删除一列的同时添加一列,中间用逗号隔开即可
约束以及修改数据表(总结)

添加主键约束

  • ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,
  • …)
  • *** symbol 别名,索引类型分为B tree和哈希 ***
    约束以及修改数据表(总结)

添加唯一约束

  • ALTER TABLE tbl_name ADD [ CONSTRAINT [symbol] ] UNIQUE [INDEX|KEY] [index_name] [index_type]
  • (index_col_name,
  • …)
    约束以及修改数据表(总结)

添加外键约束

  • ALTER TABLE tbl_name ADD [ CONSTRAINT[symbol]] FOREIGN KEY [index_name] (index_col_name,
  • …)
  • reference_definition
    约束以及修改数据表(总结)

添加/删除默认约束

  • ALTER TABLE tbl_name ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
    约束以及修改数据表(总结)
    约束以及修改数据表(总结)

删除主键约束

  • ALTER TABLE tbl_name DROP PRIMARY KEY
    约束以及修改数据表(总结)

删除唯一约束

  • ALTER TABLE tbl_name DROP {INDEX|KEY} index_name
    约束以及修改数据表(总结)

约束以及修改数据表(总结)### 删除外键约束

  • ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol
    约束以及修改数据表(总结)

修改列定义

  • ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
    约束以及修改数据表(总结)
    *** 由大类型改成小类型时可能造成数据的丢失 ***

修改列名称

  • ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name]
    约束以及修改数据表(总结)

数据表更名

约束以及修改数据表(总结)
约束以及修改数据表(总结)

相关文章: