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对所有数据库的所有权限都收回

转载于:https://www.cnblogs.com/notably/p/10513824.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值