zoukankan      html  css  js  c++  java
  • MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等

    Mysql命令添加外键

     前提是有这么几个表  以mall_product 和 mall_category为例 

    ALTER TABLE mall_product 
    ADD CONSTRAINT fore_pro_cate 
    FOREIGN KEY ( pro_category_id ) 
    REFERENCES mall_category ( category_id );
    

      外键记得用括号包起来

    值得一提的是 constraint  fore_pro_cate  是可以省略的 有MySQL来给出外键约束名称,很方便。为了规范可以在表名 和字段名加上单引号 。还可为约束指定级联操作,在后面继续添加:ON UPDATE CASCADE(级联更新) ON DELETE CASCADE(级联删除)默认是RESTRICT就是不级联删除 不级联更新要修改先解除外键关系。

    修改字段名:假设原来字段是uname 想改成username

    ALTER TABLE mall_user 
    CHANGE uname username VARCHAR ( 30 ) NOT NULL;

    添加字段:在username字段后面添加字段emaila字段

    ALTER TABLE mall_user 
    ADD COLUMN emaila VARCHAR ( 50 ) DEFAULT NULL 
    AFTER username ;
    

    删除字段:删除emaila字段

    ALTER TABLE mall_user 
    DROP emaila;
    

    给某个字段改名:

    alter table mall_user
    change username user_name varchar(20);

    修改某个字段的类型

    alter table mall_user
    modify user_name int default null;

    创建表:创建testUser表

    create table testUser (
    username varchar(50),
    user_id varchar(5) ,
    role_id varchar(50),
    primary key( 'user_id' ),
      CONSTRAINT  'aosdoahdoahsdoa ' FOREIGN KEY (`role_id`) REFERENCES  testRole (`role_id`)
    
    )engine=innodb charset=uf8;

    创建用户::localhost 代表小白只能本地登陆  除了localhost还能配置*  代表只要连接到mysql这个用户就能通过口令登陆到该数据库

    create user 'xiaobai' @'localhost' indentified by 'xiaobai';

    还有个比较有用的命令:查看授予某个用户的权限

    show grants for mall;
    一下是MySQL的输出 同样授权给某个用户所需要使用的命令就是下面打印的命令 all privileges代表对 mall数据库的所有操作 mall。*代表mall数据库下所有的table 做相应的修改就能改变权限

    设置MySQL的主键自增长

    alter table mall_user change column user_id user_id int primary key auto_increment;
    

      如果提示

     Multiple primary key defined
    

      则需要删除之间的primary key亦可先创建

    又或者是你当初设置了default value,则需要先删除设置的defaultvalue

    alter table mall_user alter username drop default;

    在修改过权限后最好:

    flush privileges

    一下 否则MySQL可能报一些错误

    收回某个用户的一些权限

    revoke all on mall.* from xiaobai;

    其他的操作也可以参照以上的  如mall.* 换成*.*代表着把xiaobai对所有数据库的所有权限都收回

  • 相关阅读:
    wget(转)
    852. Peak Index in a Mountain Array
    617. Merge Two Binary Trees
    814. Binary Tree Pruning
    657. Judge Route Circle
    861. Score After Flipping Matrix
    832. Flipping an Image
    461. Hamming Distance
    654. Maximum Binary Tree
    804. Unique Morse Code Words
  • 原文地址:https://www.cnblogs.com/notably/p/10513824.html
Copyright © 2011-2022 走看看