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

drop database if exists shop ;
create database shop CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
-- 授权
-- 将数据库shop的所有操作权限授予root用户
';
use shop;

-- 用户表
create table t_user(
    id ) primary key auto_increment,
    username ) comment '用户名',
    passwd ) comment '密码',
    nickname ) comment '昵称',
    type ) comment '用户类型'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 收货地址表
create table t_address(
    id ) primary key auto_increment,
    name ) comment '收件人',
    phone ),
    postcode ),
    detail ) comment '详细地址',
    ),
    constraint foreign key(user_id) references t_user(id)
);
-- 订单表
create table t_orders(
    id ) primary key auto_increment,
    buy_date datetime comment '下单时间',
    pay_date datetime comment '付款时间',
    confirm_date datetime comment '确认时间',
    state ),
    ),
    addr_id ),
    constraint foreign key(user_id) references t_user(id),
    constraint foreign key(addr_id) references t_address(id)
);
-- 商品类别表
create table t_category(
    id ) primary key auto_increment,
    name )
);
-- 商品表
create table t_goods(
    id ) primary key auto_increment,
    name ) comment '商品名',
    intro text comment '商品简介',
    price double,
    img ) comment '图片地址',
    stock ) comment '库存',
    category_id ),
    constraint foreign key(category_id) references t_category(id)
);
-- 商品订单多对多关联表
create table t_goods_orders(
    id ) primary key auto_increment,
    goods_id ),
    orders_id ),
    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=? ";
        

mysql数据库-初始化sql建库建表-关联查询投影问题的更多相关文章

  1. 【SQL】在SQL Server中多表关联查询问题

    好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作.今天写了一个多表关联查询,想根据两个字段唯一确定一条数据 失败的案例如下: SELECT cyb.id,ad.name FROM [Gen ...

  2. MySQL-数据库多表关联查询太慢,如何进行SQL语句优化

    工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时. 举个例子:  现在porder表有 10 ...

  3. Hibernate使用sql语句实现多表关联查询

    /** * <查找list> * * @return 返回页面需要显示的数据 */ @SuppressWarnings("unchecked") public List ...

  4. MySQL建库建表

    一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...

  5. C# 利用*.SQL文件自动建库建表等的类

    /// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...

  6. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

  7. SQL Server建库-建表-建约束

    ----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...

  8. mysql那些事(4)建库建表编码的选择

    mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...

  9. Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)

    前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...

随机推荐

  1. How to resolve the truncate/drop/delete/join hang issue in ADW

    In some case, we found that when we execute the sql commands like truncate table, drop table, delete ...

  2. asp.net core MVC 过滤器之ActionFilter过滤器(二)

    本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter过滤器(一) asp.net core ...

  3. jenkins 设置 gitlab web hooks

    背景 接口自动化期望代码push后触发实现持续集成,代码push后,自动化执行jenkins的job. 步骤 准备工作 工具:jenkins,gitlab jenkins需要安装插件:git plug ...

  4. Core Graphics框架

    在iOS中常用的框架是Quartz 2D,它是Core Graphics框架的一部分,是一个强大的二维图像绘制引擎.我们日常开发所用到的UIKit的组件都是由Core Graphics框架进行绘制的. ...

  5. 45、concurrent.futures模块与协程

    concurrent.futures  —Launching parallel tasks    concurrent.futures模块同时提供了进程池和线程池,它是将来的使用趋势,同样我们之前学习 ...

  6. Unix硬链接和符号链接(转)

    首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文 ...

  7. Spring框架——事务处理(编程式和声明式)

     一. 事务概述 ●在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术. ●事务就是一组由于逻辑上紧密关联而合 ...

  8. MongoDB三节点高可用模式安装

    设备: 三个1G.20G.1核的虚拟机,系统是SentOS7 min 清除原始自数据目录: rm -fr /home/mongosingle/ 创建目录: mkdir -p /home/mongosi ...

  9. 初遇.net

    初遇.net 为了自己的理想我选择了.net课程进行自我提升,想想以后能成为一位程序猿不由得有点兴奋呢,还有另一件高兴的事是我认识了十几位来自不同区县的老师同学,都说人脉就是财富,是不是我的财富有多了 ...

  10. 打开safari开发者选项

    1.点击Safari启动浏览器 2.点击左上Safari标志,选择偏好设置 3.选择高级,勾选下方的在菜单栏显示开发菜单. 如此,Safari就出现了开发菜单,右键网页元素也会出现查看元素功能了.