zoukankan      html  css  js  c++  java
  • MySQL--索引和外键

    来自:http://www.jb51.net/article/32149.htm

    1.添加PRIMARY KEY(主键索引) 
          ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
    2.添加UNIQUE(唯一索引) 
          ALTER TABLE `table_name`

          ADD UNIQUE ( 
            `column` 
          ) 
    3.添加INDEX(普通索引) 
          ALTER TABLE `table_name`

          ADD INDEX index_name (

          `column` ) 
    4.添加FULLTEXT(全文索引) 
          ALTER TABLE `table_name`

          ADD FULLTEXT (

          `column`) 
    5.添加多列索引 
          ALTER TABLE `table_name`

          ADD INDEX index_name (

          `column1`,

          `column2`,

          `column3` )

    在创建索引时,可以指定在删除、更新父表时,对子表进行相应的操作,包括RESTRICT, CASCADE, SET NULL, NO ACTION

    其中,RESTRICT和SET NULL相同,是指限制在子表有关联记录的情况下父表不能更新

    CASCADE表示父表在更新或者删除时,更新或者删除子表对应记录

    SET NULL则表示父表在更新或者删除的时候,子表的对应字段被SET NULL

    选择后面两种方式的时候要谨慎,可能因为错误的操作导致数据的丢失

    当某个表被其他表创建了外键参照,那么该表的对应索引或者主键禁止被删除

    在导入多个表的数据是,如果需要忽略表之前的导入顺序,可以暂时关闭外键的检查;同样,在执行LOAD DATA和ALTER TABLE操作的时候,可以通过暂时关闭外键约束来加快处理的速度。关闭的命令是

          SET FOREIGN_KEY_CHECKS = 0

    执行完成之后,通过执行

          SET FOREIGN_KEY_CHECKS = 1

    改回原状态

  • 相关阅读:
    web.xml报错
    mysql字符集问题汇总
    查询所有表中的某个数存储过程脚本
    SQL Server生成数据库的数据字典存储过程
    浏览器无法访问虚拟机的服务器
    搭建lnmp环境,nginx的配置文件/etc/nginx/nginx.conf
    在centos6.5下搭建lnmp
    Linux服务器关联Git,通过执行更新脚本实现代码同步
    CentOS yum 安装时错误 Errno 14 Couldn't resolve host 解决办法
    LinqToSQL3
  • 原文地址:https://www.cnblogs.com/microcat/p/6600682.html
Copyright © 2011-2022 走看看