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 ( ) 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();

修改某个字段的类型

alter table mall_user
modify user_name int default null;

创建表:创建testUser表

create table testUser (
username varchar(),
user_id varchar() ,
role_id varchar(),
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对所有数据库的所有权限都收回

MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等的更多相关文章

  1. mysql常用命令添加外键主键约束存储过程索引

    数据库连接 mysql -u root -p123456 查看表 show databases 创建数据库设置编码 create table books character set utf8; 创建用 ...

  2. SQL Server 2008设置主键为自增

    环境:SQL Server 2008 问题:设置主键,将主键设为自增. 解决:点击table->选中表->design->选中需要设置主键的字段,单击右键"设置主键&quo ...

  3. MYSQL增删改查添加外键

    给商品表(从表)添加一个外键 ALTER TABLE product ADD CONSTRAINT FK_cno FOREIGN KEY(cno) REFERENCES category(cid  从 ...

  4. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  5. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  6. SQL学习之MYSQL的常用命令和增删改查语句和数据类型

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  7. MySQL 数据库常用命令小结

    MySQL 数据库常用命令 1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删 ...

  8. mysql 中启动服务的命令 、登录命令、退出命令 mysql 的常用命令

    1.cmd 以管理员执行 下面命令 启动服务 :net start mysql57 关闭 服务:net stop mysql57 查看mysql 的版本信息 : mysql -V 指定主机地址登录: ...

  9. CentOS系统操作mysql的常用命令

    MySQL名字的来历MySQL是一个小型关系型数据库管理系统,MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了 ...

随机推荐

  1. [20190213]测试服务端打开那些端口.txt

    [20190213]测试服务端打开那些端口.txt --//前几天测试使用发送信息到/dev/tcp/ip_address/port,测试端口是否打开.写简单写一个脚本验证看看. $ seq 1 65 ...

  2. [20190101]块内重整.txt

    [20190101]块内重整.txt --//我不知道用什么术语表达这样的情况,我仅仅一次开会对方这么讲,我现在也照用这个术语.--//当dml插入数据到数据块时,预留一定的空间(pctfree的百分 ...

  3. c/c++柔性数组成员

    柔性数组成员 定义和声明分离 #include <stdio.h> //只是告诉编译器,当编译到使用到这个函数的的代码时,虽然还没有找到函数定义的实体,但是也让它编译不出错误. exter ...

  4. stored information about method csdn

    Eclipse编译时保留方法的形参 Window -> Preferences -> Java -> Compiler. 选中Store information about meth ...

  5. servlet温习

    servlet是Javaweb的核心,它实质上就是运行在服务器端的Java代码 1.简介 servlet是运行在服务器端的小程序,是sun公司提供的一套规范(接口),用来处理用户的请求,响应给浏览器的 ...

  6. ES5-ES6-ES7_Generator 函数

    Generator函数的概述 Generator 函数是 ES6 提供的一种异步编程解决方案 Generator函数指的是一种新的语法结构,是一个遍历器对象生成器,它内部可以封装多个状态,很适合用于异 ...

  7. ASP.NET 应用程序遭遇Server Application Unavailable问题的解决的方法

    公司服务器有.NET2的应用在执行,而我使用了.NET4平台开发,本机測试没问题,扔服务器发现要么我的新平台不好使,要么.NET2的旧平台不好使,各种重新启动IIS服务和WWW服务都无济于事 当我意识 ...

  8. 转://Oracle 事务探索与实例(一)

    一数据库版本 SYS@LEO1>select* from v$version; BANNER -------------------------------------------------- ...

  9. spool

    一.常用设置 set lin 1000 --一行可容纳字符数{80|n};输出大于设置值,则折行显示set wrap on --输出行长度大于设置长度时(set lin n设置);值为on,多余字符另 ...

  10. docker 14 dockerfile自定义mycentos

    Base镜像(scratch) Docker Hub中99%的镜像是通过在base镜像中安装和配置需要的软件构建出来的.也就是说base镜像是所有其他镜像的鼻祖. hub默认centos镜像是什么情况 ...