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;

创建表:创建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 做相应的修改就能改变权限

在修改过权限后最好:

flush privileges

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

收回某个用户的一些权限

revoke all on mall.* from xiaobai;

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

猜你喜欢

转载自www.cnblogs.com/notably/p/10513824.html