• mysql数据库-初始化sql建库建表-关联查询投影问题


    下面是一个简易商城的几张表的创建方式

    drop database if exists shop ;
    create database shop CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
    -- 授权
    -- 将数据库shop的所有操作权限授予root用户
    grant all on shop.* to 'root'@'localhost' identified by '123456';
    use shop;
    
    -- 用户表
    create table t_user(
        id int(10) primary key auto_increment,
        username varchar(50) comment '用户名',
        passwd varchar(50) comment '密码',
        nickname varchar(50) comment '昵称',
        type int(3) comment '用户类型'
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;
    -- 收货地址表
    create table t_address(
        id int(10) primary key auto_increment,
        name varchar(50) comment '收件人',
        phone varchar(50),
        postcode varchar(50),
        detail varchar(255) comment '详细地址',
        user_id int(10),
        constraint foreign key(user_id) references t_user(id) 
    );
    -- 订单表
    create table t_orders(
        id int(10) primary key auto_increment,
        buy_date datetime comment '下单时间',
        pay_date datetime comment '付款时间',
        confirm_date datetime comment '确认时间',
        state int(3),
        user_id int(10),
        addr_id int(10),
        constraint foreign key(user_id) references t_user(id),
        constraint foreign key(addr_id) references t_address(id)
    );
    -- 商品类别表
    create table t_category(
        id int(10) primary key auto_increment,
        name varchar(50)
    );
    -- 商品表
    create table t_goods(
        id int(10) primary key auto_increment,
        name varchar(100) comment '商品名',
        intro text comment '商品简介',
        price double,
        img varchar(100) comment '图片地址',
        stock int(10) comment '库存',
        category_id int(10),
        constraint foreign key(category_id) references t_category(id)    
    );
    -- 商品订单多对多关联表
    create table t_goods_orders(
        id int(10) primary key auto_increment,
        goods_id int(10),
        orders_id int(10),
        constraint foreign key(goods_id) references t_goods(id),
        constraint foreign key(orders_id) references t_orders(id)    
    );
    -- 购物车不存数据库
    
    #注意 -- (双长划) 注释风格要求在两个长划后至少有一个空格! 

    导入到mysql数据库  source sql路径;

    -- 查询地址的同时,将用户信息也查询出来
    -- 查询出来发现,投影部分有两个id,需要额外处理
    java语言中的sql语句 String sql
    ="select *,t1.id as a_id,t2.id as u_id from t_address t1 left join t_user t2 on(t1.user_id=t2.id) where user_id=? ";
    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    npx vs npm
    RubyGem镜像/ruby国内镜像
    IOS开发依赖管理工具CocoaPods
    alpine linux
    阿里妈妈图标库
    java应用系统运行速度慢的解决方法
    jvm程序执行慢诊断手册
    js强制不使用“兼容性视图”
    java.lang.NumberFormatException: Infinite or NaN
    ALTER添加列后,立即UPDATE该列会报错
  • 原文地址:https://www.cnblogs.com/xin1006/p/3309834.html
Copyright © 2020-2023  润新知