首页 > 数据库 >mysql四种连接测试

mysql四种连接测试

时间:2022-12-05 20:58:01浏览次数:32  
标签:COMMENT goods DEFAULT UNSIGNED 测试 mysql NULL id 四种

# 创建并选择数据库
CREATE DATABASE shop;
USE shop;

# 创建商品分类表
CREATE TABLE sh_goods_category (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '分类id',
parent_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '上级分类id',
name VARCHAR(100) NOT NULL DEFAULT '' COMMENT '名称',
sort INT NOT NULL DEFAULT 0 COMMENT '排序',
is_show TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否显示',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

# 添加测试数据
INSERT INTO sh_goods_category (id, parent_id, name) VALUES
(1, 0, '办公'), (2, 1, '耗材'), (3, 2, '文具'),
(4, 0, '电子产品'), (5, 4, '通讯'), (6, 5, '手机'),
(7, 4, '影音'), (8, 7, '音箱'), (9, 7, '耳机'),
(10, 4, '电脑'), (11, 10, '台式电脑'), (12, 10, '笔记本'),
(13, 0, '服装'), (14, 13, '男装'), (15, 14, '风衣'), (16, 14, '毛衣');

# 创建商品表
CREATE TABLE sh_goods (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '商品id',
category_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '分类id',
spu_id INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SPU id',
sn VARCHAR(20) NOT NULL DEFAULT '' COMMENT '编号',
name VARCHAR(120) NOT NULL DEFAULT '' COMMENT '名称',
keyword VARCHAR(255) NOT NULL DEFAULT '' COMMENT '关键词',
picture VARCHAR(255) NOT NULL DEFAULT '' COMMENT '图片',
tips VARCHAR(255) NOT NULL DEFAULT '' COMMENT '提示',
description VARCHAR(255) NOT NULL DEFAULT '' COMMENT '描述',
content TEXT NOT NULL COMMENT '详情',
price DECIMAL(10, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '价格',
stock INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '库存',
score DECIMAL(3, 2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '评分',
is_on_sale TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否上架',
is_del TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
is_free_shipping TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否包邮',
sell_count INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '销量计数',
comment_count INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '评论计数',
on_sale_time DATETIME DEFAULT NULL COMMENT '上架时间',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT NULL COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

# 添加测试数据
INSERT INTO sh_goods (id, category_id, name, keyword, content, price,
stock, score, comment_count) VALUES
(1, 3, '2B铅笔', '文具', '考试专用', 0.5, 500, 4.9, 40000),
(2, 3, '钢笔', '文具', '练字必不可少', 15, 300, 3.9, 500),
(3, 3, '碳素笔', '文具', '平时使用', 1, 500, 5, 98000),
(4, 12, '超薄笔记本', '电子产品', '轻小便携', 5999, 0, 2.5, 200),
(5, 6, '智能手机', '电子产品', '人人必备', 1999, 0, 5, 98000),
(6, 8, '桌面音箱', '电子产品', '扩音装备', 69, 750, 4.5, 1000),
(7, 9, '头戴耳机', '电子产品', '独享个人世界', 109, 0, 3.9, 500),
(8, 10, '办公电脑', '电子产品', '适合办公', 2000, 0, 4.8, 6000),
(9, 15, '收腰风衣', '服装', '春节潮流单品', 299, 0, 4.9, 40000),
(10, 16, '薄毛衣', '服装', '居家旅行必备', 48, 0, 4.8, 98000);


SELECT c.id cid,c.name cname, g.id gid, g.name ganme
from sh_goods_category as c
CROSS JOIN sh_goods as g;
SELECT g.id gid, g.name gname, c.id cid,c.name cname
from sh_goods g join sh_goods_category c
on g.category_id = c.id;
SELECT g.id gid,g.name gname, c.id cid, c.name cname
from sh_goods g left join sh_goods_category c
on g.category_id = c.id and g.score = 5;
from sh_goods g right join sh_goods_category c
on g.category_id = c.id and g.score = 6;

标签:COMMENT,goods,DEFAULT,UNSIGNED,测试,mysql,NULL,id,四种
From: https://www.cnblogs.com/hqf1229/p/16953467.html

相关文章

  • MYSQL---纯手写sql之查询【日期字段】
    前言:MySQL查询指定的日期格式字段,使用date_format(date,format)函数date_Format('自定义时间','时间格式')自定义时间:2022-12-0500:00:00时间格式:%Y-%M-%......
  • 数据库授权用户,允许指定网段可以连接mysql
    数据库授权用户,允许192.168.100.0/24网段可以连接mysql1.访问数据库#主机测试[root@node1~]#mysql-uroot-pmysql>showdatabases;+--------------------+|Da......
  • MySQL进阶sql语句②
    一.MySQL视图1.1视图概念数据库中的虚拟表,这张虚拟表中不包含真实数据,只是做了真实数据的映射视图可以理解为镜花水月/倒影,动态保存结果集(数据)1.2视图的功能简化查......
  • 三秒钟解决MySQL 8.0 Command Line Client打开时闪退的问--小白来搞笑的
    网上地大佬针对解决这个问题的文章都很齐全,大家可以尽情去参考。这里引用一篇,(看了很多之后)我觉得比较全的:https://blog.csdn.net/m0_54695221/article/details/127988332......
  • 如何卸载干净MySQL
    (小白所有博客都是用来记录自己的经历和学习过程所参考内容,为了方便自己以后复习,)超级完整的教程:https://blog.csdn.net/weixin_48839391/article/details/127875857棒,有用......
  • 2023年第 13期《python接口web自动化+测试开发》课程,12月24号开学!
    2023年第13期《python接口web自动化+测试开发》课程,12月24号开学(课程全面升级!)主讲老师:上海-悠悠上课方式:微信群视频在线教学,方便交流本期上课时间:2022年12月24号-20......
  • mysql,row_count()
    ROW_COUNT()ROW_COUNT() returnsavalueasfollows:DDLstatements:0.Thisappliestostatementssuchas CREATETABLE or DROPTABLE.DMLstatementso......
  • 生产环境mysql主从同步中断引发的启迪
    迁移背景:生产环境mysql主从同步中断,因中断时间太久、数据量太大,所以计划通过云平台的磁盘克隆功能实现数据全量同步。环境说明:主库:192.168.12.76盘名:/dev/mapper/mysql-da......
  • mysql批量修改数据
    UPDATEmeteo_forecast_itemSETforecast_path=REPLACE(forecast_path,'/data/jjj-smart-grid','/home/jjj-smart-grid/data')UPDATEqiyun_station_sequentialSET......
  • MySQL窗口函数介绍详情
    一、窗口函数基本点(一)定义窗口的概念非常重要,它可以理解为记录集合,窗口函数也就是在满足某种条件的记录集合上执行的特殊函数。对于每条记录都要在此窗口内执行函数,窗口......