mysql数据库-初始化sql建库建表-关联查询投影问题
下面是一个简易商城的几张表的创建方式
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建库建表-关联查询投影问题的更多相关文章
- 【SQL】在SQL Server中多表关联查询问题
好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作.今天写了一个多表关联查询,想根据两个字段唯一确定一条数据 失败的案例如下: SELECT cyb.id,ad.name FROM [Gen ...
- MySQL-数据库多表关联查询太慢,如何进行SQL语句优化
工作中我们经常用到多个left join去关联其他表查询结果,但是随着数据量的增加,一个表的数据达到百万级别后,这种普通的left join查询将非常的耗时. 举个例子: 现在porder表有 10 ...
- Hibernate使用sql语句实现多表关联查询
/** * <查找list> * * @return 返回页面需要显示的数据 */ @SuppressWarnings("unchecked") public List ...
- MySQL建库建表
一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...
- C# 利用*.SQL文件自动建库建表等的类
/// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...
- 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式
导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...
- SQL Server建库-建表-建约束
----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...
- mysql那些事(4)建库建表编码的选择
mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...
- Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)
前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...
随机推荐
- 【转载】Linux的inode的理解
本文转在是博主为了以后温习.请访问原文链接 http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html 一.inode是什么? 理解ino ...
- Android笔记: fragment简单例子
MainActivity.java public class MainActivity extends Activity { @Override protected void onCreate(Bun ...
- equals()和==的区别
这个问题,总是记不住,那我就动手多写几遍,加强自己的记忆. 先给结论: 1)==.主要作用于基本数据类型的变量,比较的是二者的 "值"是否相等:如果作用于两个对象之间,则比较的是对 ...
- CVTE前端笔试编程题
这些题目是做完笔试之后,在别的地方找到的,现在附上. 1.(1)这题考察的怎么把参数转换为数组,然后再截取你想要的位数. function C(){ var a_args=Array.prototyp ...
- 实现NFS共享wordpress
author:JevonWei 版权声明:原创作品 两台Web服务器,一台mysql服务器,一台NFS服务器,一台DNS服务器 拓扑结构 拓扑环境 web1 192.168.198.110 web2 ...
- 创建DNS子域及view
author:JevonWei 版权声明:原创作品 子域 子域同父域在同一个服务器上 新建子域jevon.danran.com vim /etc/named.rfc1912.zones zone &q ...
- dispatch emit broadcast
1.broadcast 事件广播 遍历寻找所有子孙组件,假如子孙组件和componentName组件名称相同的话,则触发$emit的事件方法,数据为 params. 如果没有找到 则使用递归的方式 继 ...
- Java 类的热替换 —— 概念、设计与实现
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp71 Java 类的热替换 -- 概念.设计与实现 构建基于 Java ...
- 关于小程序http请求的问题
解决wx.request 发起的是 HTTPS 请求的问题 对于wx.request,大家可以理解为是微信小程序版的ajax,基于安全性考虑他的url地址必须是以https开头的,但对于一个开发者来说 ...
- 使用SVG基本操作API
前面的话 本文将详细介绍SVG基本操作API,并使用这些API操作实例效果 基础API 在javascript中,可以使用一些基本的API来对SVG进行操作 [NS地址] 因为SVG定义在其自身的命令 ...