zoukankan      html  css  js  c++  java
  • 6、约束管理、索引管理、键管理

    非空约束
    #设置非空约束
    > alter table testtb modify name varchar(100) not null;
    #删除非空约束
    > alter table testtb modify name varchar(100) null;
    
    自动增长
    #添加
    > alter table testtb modify id int auto_increment;
    > alter table testtb change id id int auto_increment;
    #自动增长
    > alter table testtb change id id int;
    > alter table testtb modify id int;
    
    主键约束
    # 添加主键约束
    > alter table testtb4 add primary key(id);
    > alter table testtb4 add constraint primary key(id);
    # 删除主键约束
    > alter table testtb drop primary key;
    
    唯一键约束
    #添加
    > alter table testtb add unique key(uid);
    > alter table testtb add unique key uni_test(test);
    #删除
    > alter table testtb drop index uni_test;
    
    查看约束
    #查看主键/唯一键/外键
    > select * from information_schema.key_column_usage where table_name='test1';
    #只查看主键
    > desc test1
    #查看test1表中引用了那些表中的主键作为自己的外键
    > select TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where TABLE_NAME = 'test1' and REFERENCED_TABLE_NAME is not null;
    #查看test2表的主键被哪些表引用成为外键
    > select REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME,CONSTRAINT_NAME,TABLE_NAME,COLUMN_NAME from information_schema.KEY_COLUMN_USAGE where REFERENCED_TABLE_NAME = 'test2';
    
    外键约束
    # 添加
    > alter table testtb add column tid int default 0 not null;
    > alter table testtb add constraint testtb_tid_fk foreign key(tid) references testtb2(id);
    # 删除
    > alter table test4 drop foreign key test_tid_fk;
    
    索引管理
    #添加
    > alter table testtb add index ind_name(name);
    
    create index ind_name on testtb (name(20) desc);
    create index ind_name on testtb (name(20));
    create index ind_name on testtb (name);
    
    # 联合索引
    > create index ind_id_name on testtb1 (id,name);
    > create index ind_id_name on testtb1 (id,name(20));
    
    #重建索引
    > repair table table_name quick;
    
    #删除索引
    > alter table test2 drop index uu_ttt;
    
    #查看索引
    > show index from testtb;
    > show index from testtb where key_name like 'ind%';
    
  • 相关阅读:
    flex布局
    cookie设置、获取、删除
    使用Object对象的toString()方法自定义判断数据类型方法
    git使用汇总
    闭包和面向对象
    闭包
    java8之一文彻底弄懂lambda表达式
    正确理解MESI协议
    二叉树中的节点删除-----按照最底层最右边的节点收缩
    按层次插入二叉树
  • 原文地址:https://www.cnblogs.com/kcxg/p/10361310.html
Copyright © 2011-2022 走看看