创建商品品牌分类表

-- 创建商品品牌分类表

create table if not exists goods_brands(

    id int unsigned primary key auto_increment,

    name varchar(40) not null

);

-- 查询goods表中商品品牌的种类

select brand_name from goods group by brand_name;

-- 将分组结果写入到goods_brands数据表

insert into goods_brands (name) select brand_name from goods group by brand_name; -- select前面不能加values

-- 通过goods_brands数据表来更新goods表

update goods as g inner join goods_brands as b

on g.brand_name=b.name set g.brand_name=b.id;

-- 通过alter table语句修改表结构(即改名字又改类型) change:重命名

alter table goods change brand_name brand_id int unsigned not null;

-- 类别的名称brand_name重命名为brand_id

-- 关联外键

如何防止无效信息的插入,就是可以在插入前判断类型或者品牌名称是否存在呢? 外键可以解决

外键约束:对数据的有效性进行验证

关键字: foreign key,只有 innodb数据库引擎 支持外键约束

alter table goods add foreign key (brand_id) references goods_brands(id);

-- 取消外键

alter table goods drop foreign key goods_ibfk_2;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • -- 创建商品品牌分类表 create table if not exists goods_brands( id...
    Ancestor楠阅读 2,444评论 0 0
  • 第1章 初涉MySQL 1.1 MySQL文件 (1)MySQL目录结构 (2)MySQL配置向导文件(安装后配置...
    凛0_0阅读 4,476评论 1 0
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 3,968评论 0 1
  • 1 准备数据 1>创建数据表 创建丝芙兰数据库 create database SEPHORE charset=u...
    晚冬至雪阅读 1,756评论 0 0
  • 1 准备数据 1>创建数据表 创建丝芙兰数据库 create database SEPHORE charset=u...
    wyc111阅读 1,418评论 0 0

友情链接更多精彩内容