当前位置: 澳门新濠3559 > 编程 > 正文

聚合工程,下面此部分是显示查询条件的窗体$

时间:2019-11-22 20:51来源:编程
平常我们在开发系统时,一定不会缺少查询弁?然而往往算个条件是无法满足用户的要求的,这时我们就应该设置多重条件进行组合,让用户查询时以更加方便地选择查询条件,迅速找到他们

平常我们在开发系统时,一定不会缺少查询弁?然而往往算个条件是无法满足用户的要求的,这时我们就应该设置多重条件进行组合,让用户查询时以更加方便地选择查询条件,迅速找到他们所满足的记录.现在我们假设开发一个钟表公司的客户订单系统,有客户订单编号,类别,名称,数量,价格等资料,这里就不将资料一一列击,.订单表如下:订单编号数量001 机芯 机芯1 100 150001 表壳 表壳1 1000 60001 表带 表带1 500 70002 机芯 机芯2 200 40002 表壳 表壳2 300 53002表带 表带2 400 46现在我们设想要建一个查询系统,让用户即可根据订单编号,也可根据类别,或者根据价格,或者其中的各自组合来实现快速查询,代号如下:下面此部分是显示查询条件的窗体$linkstr=mysql_connect("localhost","root","sa");mysql_select_db("cx",$linkstr);?>

Maven增强

ts-manage 聚合工程,小组的高级、中级程序员他来搭建聚合工程,包括聚合工程下的子项目。

ts-manage-pojo User.pojo,照猫画虎写其它模块

ts-manage-mapper

ts-manage-service

ts-manage-controller/web

藏家抵达澳门参加全球最大顶级奢华腕表及珠宝零售展

问:送给初恋女友5000元的手表,什么样的好?

多重条件组合查询

Maven增强

项目间关系:依赖继承聚合

  • 依赖,调用jar时,maven会自动去找这个jar依赖的相关的其它的jar包。
  • 继承,jar管理,所有子项目中共有jar包,在此声明,版本升级就非常的方便。
  • 聚合,在pom.xml中有一组module,管理多个子项目,一键编译。

澳门新濠3559 1

总览.png

测试(工作量非常大)和运维(部署)
2017年美国博士DevOpts开发运维一体化

Maven+GitHub版本控制+Jenkins
自动测试 JUnit @Test,会自动产生一个测试报告
自动运维 自动从GitHub下载新的代码,自动的编译,自动打包,自动部署到tomcat下,自动启动

ecshop网上开源商城代码,小型电商。

【2016年12月6日,香港】– 全球领先的奢侈品旅游零售商DFS集团于2016年12月3日在DFS旗下澳门T广场四季名店举办了第八届品鉴会。作为享誉全球的腕表及珠宝臻品零售展览,本届品鉴会展出了来自超过25个顶级奢华品牌的400余款标志性腕表及珠宝设计臻品,来宾将共睹前所未有的众多顶级奢华腕表及珠宝臻品聚集一堂。此次盛会于DFS旗下澳门T广场四季名店盛大开幕,即日起至2017年2月28日,品鉴会活动合作方展品将在店内持续展出并供销售。

澳门新濠3559 2

mysql增强

在传统企业中由DBA数据库管理员,写SQL,查询性能调优。

但是让大家只是了解?随着硬件和互联网,大数据的发展。例如:nosql 不仅仅是sql

关系型数据库OracleSqlServerMySQL

软肋,表的数据的关联关系非常的密切,多表联查,随着数据的增长,查询越来越慢。

数据量有一定限制!

  • Oracle单表可以支持到多少条数据?上亿
  • MySQL 1000万
  • nosql,最低亿级数据以上mongodb,hbase

MySQL旧的方式在新的形势下被淘汰:
1)视图
2)存储过程,函数
3)触发器
旧的传统的企业,旧的系统还在使用这些旧的技术
我们面试时,会被问。

练习下面两个视图:============================================

CREATE VIEW v_goods238 AS
SELECT * FROM t_goods WHERE category_id=238

CREATE VIEW v_cat_goods AS 
SELECT c.name,g.item_type,g.title FROM t_goods_category c
LEFT JOIN t_goods g
ON c.id=g.category_id

mysql增强,大型系统

1、【废除】视图,本质就是一个查询语句,作用把复杂SQL封装起来,调用中直接访问视图名称即可。这样调用者就非常方便。很难SQL就是DBA,系统分析师。

2、【废除】存储过程,本质脚本语言(弱)。性能高(在数据库上直接执行,它的服务器性能是所有服务器中最强)数据库迁移oracle,mysql

3、【废除】函数,本质自定义函数,丰富业务算法(个性)。

数据库迁移oracle,mysql

4、【废除】触发器,本质类似拦截器。也很死板。
数据库迁移oracle,mysql

5、索引,复合索引,最左前缀特性本质,就是提高查询效率

什么时候创建索引?用户抱怨时。
什么字段上创建索引?where,order
主键有索引吗?主键天生就有索引!!!!

本届品鉴会以情感联系主题,灵感来自于收藏者们与腕表之间的微妙联系。

5000是一个比较尴尬的价位,天梭是肯定没问题了,也快要摸到了浪琴的入门了,我建议还是可以加2000左右,这样的选择比较多了。

1 数据库编程(了解)

数据库中可以编写并保存一段程序,做数据运算

  • 视图 View
  • 存储过程 Procudure
  • 函数 Function
  • 触发器 Trigger

澳门新濠3559,mysql 数据库编程能力较弱,很多功能无法实现

澳门新濠3559 3

1.瑞士浪琴(LONGINES)手表女士律雅系列时尚优雅石英表钢带女表 L4.259.4.11.6白盘罗马25mm

2 变量

“每只腕表的背后都有着一个故事,一个含义或是一段关系,因为这些,每只腕表被赋予了意义。DFS集团非常自豪,为能够作为故事中的一部分以及再一次为我们的顾客在品鉴会展示本年度的世界钟表珠宝佳作系列。” DFS集团主席兼首席执行官邵峰立(Philippe Schaus)说道。

双十一到了,这款浪琴的性价比还是挺高的,价格也比较适中6000左右就能买到,表款设计经典简洁优雅,也算是馈赠佳品。

2.1 用户会话变量

一个客户端与服务器连接期间的变量

set @v1 = 123;
select @v1;

DFS集团腕表、珠宝、配饰及太阳眼镜采购高级副总裁Christophe Chaixs补充道,“本届品鉴会是通过长达一年的调查研究后,挑选了集聚最非凡独特的创新及设计的腕表。每个大师之作都是由我们的顾客有意识地去选择的——通过我们与顾客的关系以及顾客如何挑选腕表。本届品鉴会的展品选择从这个过程中获取灵感。我们非常激动能够再度与众多世界顶级收藏家合作,此次DFS集团与顶尖腕表珠宝品牌携手,共同打造又一个行业盛事。”

  1. SEVENFRIDAY手表 七个星期五自动机械表瑞表 P系列 NFC功能防水时尚男女表 P1B/01

2.2 局部变量

​ begin ... end; 是一对大括号,局部变量只能在 begin 到 end 之间使用,end结束后,变量消失

​ 使用 declare 关键字来定义局部变量

​ delimiter ; 结束符改成;

​ delimiter // 结束符改成//

​ 创建复杂的存储过程中间会用到;结束符,如果几个;放在一起,MySQL只会识别第一个,以后的不会识别,这样会及其不完整

begin
   declare v2 int default 123;
   select v2;
   select @v1;
end//
 (上面无法执行,只是参考)

澳门新濠3559 4

七个星期五是2012年才成立的瑞士新潮腕表品牌,设计时尚新颖,价格也适中7000出头,戴出去是很炫酷的腕表,可以考虑哦。

3. 视图

本届品鉴会随着屡获殊荣的台湾艺人A-Lin为超过300位来宾带来的的精彩演出正式开幕,接着来宾们探索了一系列包括宝格丽、卡地亚及GP芝柏表的精品腕表展览,宾客们还可以在现场享用来自The Dalmore的上等威士忌以及在纽约名厨François Payard制作的精美糕点。

  1. 天梭(TISSOT)手表 杜鲁尔系列 机械女表 T099.207.16.116.00

3.1 简单视图

​ 视图的本质就是一个查询语句

select * from t_goods where category_id=238

create view v_goods238 as 
select * from t_goods 
where category_id=238;

select * from v_goods238;

DELIMITER $$  /*设定一个标识符,标识结束$$*/

USE `tedu_store`$$  /*打开指定数据库tedu_store*/

DROP VIEW IF EXISTS `v_goods238`$$  /*如果此视图已经存在,就删除*/

create algorithm = undefined definer = `root`@`localhost` sql security
definer VIEW `v_goods238` as
select
  `t_goods`.`id`            AS `id`,
  `t_goods`.`category_id`   AS `category_id`,
  `t_goods`.`item_type`     AS `item_type`,
  `t_goods`.`title`         AS `title`,
  `t_goods`.`sell_point`    AS `sell_point`,
  `t_goods`.`price`         AS `price`,
  `t_goods`.`num`           AS `num`,
  `t_goods`.`barcode`       AS `barcode`,
  `t_goods`.`image`         AS `image`,
  `t_goods`.`status`        AS `status`,
  `t_goods`.`priority`      AS `priority`,
  `t_goods`.`created_time`  AS `created_time`,
  `t_goods`.`modified_time` AS `modified_time`,
  `t_goods`.`created_user`  AS `created_user`,
  `t_goods`.`modified_user` AS `modified_user`
FROM `t_goods`
WHERE (`t_goods`.`category_id` = 238)$$

DELIMITER ;

select * from v_goods238;

今年,DFS集团将品鉴会特别对公众开放,自2016年12月3日至2017年2月28日,宾客们有机会优先目睹展品风采。除了超过400款品鉴会展品,卡地亚将展出高级制表,并推出珠宝臻品展览,届时会展示来自2016年日内瓦高级钟表沙龙的11件作品。

好吧,天梭,本来不怎么想推荐天梭的,品牌力确实要低一点,也没有太强的特色,但是强在和题主要求的价格匹配,这款天梭女表也还是不错的。

3.2 多级关联视图

create view v_cat_goods as 
select 
    c.name,
    g.item_type,
    g.title
from 
    t_goods_category c
left join 
    t_goods g
on 
    c.id = g.category_id;

select * from v_cat_goods;

视图在大型项目中被废除!!!!
视图过程是把查询所有的记录都查询回来,然后再过滤数据,过滤掉非238.
如果这张表中有一千万数据。数据量大时无法优化。
Java程序可以吗?mybatis它直接处理,返回结果数据。结果就比视图快。

顾客还能够走向幕后一睹打破力学纪录的宝格丽Octo Finissimo三问报时腕表,世界最薄的陀飞轮腕表。该腕表为限量发售款,于DFS旗下澳门T广场四季名店有售。

本来还有一些国产的瑞表可以选的,比如V6的卡地亚蓝气球等等,但是。。。。。。是送初恋的表,还是不推荐了吧,买正品吧。

4. 存储过程

存储过程是存储在数据库服务器中的一段过程代码

优点:

Jsp-java-database(proc)

存储过程离数据库最近,所以它执行代码是效率最高的。

Client(brower)-WebServer(tomcat)-DatabaseServer(mysql)

澳门新濠3559 5

WebServer和DatabaseServer,在企业中,WebServer一般服务器即可,但是DatabaseServer是所有服务器中最好的。甚至大型项目,小型机。Unix+Oracle。

​ 废除:

​ 1) 写数据库代码(存储过程-单独学习语法,无法断点,system.out没有输出,几乎无法调试。DBA),写java代码(人员众多,好调试)。后期维护。不好维护。Java好维护。

​ 2) 存储过程不好写,质量不好控制。

澳门新濠3559 6

不过如果自己也想戴可以考虑一下国产的瑞表哦,价格3000左右,性能稳定,做工精细,可以尝试。比如下面这几款。

4.1 定义存储过程

--  修改结束符
delimiter //

--  创建存储过程p1
create procedure p1()
begin  --  大括号开始
   -- 定义局部变量v2
   declare v2 int default 123;
   select v2; --  显示v2变量的值
end//  --  大括号结束

最后,品鉴会的来宾们会有机会参观GP芝柏表展览,探索其225年的历史,该品牌为本届品鉴会展出已有百年历史的怀表。而2016年度日内瓦钟表大赏的获奖作品,限量款Esmeralda Tourbillon with Three Bridges也将在此次展览中展出。

来看下专柜五千元左右的手表,我大致推荐几款你看看

4.2 调用存储过程

call p1()//

DFS品鉴会始于2009年,为在活力之都澳门的旅客提升购物体验。DFS集团澳门T广场四季名店是全亚洲汇集最多最全的腕表珠宝的购物中心之一,共有67个品牌。其中有一间独具一格的T Timepieces概念店,用来展示由独立钟表匠精心挑选的产品,以及奢华品牌的独家古董表系列。

天梭经典系列T95.1.183.31腕表专柜参考价格3150元左右

4.3 查看存储过程

show procedure status where db='db1'
    查看指定库中的存过程
show create procedure p1

“四季名店非常荣幸能够再次迎来DFS集团及品鉴会,”拉斯维加斯金沙集团执行副总裁David Sylvester说道,“我们致力于为我们的来宾及顾客提供最优质的奢侈品零售体验,因此像是品鉴会这样的展览有助于我们履行承诺,让顾客享受到最佳的奢侈品购物体验。”

基本信息

4.4 删除存储过程

drop procedure if exists p1//

2016年度品鉴会

编号:T95.1.183.31品牌:天梭系列:经典机芯类型:自动机械性别:女士机芯型号:ETA 2671出产厂商:ETA机芯类型:自动机械机芯直径:17.2毫米机芯厚度:4.8毫米振频:28800每小时振荡次数宝石数:25个动力储备:38小时表径:27毫米表壳厚度:8.6毫米表盘颜色:银灰色表盘形状:圆形表带颜色:银色表扣类型:折叠扣背透:背透重量:51克防水深度:30米表耳间距:暂无表壳材质精钢表盘材质暂无表镜材质蓝宝石水晶玻璃表冠材质暂无表带材质精钢表扣材质精钢

4.5 存储过程的参数

三种参数:

  • in 输入参数
  • out 输出参数
  • inout 既能输入又能输出

存储过程参数测试

--  向学生表和联系方式表同时插入数据
--  1) 插入学生数据
--  2) 得到新插入的自增主键值
--  3) 插入联系方式表
传统方式:
1.  页面填写两张表的数据,学生名称,学生的电话,存在两个表中
2.  学生表自增主键
3.  联系表中和学生表的关联(一对一)

CREATE TABLE `t_student` (
  `stu_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

CREATE TABLE `t_tel` (
  `stu_id` int(11) NOT NULL,
  `tel` varchar(30) DEFAULT NULL,
  PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

DELIMITER //
create procedure p_student_tel
(in name varchar(20),
in tel varchar(20), out id int)
begin
   declare v int;-- 定义临时变量用来存自增主键值
   --  插入学生数据
   insert into t_student(name) values(name);
   --  获得新生成的自增主键值存到v
   set v = last_insert_id();
   --  插入联系方式数据
   insert into t_tel(stu_id,tel) values(v, tel);
   --  自增主键值存到输出参数id
   set id=v;
end//

-- 调用
CALL p_student_tel('刘强东',13010100808,@id);

--  调用
CALL p_student_tel('刘强东',13010100808,@id);

select * from t_student;
select * from t_tel;
select @stu_id;

参与本年度DFS品鉴会的尊尚奢华品牌包括:亚诺表、ANGELUS、宝珀、宝玑、宝格丽、卡地亚、萧邦、法穆兰、GP芝柏表、格拉苏蒂原创、豪朗时、亨利慕时、爱马仕、宇舶表、IWC万国表、积家、雅克德罗、MANUFACTURE ROYALE、沛纳海、欧米茄、伯爵、罗杰杜彼、Speake-Marin、蒂芙尼、江诗丹顿、梵克雅宝和真力时等。

浪琴L4.259.2.11.2腕表专柜参考价格4900元左右

5 流程控制

名表精选:

基本信息

5.1 if

if 条件 then

   代码

end if

if 条件 then
   代码1
else
   代码2
end if

· 宝玑传世系列7077独立计时码表

编号:L4.259.2.11.2品牌:浪琴机芯类型:石英性别:女士

5.2 case

case
   when 条件1 then ...
   when 条件2 then ...
   else ...
end case

case 变量或表达式
   when 值1 then ...
   when 值2 then ...
   else
end case

分支判断测试

delimiter //

drop procedure if exists p1//

create procedure p1(in v int)
begin
   if v=1 then
      select 'v的值是1';
   end if;
   case v
      when 2 then select 'v的值是2';
      when 3 then select 'v的值是3';
      else select 'v的值不是2,3';
   end case;
end//

call p1(1) //
call p1(2) //
call p1(3) //
call p1(4) //

· 宝格丽Octo Finissimo 三问报时腕表

外观

5.3 while

while 条件 do
   代码
end while

· 卡地亚高级珠宝腕表

表径:暂无表壳厚度:7毫米表盘颜色:白色表盘形状:圆形表带颜色:黑色表扣类型:折叠扣防水深度:30米

5.4 loop

--  lp: 循环命名,可以起任意的名字

lp: loop
   ...
   if 条件 then
      leave lp; --  指定离开哪个循环
   end if;
   ...
end loop;

· GP芝柏表La Esmeralda 陀飞轮腕表

卡西欧SHEEN系列SHN-5504-7A腕表专柜参考价格1990元 适合年轻人戴,卡西欧也是年轻人的最爱

5.5 repeat

repeat
   代码
until 条件 end repeat;

循环测试

--  新建 tb1 表
use db1 //

drop table if exists tb1 //

create table tb1(
   id int primary key auto_increment,
   num int
)engine=innodb charset=utf8 //

delimiter //
drop procedure if exists p2//
create procedure p2(in n int)
begin
   declare i int default 0;
   --  while
   while i<n do -- i的值从0递增到n-1
      insert into tb1(num) values(i+1);
      set i=i+1;
   end while; 
   --  loop
   set i=0;
   lp: loop
        insert into tb1(num) values(i+1);
        set i=i+1;

        if i=n then -- i等于n时退出loop循环
            leave lp;
        end if;
    end loop;
    -- repeat
    set i=0;
    repeat
      insert into tb1(num) values(i+1);
      set i=i+1;
   until i=n end repeat; -- i等于n时退出repeat循环
end//

call p2(10) //

select * from tb1 //

· 格拉苏蒂原创议员卓越腕表

基本信息

6. 函数

  • 函数有返回值
  • 调用存储过程用call,调用函数直接调

函数为什么不让用?

分布式?又放在Java端

Zookeeper集群管理者,当一台服务的配置更新,zk会自动把配置改变信息更新到其它所有的机器上。

· 豪朗时Labyrinth 腕表

编号:SHN-5504-7A品牌:卡西欧系列:SHEEN性别:女士

5.1 创建函数

create function fn()
returns varchar(100)
begin
   执行代码运算产生计算结果
   return 计算结果;
end//

· 亨利慕时Swiss Alp Watch S腕表

天梭时尚系列T094.210.22.111.00腕表专柜参考价格三千元左右

5.1.1求平方的函数 fn_pow

DELIMITER //
drop function if exists fn_pow //

create function fn_pow(n int)
returns int -- 函数返回什么类型的数据
begin

   set r = n*n;
   return r; -- 向调用位置返回计算结果
end //

select fn_pow(5) //
select *, fn_pow(num) from tb1 //

· 雅克德罗缟玛瑙珍珠母贝时分小针盘腕表

基本信息

6.2 查看函数

show function status;

show function status where db='tedu_store';

show create function fn_pow;

· 积家Rendez-Vous Moon 约会系列月相腕表

编号:T094.210.22.111.00品牌:天梭系列:时尚机芯类型:石英性别:女士

6.2 删除函数

drop function if exists fn_pow //

· 罗杰杜彼Blossom Velvet Blue花漾名伶系列绮蓝腕表

机芯

7 触发器

对表中的数据操作时,可以触发一段代码执行

三个数据操作:

  • insert
  • update
  • delete

两个触发时间:

  • before
  • after

一张表中最多可以有6个触发器

  • before insert
  • after insert
  • before update
  • after update
  • before delete
  • after delete

两个隐含对象

  • new

    ​ 新的数据行
    ​ insert的new:要插入的新行
    ​ update的new:修改后的新行
    ​ delete的new:没有

  • old

    ​ 旧的数据行

    ​ insert的old:没有

    ​ update的old:修改前的旧数据

    ​ delete的old:被删除的旧数据

  • 访问新行或旧行数据:

​ new.id
​ new.name
​ old.age
​ old.tel

· 江诗丹顿Overseas世界时间

机芯型号:ETA F03.111出产厂商:ETA机芯类型:石英机芯直径:17.2毫米机芯厚度:2.5毫米宝石数:3个

7.1 创建触发器

操作商品表insert,before,new

create trigger 名 触发时间 on 表
for each row
begin
   代码
end;

用触发器自动更新updated字段

--  学生表添加 updated字段
alter table t_student
add created datetime //
--  添加触发器,插入数据时自动填入时间
--  before insert
DELIMITER //
CREATE TRIGGER tr_b_i
BEFORE INSERT ON t_student FOR EACH ROW
BEGIN
 SET new.created=NOW();
END //

insert into t_student(name) values('tony') //

select * from t_student //

--  添加触发器,修改数据时自动修改时间

alter table t_student
add updated datetime //

DELIMITER //
CREATE TRIGGER tr_b_u
BEFORE UPDATE ON t_student FOR EACH ROW
BEGIN
  SET new.updated = NOW();
END //

UPDATE t_student SET NAME='tina' WHERE stu_id=2

select * from t_student //


-- 级联删除。删除主表信息时利用触发器删除子表信息

-- before delete

delimiter //
create trigger tr_b_d
before delete on t_student for each row
begin
    delete from t_tel where stu_id=old.stu_id;
END //

select * from t_student;

select * from t_tel;

delete from t_student where name='a';

· 梵克雅宝Lady Arpels Jour des Fleurs 腕表

外观

7.2 查看触发器

进入系统库 information_schema

use information_schema //

查询 triggers 表中触发器信息

select * from triggers

· 真力时Heritage Pilot Ton-Up 腕表

表径:26毫米表壳厚度:6.35毫米表盘颜色:白色表盘形状:圆形表带颜色:间金表扣类型:按钮式蝴蝶扣背透:密底重量:62克防水深度:50米表耳间距:7mm

7.3 删除触发器

drop trigger 触发器名

级联删除

删除主表的数据时。要把子表的数据删除。

DFS品鉴会是DFS大师系列活动的最具代表性的一部分,这个系列的品鉴会也包括在新加坡举行并备受瞩目的品鉴会。DFS大师系列活动是DFS在五大奢侈品类中策划和创造能力的体现,同时为消费者提供多领域、全方位的购物体验。DFS旗下的五大奢侈品产品系列包括:酒类、美妆及香水、腕表及珠宝、时装及配饰及美食及礼品。

材质

8 数据库的备份、恢复

附录:2016年DFS品鉴会臻品佳作

表壳材质316L精钢表壳,具有玫瑰金PVD镀层表盘材质珍珠贝母表镜材质抗刮伤蓝宝石水晶表镜表冠材质精钢镀金表带材质精钢镀金表扣材质精钢镀金

8.1 备份方式:

1) 冷备份(按月)

2)热备份

​ a. 定时任务 Job (按周,日(凌晨2点),小时)、

​ b. 实时备份(主从复制,实时同步)

查看数据安装路径

select @@basedir AS basePath FROM DUAL;

C:Program FilesMySQL Server 5.5bin>

使用 mysqldump 命令备份数据库

使用 mysql 命令恢复数据库

2016年品鉴会将在DFS旗下位于四季名店的澳门T广场展出的精选名表如下:

以上比较热门的五千元以下的女士腕表

8.2 备份

退出 mysql,在系统命令行执行:

下面命令是一行代码,不能折行

mysqldump -uroot -p
--default-character-set=utf8    //表中存的是什么编码
hr>d:hr.sql    //库>文件

数据库名

男士腕表系列

还有性价比更高的手表哦

8.3 恢复

再次恢复:

1)在数据库中新建一个库

​ create database jtdb2 charset utf8;

  1. 系统命令行执行恢复命令

​ 下面命令是一行代码,不能折行

mysql -uroot -p
--default-character-set=utf8
jtdb2:jtds.sql

宝玑

送初恋起步先别这么高,不然以后怎么送呢!

9. 索引

传世系列7077独立计时表

建议你先从几百起步开始送她,仿的表就算是一个小饰品就好了,以后再慢慢越来越好的送!

9.1 存储过程产生大量数据

1) 创建一个内存表 tm, engine=memory
2) 创建一个磁盘表 td
3) 在存储过程中,循环 20000 次向内存表插入随机字符串
4) 把 20000 条数据,一批存磁盘表
5)清空内存表

-- 内存表

drop table if exists tm;
create table tm(
    c varchar(20)
) engine=memory chaset=utf8;

-- 磁盘表

drop table if exists td;
create table td(
    id int primary key auto_increment,
    c varchar(20)
) engine=innodb charset=utf8;

-- 存储过程

drop procedure if exists gen_data;
delimiter //
create procedure gen_data(in n int)
begin
    declare i int default 0;
    while i<n do
        insert into tm values (uuid());
        set i=i+1;
    end while;
    insert into td(c) select c from tm;
    delete from tm;
end //

call gen_data(1000)

澳门新濠3559 7

DROP PROCEDURE IF EXISTS test_insert;
DELIMITER //
CREATE PROCEDURE test_insert(cnt INT)
  BEGIN 
    DECLARE i INT DEFAULT 0;
    START TRANSACTION;
    WHILE i<cnt
      DO 
          INSERT INTO td(c) VALUES(UUID());
      SET i=i+1;
      END WHILE;
    COMMIT;
END //


call test_insert(1000);

澳门新濠3559 8

推荐你几款女孩都喜欢的款式!

9.2 索引优化

索引其本质是创建了一张索引表,现有表的拷贝

(索引需要代价,插入数据要重新排序)

只拷贝现有表的指定索引字段。重要是做了一件事情:

排序

为什么它要排序呢? 为什么排序后就快了呢?

不创建索引,查询时,全表遍历。

折半算法

用索引提高数据查找效率

-- 没有索引,花3.5秒查询
select * from td where c='ab' //

-- 对c字段创建索引,花1分40秒左右
create index td_c_index on td(c) //

-- 有索引查询花费  0.00 秒
select * from td where c='ab' //

宝玑传世系列7077独立计时表采用18K玫瑰金表壳,带有精细表框坑纹。蓝宝石水晶底盖,直径44毫米。焊接表耳,螺丝栓固定表带,防水深度达30米。镀银18K金表盘饰以手工镌刻图案。罗马数字时圈,2时及10时位分别为动力储备显示及20分钟累计器,针尖镂空宝玑蓝钢指针。手动上链计时机芯,55小时动力储备。机芯振频为3赫兹,计时振频为5赫兹。

我是小表妹儿,主页有更多介绍,感谢关注!

9.3 MySQL 验证索引的使用-最左前缀特性

复合索引

通过 EXPLAIN 关键字可以判断查询 SQL 语句是否使用索引

EXPLAIN select * from td where c='ab'

澳门新濠3559 9

澳门新濠3559 10

Possible_keys如果有值就代表使用了哪个索引,如果null就代表查询没有使用索引,全表遍历。

SELECT * FROM tb1 
WHERE user_id=100;

SELECT * FROM tb1 
WHERE order_id=300;

SELECT * FROM tb1 
WHERE user_id=100 AND order_id=300;

SELECT * FROM tb1 
WHERE order_id=300 AND user_id=100 ;

没使用索引
EXPLAIN 
SELECT * FROM t_goods 
WHERE title LIKE '%皮面%'

使用索引
EXPLAIN
SELECT * FROM t_goods
WHERE title LIKE '皮面%'

没有使用索引
EXPLAIN
SELECT * FROM t_goods
WHERE title LIKE '%皮面'

EXPLAIN select * from tb_cart where user_id=1 and item_id=1

澳门新濠3559 11

 EXPLAIN select * from tb_cart where user_id=1

澳门新濠3559 12

EXPLAIN SELECT * FROM tb_cart WHERE item_id=1

澳门新濠3559 13

查看SQL的执行计划,可以看出第一句、第二句SQL使用了索引,第三句 SQL未使用索引。很好的证明了索引左侧前缀特性

注意:

1)下面的语句违反了左侧前缀的特性,为何仍然可以使用索引呢?因为MYSQL对SQL语句有优化,它会重新组合where条件。

EXPLAIN SELECT * FROM tb_cart WHERE item_id=1 AND user_id=1

2)没有where条件的查询是不会使用索引的。

机芯:580DR

其实送表还是要看个人气质和喜好。 商务气息比较浓的白领女性,佩戴银色的梅花,浪琴,英纳格都是比较合适的。 梅花的价格3000多元可以买到。 英纳格2000-3000元。

10. 作业

商品表 tb_item

select * from tb_item;

有什么品牌

select distinct brand from tb_item;

最贵商品的品牌、名称、价格

select brand,title,price
from tb_item
order by price desc
limit 1;

分页查看商品

select id,brand,title,price
from tb_item
order by price desc
-- limit 0,10;
-- limit 10,10;
-- limit 20,10;
limit 30,10;

商品名和商品描述

select
    title,item_desc
from 
    tb_item i
join
    tb_item_desc 
on 
    i.id = d.item_id
limit 1;

商品分类表 tb_item_cat

select * from tb_item_cat;

select * 
from 
    tb_item_cat
where 
    name like '%电脑%' 
or
    name like '%笔记本%'
or 
    name like '%手机%';

查询所有的顶层分类

select * from tb_item_cat
where 
    is_parent=1 
and 
    parent_id is null;

查询 161 下的二层分类

select * from 
    tb_item_cat
where 
    parent_id=161
order by sort_order;

查询 162 下的三层分类

select * from tb_item_cat
where 
    parent_id=162
order by 
    sort_order;

用户表

select * from tb_user;

订单表

select * from tb_order;

用户 id 是14的订单

select * from tb_order where user_id=14;

订单编号是 20161001490698615071

查询这个订单的所有商品

select * from tb_order_item
where order_id=20161001490698615071;

订单编号是 20161001490698615071

​ 查询每种类别的商品数量

select cid,count(*) from tb_item group by cid 

查询 类别 163 的商品

select id,title,price from tb_item where cid=163;

​ 查询商品价格不大于100的商品名称列表

select id,title,price from tb_item where price<100;

​ 查询品牌是联想,且价格在40000以上的商品名称和价格

 select id,title,price from tb_item where brand='联想' and price>40000;

​ 查询品牌是三木,或价格在10以上的商品名称和价格

 select id,brand,title,price from tb_item where brand='三木' or price<50;

​ 查询品牌是三木、广博、齐心的商品名称和价格

select id,brand,title,price from tb_item where brand in('三木','广博','齐心');

​ 查询品牌不是联想、戴尔的商品名称和价格

select id,brand,title,price from tb_item where brand not in('联想','戴尔');

​ 查找品牌是联想且价格大于10000的电脑名称

select id,brand,title,price from tb_item where brand='联想' and price>10000;

​ 查询联想或戴尔的电脑名称列表

select id,brand,title,price from tb_item where brand='联想' or brand='戴尔';

​ 查询联想、戴尔、三木的商品名称列表

select id.brand,title,price from tb_item where brand in('联想','戴尔','三木');

​ 查询不是戴尔的电脑名称列表

select id,brand,title,price from tb_item where brand not in('戴尔');

​ 查询所有是记事本的商品品牌、名称和价格

select id,brand,title,price from tb_item where title like '%记事本%';

​ 查询品牌是末尾字符是'力'的商品的品牌、名称和价格

select id,brand,title,price from tb_item where brand like '%力';

​ 名称中有联想字样的商品名称

select id,brand,title,price from tb_item where title like '%联想%';

​ 查询卖点含有'爆款'电脑名称

select id,brand,title,price from tb_item where cell_point like '%爆款%';

​ 查询开头字母是A的电脑名称

select id,brand,price from tb_item where title like 'A%';

​ 将地址表中的城市、地区、详细地址组合到一起,

select concat(receiver_city, receiver_district,receiver_address) addr from tb_address;

​ 获取订单编号为 20161001490698615071 中的每种商品的标题、单价、数量、总价

select title,price,num,total_fee from tb_order_item where order_id='20161001490698615071';

​ 统计商品表中各个品牌的商品数量

select brand,count(*) from tb_item group by brand

​ 统计商品表中各个品牌的商品数量,并且按照数量从少到多排序

select brand,count(*) c from tb_item group by brand order by c;

​ 统计商品表中各个品牌的商品数量,去除品牌为NULL的行,并且按照数量从少到多排序

select brand,count(*) c from tb_item where brand is not null group by brand order by c;

​ 查询不同品牌中最贵的商品价格

select id,title,brand,price from tb_item where(brand,price) in(select brand,max(price) m from tb_item where brand is not null group by brand);

​ 将不同品牌中最贵的商品按照价格降序排序

select id,title,brand,price from tb_item where (brand,price)in(select brand,max(price) m from tb_item where brand is not null group by brand) order by price desc;

​ 找出不同品牌中最贵的商品的前三名

select id,title,brand,price from tb_item where (brand,price)in(select brand,max(price) m from tb_item where brand is not null group by brand) order by price desc 
limit 3;

​ 查询订购了10000028商品的客户姓名和联系方式(三层子查询)

​ 首先查询订单表,根据10000028这个商品编号找到有该商品的订单编号

​ 然后查询订单表,根据上面得到的订单编号找到订购此订单的用户编号

​ 最后查询用户表,根据第二部中查到的用户编号,找到对应的用户名和联系方式

select id,username,phone,email from tb_user where id in (select user_id from tb_order where (select order_id from td_order_item where item_id=10000028))

select 
    distinct 
from
    td_user u 
join 
    tb_order o 
on 
    u.id=o.user_id
join 
    tb_order_item i
on
    o.order_id=i.order_id
where 
    item_id=10000028

机芯类型:手动上链

   浪琴的女款机械表稍贵些。但也能在4000元内买到。 其实瑞士的市场上的表款,5000元以内都能买到机械表。  你还是自己去商场里面看实物,选择中意的款式。记得议价。任何大商场都可以的。

功能:计时

   价格的话,我觉得不要盲目追求高。我2000年买的英纳格,打折后才2700多,戴了7年了,一直没任何故障。很准的。 如果想显得休闲气息多一些,精工的机械表也是不错的选择。休闲商务都很适宜。  2000元以内可以买到。

表壳材质:18K玫瑰金

   年轻的女孩子,那就选择卡西欧的表。很时尚。不过不建议买卡西欧的指针款式。那不是卡西欧的强项。买卡西欧还是选择数字式的电子表。性能很不错呢!我老婆也在戴。 祝你们幸福。呵呵。

表壳直径:44毫米

表壳厚度:13.95毫米

动力存储:55小时

表带:皮革表带

防水性能:30米

参考编号:7077BR/G1/9XV

宝格丽

Octo Finissimo三问报时腕表

澳门新濠3559 14

宝格丽再次以世上最纤薄的三问报时腕表,于精密绝伦的超薄腕表世界中奠定崭新里程碑。现代感的钛金属材质表壳厚度仅6.85毫米。结合宝格丽独家的报时和超薄机芯专业技术,采用钛金属材质,除了它质感轻盈外,其低密度性质以及对小秒针盘的特殊处理,确保了报时声响的扩散。

机芯:BVL 362

机芯类型:手动上链

功能:三问表

表壳材质:钛金属

表壳直径:40毫米

表壳厚度:6.85毫米

动力存储:42小时

表带:鳄鱼皮

防水性能:50米

参考编号:102559

GP芝柏表

La Esmeralda陀飞轮腕表

澳门新濠3559 15

为庆祝225周年诞辰,GP芝柏表荣幸推出一款超凡出色的La Esmeralda陀飞轮腕表。全新演绎的La Esmeralda陀飞轮腕表之灵感是曾荣获金奖的三金桥陀飞轮天文怀表。这是一款雍容大气的机械腕表,其美学设计致力实现品牌“终极精准”这一目标。其玫瑰金表壳内搭载三金桥陀飞轮自动上弦机械机芯。以16莱尼的大型机芯由品牌自主设计和制造。

机芯:GP09400-0004

机芯类型:自动上链

功能:陀飞轮、时分显示、陀飞轮上的小秒针

表壳材质:玫瑰金

直径:43.70毫米

厚度:14.55毫米

动力储存:60小时

表带:鳄鱼皮

防水性能:30 米

参考编号:99275-52-000-BA6E

格拉苏蒂原创

议员卓越腕表

澳门新濠3559 16

开发全新的自制机芯36为新一代腕表打造坚实的根基。这款带有传统小时、分钟和秒钟功能的自动上链机芯在设计上经过了深思熟虑;不但是超凡的“用户友好型”设计,同时达到顶级制表艺术标准:采用最新研发的无调校器的震荡系统与硅酮游丝,经过优化的主发条盒提供100小时动力储存,并经过六位走时调校和测试。

机芯:机芯36

机芯类型:自动上链

功能:传统小时/分钟/秒钟,停秒

表壳材质:18K红金表壳

表壳直径:40毫米

表壳厚度:10毫米

动力存储:100小时

表带:黑色路易斯安那鳄鱼皮表带

防水性能:50米

参考编号:1-36-01-02-05-01

亨利慕时

Swiss Alp Watch S腕表

澳门新濠3559 17

伴随着智能手表的全面兴起,瑞士传统制表业遭遇重创。但亨利慕时并不想要打造一款外观像机械腕表、内里是电子部件的产品,它反其道而行之:Swiss Alp Watch S腕表在外观设计上以智能手表为灵感源泉,但内在却是不折不扣的机械表。100%瑞士制造的自主机芯,Swiss Alp Watch S腕表绝不是跟风之作,它意欲代代相传,成为恒久经典。

机芯:自制手动上弦机芯HMC 324

机芯类型:手动上链

功能:小时和分钟,6点钟位置设小秒针,动力存储指示器

表壳材质:18K白金

表壳直径:38.2毫米 x 44.0毫米

表壳厚度:10.3毫米

动力存储:最少4天

表带:手工缝制黑色鳄鱼皮表带,18K白金插针式表扣,镌刻Moser标志

参考编号:5324-0201

豪朗时

Labyrinth腕表

澳门新濠3559 18

2004年,以革命性的计时方式初露锋芒,震惊全球制表行业。2016年,豪朗时再造惊世之举,推出全新腕表:Labyrinth——一款不告诉你时间的腕表。

机芯:带机械提升装置的 HAUTLENCE LAB 自主机芯

机芯类型:手动上链

功能:弹珠迷宫

表壳材质:缎光5级钛金属

表壳直径:37x 43.5 毫米

表壳厚度:13 毫米

表带:黑色缎光路易斯安那鳄鱼皮表带,大斱形鳞片,手缝滚制边缘,折叠式表扣:钛金属,缎光黑,DLC 涂层精钢片

防水性能:30米

参考编号:Playground-Labyrinth 02

江诗丹顿

Overseas世界时间

澳门新濠3559 19

Overseas世界时间可显示37个时区,包括与世界标准时间相差半小时或十五分钟的时区,所有显示包括小时、分钟、中央秒针、世界时间指示及昼夜指示均可通过表冠轻松调校。腕表配备原创表链/表带和折迭式表扣替换装置,能够在不需使用任何工具的情况下进行安全拆装替换,是理想的旅行伴侶。

机芯:2460 WT

机芯类型:自动上链

功能:小时、分钟、中央秒针、世界时间指示 及昼夜指示

表壳材质:精钢

表壳直径:43.5毫米

表壳厚度:12.6毫米

动力存储:40小时

表带:精钢表链、密西西比鳄鱼皮表带及橡胶表带

防水性能:150米

参考编号:7700V/110A-B129

真力时

Heritage Pilot Ton-Up腕表

澳门新濠3559 20

设计灵感来自于50年代英国的“Café Racer”骑士风潮,45毫米的大尺寸表径Heritage Pilot Ton-Up 腕表,搭载 EL Primero 柱轮自动上链计时机芯。

机芯:13¼```

机芯类型: El Primero 4069自动上链

功能:中央时、分显示,9点钟位置小秒针,计时功能——中央计时指针、3点位置则为30分钟计时累进盘

表壳材质:仿古精钢

表壳直径:45毫米

表壳厚度:14.25毫米

动力存储:最少50小时

表带:绿色橡胶衬里的油蜡绒面皮革

防水性能:100米

参考编号:11.2430.4069/21.C773

女士腕表系列

卡地亚

高级珠宝腕表

澳门新濠3559 21

集个性吸引力和魅力于一身的美洲豹是卡地亚的经典象征。1914年,卡地亚在一枚腕表上首次呈现猎豹图腾。同年,路易•卡地亚(Louis Cartier) 委托法国著名插画家乔治• 巴比耶(George Barbier)绘制一幅名为“淑女与猎豹”的水彩画。1933年,路易•卡地亚(Louis Cartier) 的挚友兼同事——贞·杜桑女士(Jeanne Toussaint) 开始担任卡地亚高级珠宝部门总监。她以其特立独行的灵魂和无可挑剔的品味,赢得“猎豹女士”的雅号,并自此赋予卡地亚珠宝独特的印记。

机芯类型:石英

表壳材质:18K镀铑白金

表壳直径:11毫米

表壳厚度:2.5毫米

表带:1410颗明亮式切割钻石共12.75克拉,42颗玛瑙共2.15克拉,豹眼镶嵌4颗翡翠共0.15克拉

防水性能:30米

参考编号:HPI00396

积家

Rendez-Vous Moon 约会系列月相腕表

澳门新濠3559 22

此款优雅的表款以珍珠母贝覆盖面盘,弥漫着神秘气质,6时位置宽大的显示窗可见其月相显示。表盘采用大明火珐琅及金属薄片装饰工艺,就如仲夏夜的天空,繁星点点,璀璨夺目。珐琅工艺大师在表盘上洒满了银箔片,从而营造绝美的星空效果。手绘常春藤叶延伸至天空,象征着天长地久的爱情。

机芯:积家 935

机芯类型:自动上链

功能:月相显示

表壳材质:白金

表壳直径:39亳米

表壳厚度:11.9亳米

动力存储:40小时

表带:丝缎

防水性能:50米

参考编号:Q35334E1

雅克德罗

缟玛瑙珍珠母贝时分小针盘腕表

澳门新濠3559 23

此独具匠心的装饰杰作旨在礼赞品牌传承近三个世纪的悠久工艺。缟玛瑙珍珠母贝时分小针盘腕表运用古老的亚洲技术,将珍珠母贝表盘先经过上漆,再细致抛光。然后,雕刻工匠雕琢出手工绘制的细微轮廓,为这些植物图案赋予美妙光泽,缔造光线掠过花卉时产生的镜面效果。

机芯:雅克德罗2653.P

机芯类型:自动上链

功能:偏心式时、分显示

表壳材质:18k白金表壳,镶嵌232颗钻石

表壳直径:35毫米

表壳厚度:10.80毫米

动力存储:68小时

表带:深蓝色手工卷边鳄鱼皮

防水性能:30米

参考编号:J005004201

罗杰杜彼

Blossom Velvet Blue花漾名伶系列绮蓝腕表

澳门新濠3559 24

罗杰杜彼傲然宣告2016年为品牌的名伶之年,其时计创作的焦点将聚集于女性身上。Blossom Velvet Blue花漾名伶系列绮蓝腕表是永恒妩媚的花卉演绎,如片片花瓣绚丽绽放。36毫米白金表壳以明亮式切割美钻来装点表圈与表耳,使位于中央的“第三耳”化身为珍贵的链扣。这些绚丽闪烁的宝石围绕着独特的珍珠母贝错层表盘,衬托出表盘上镶嵌的镌刻花卉图案。技艺非凡的工匠更以弯曲的线条和雅致的蓝色调塑造出独特的花卉装饰,底部更巧妙地饰以大明火珐琅表盘。

机芯:RD821

机芯类型:自动上链机械机芯

功能:自动上链

表壳材质:白金

表壳直径:36毫米

表壳厚度:8.77毫米

表带:蓝色缎面

防水性能:30米

参考编号:DBVE0054

梵克雅宝

Lady Arpels Jour Nuit Fée Ondine腕表

澳门新濠3559 25

Lady Arpels Jour Nuit Fée Ondine腕表糅合Poetic Complications™诗意复杂腕表的旷世技术及出类拔萃的彩绘工艺,勾勒出如梦似幻的景致。在黎明至日落期间,黄色蓝宝石的太阳在高空俯瞰大地,然后渐渐隐没于水平线下,迷人的美钻皓月在精致的彩绘珍珠贝母夜空中徐徐升起,在水中映照出一轮明月。Ondine仙子的俏脸是一颗玫瑰形切割的钻石,金质雕琢的身躯优雅地坐在内填珐琅睡莲上,在晶莹的一泓河水中乘凉。

机芯类型:自动上链机械机芯,为Van Cleef & Arpels梵克雅宝独家研发的24小时模块

表壳材质:白K金及钻石表壳,表圈镶嵌钻石,表冠嵌饰单颗钻石

表壳直径:38毫米

表壳厚度:11.8毫米

动力存储:60小时

表带:蓝色亮面短吻鳄皮表带,白K金针扣镶嵌钻石

防水性能:30米

参考编号:ARO8O400

编辑:编程 本文来源:聚合工程,下面此部分是显示查询条件的窗体$

关键词: