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

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. js 本月,下一月,上一月

    <script type="text/javascript"> var curMonth = new Date(); function initDate() { ) + ...

  2. 再起航,我的学习笔记之JavaScript设计模式15(组合模式)

    组合模式 组合模式(Composite): 又称部分-整体模式,将对象组合成树形结构以表示"部分整体"的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性. 如果有一个 ...

  3. 注册WinEdt 7

    1. 先用crack算出注册码(crack在这里下载:http://download.csdn.net/detail/setoy/4384553) 放到winedt安装目录下,用管理员权限运行,点pa ...

  4. python自学1——接口测试

    尝试写了一个简单的接口测试,基于Python3.4,主要用到了Python读取excel以及requests库的知识,也算是对这段时间Python基础知识学习的一个巩固吧. 因为还没有学习到Pytho ...

  5. Nginx学习之HTTP/2.0配置

    哎呀,一不小心自己的博客也是HTTP/2.0了,前段时间对网站进行了https迁移并上了CDN,最终的结果是这酱紫的(重点小绿锁,安全标示以及HTTP/2.0请求). 科普 随着互联网的快速发展,HT ...

  6. 一步步带你做vue后台管理框架(一)——介绍框架

    系列教程<一步步带你做vue后台管理框架>第一课 github地址:vue-framework-wz 线上体验地址:立即体验 在如今的科技公司中有很多前端的需求都是要写一个类似于后台管理框 ...

  7. Python+Requests接口测试教程(2):

    开讲前,告诉大家requests有他自己的官方文档:http://cn.python-requests.org/zh_CN/latest/ 2.1 发get请求 前言requests模块,也就是老污龟 ...

  8. Java 生产图片验证码

    import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;impor ...

  9. 使用Sidecar将Node.js引入Spring Cloud

    网上看到的一篇文章,觉得写得挺好,现转载于此,以方便需要的网友查阅. 该文章介绍了非JAVA语言提供的应用集成到Spring Cloud的这样一个实现,以便我们使用其他语言作为参考. 感谢原作者分享, ...

  10. linux一周学习总结

    对于linux,之前也完全没有接触过,完全零基础小白.来到马哥以后,进入学习也有一周时间 ,一周里老师带我们学习了很多指令,下面,我就自己的理解和老师讲授的内容对linux中的一些指令做一个简单的小总 ...