建立一张简单的查询视图,不用临时表,只用条件合并 在简单的查询中,建立临时表的开销比较大 这是可以指定algorithm选项为merge 在v2的视图中,并没有建立临时表 但在下列情况下,必须建立临时表 不能接着按照建立的临时表继续写MySQL语句时,用temptable 如果拿不准用什么,algorithm = undefined, 上系统决定…
在查询中,我们经常把查询结果当成临时表 view可以看成是一张虚拟表,是表通过某种运算得到的一个投影 在建立视图时,不需要指定视图的列名与列类型 红框内的为select选择语句 蓝框内的与建表语句类似 在建立了view stats视图后,表的操作在视图上都可以实现 视图的作用 (1)简化查询 (2)更精细的权限控制 比如用户表,2个网站合作,可以查询对方网站的用户 需要向对方开放用户表权限,但是有不想开放密码字段 (3)数据多,分表时可以用到 表与视图数据变化时的关系 更改数据后 cat_id…
为方便本节学习, 请先自行建立本表: 建一个商品表: create table goods ( -> goods_id mediumint(8) unsigned not null auto_increment, -> cat_id smallint(5) unsigned not null default '0', -> goods_sn varchar(60) not null default '', -> goods_name varchar(120) not null de…
(一) 把建立的goods表找到 (二) 当cat_id = 3时,计算所有商品的库存量之和 计算每个cat_id下的库存量(group by) 需要用到分组,把每个红框内的计算在一起 筛选出本店价比市场价低200以上的商品 或 where条件是计算对最初列的计算 having是对结果集进行再次筛选 综合练习 查询每种商品积压的货款(本店价*库存量) 该店积压的总货款 查询每个cat_id下的货款 查询出积压货款金额>2000的cat_id…
先把之前建的goods表找到 找到最贵的本店价(max) 找到最便宜的本店价(min) 查出一共还有多少商品(count) 查看商品价的平均价(avg) 查看本店有多少种商品 当count(*)时 输出的时绝对行数 而count(列名)时,输出行数为不为null的 mysql> select * from test4; +------+------+ | id | name | +------+------+ | Lili | | NULL | +------+------+ rows in s…
先选择goods表 set names gbk; 把本店价从低到高排序(order by) (注意)order by 要放在where, group by, having之后 查询本店价从高到低排序 按发布时间降序排列(把最新的放在最前面) (按照两种因素排序) 按cat_id进行升序排序,再按shop_price进行降序排序 多字段排序,先按照第一个字段排,如果第一个字段相同,才会按第二个字段排序 想取出最贵的十个产品(limit) 查询出本店价在3到5之间的商品 limit后如果只有一个数字…
(知识回顾) 连接数据库 mysql -uroot -p111 先建立一个新库 create database test1; use test1; 由于今天的主要内容是表的操作,建立表的详细过程不是本文的重点 我就直接给出建表的代码 mysql> create table xinshui( -> id int primary key, -> name varchar(10), -> sex char(1), -> company varchar(20), -> sala…
关于触发器的理解: 进行数据库应用软件的开发时,有时我们碰到表的某些数据的改变时,希望同时 引起其他相关数据改变的需求,利用触发器就能满足这样的需求. 触发器能在表中的某些特定数据变化时自动完成某些查询,运用触发器不仅仅可以 简化程序,而且可以增加程序的灵活性 触发器是一类特殊的事务: 可以监视某种数据的操作(insert/update/delete) 并触发相关的操作(insert/update/delete) 需求: 商品表:goods 订单表:ord 当下一个订单时,对应的商品要相应减少(…
engine 引擎就是MySQL存储数据的不同方式 myisam 插入速度快 支持全文索引 innoDB 插入速度慢 支持事务安全 假设两人同时购买火车票,两人同时看到只有一张火车票,几乎同时下单 或 在银行转账时,张三转李四500元,两边必须都完成,转账才算完成, 张三少钱和李四多钱必须一致的,这个两个操作必须同时成功或同时失败,不能一个成功,而另一个失败 需要用到事物 建立两张完全一样的表,但是引擎不一样 各插入两条数据: mysql> insert into a1 -> values )…
先找到goods表 查询goods_id最大的商品 where型的子查询 查询goods_id最大的商品(不能用排序) 把两步写成一步,就是子查询 from型子查询 查找出每种cat_id下goods_id最大的商品 思路:1. 先用cat_id进行排序,再用goods_id进行降序排列 2. 再用Mysql中特有的group by 语句(只有在MySQL中group by 才能查询goods_name 并且group by查到的goods_name只能显示第一个查到的内容) exists 型子…
先建立一张 m 表 mysql> create table m ( -> mid int, -> hid int, -> gid int, ), -> matime date -> )engine myisam charset utf8; Query OK, rows affected (0.07 sec) mysql> insert into m -> values -> (1, 1, 2, '2:0', '2018-08-03'), -> (…
(01)建表的过程实际上是 声明字段 的过程 一. 列类型(字段): 存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义. 二.MySQL三大列类型     数值型     整型     tinyint 占据空间:1个字节 存储范围:0 - 255, -128 - 127 smallint 占据空间:2个字节 储存范围:-32768 - 32768, 0 - 65535 int 占据空间:4个字节 储存范围:-2147483648 - 2147483647 0…
(01) 连接数据库 mysql -uroot -p 之后输入密码 ******.(由于我的密码设置的是111,所以输入的是111) (02) 退出数据库 exit (03) 查看数据库 show databases; (04) (重点) 建立数据库 create database test1; 如果想查看刚刚建立的数据库,依然输入create databases; 从8行到9行,多了一个刚刚建立的数据库 (05) 删除一个数据库 drop database test1; (06) 把数据库改名…
---恢复内容开始--- cursor 指在1条sql,对应N条资源,取出资源的接口/句柄,就是游标 沿着游标,可以一次取出一行 对于游标,必须要先声明一下 fetch 会读取每一条记录,当没有时,会返回 ERROR 1329 也可以利用while循环或repeat循环来做 while 或 repeat 还可以用游标越界时的标记进行判断停止 这里的exit handler, 除此之外,还有continue exit 在不满足时,会退出,而continue会继续执行…
(一)数学函数 abs(x)              返回x的绝对值 bin(x)               返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)          返回大于x的最小整数值 exp(x)  返回e的x次方 floor(x)  取整函数 (二)聚合函数 avg(col)        返回指定列的平均值 count(col)   返回指定列中非null值的个数 min(col)   返回指定列的最小值 max(col)  返回指定列的最大…
create table 表名 ( 列名1 列属性, 列名2 列属性 ... ... 列名n 列属性 )engine myisam charset utf8; (增加表的一列) (一)在表的最末列增加一列 (二)在指定列后加入某列 (三)在表的最前面增加一列 (删除列) (修改某一列的属性) 把username中的char(20) 改成char(30) (修改某一列的名字及列类型) 把username的列名改为name (值得注意的是:除了表名,表的属性也会改变)…
mysql> create table test5( -> id int, ) -> )engine myisam charset utf8; Query OK, rows affected (0.07 sec) mysql> create table test6( -> cat_id int, ) -> )engine myisam charset utf8; Query OK, rows affected (0.06 sec) mysql> insert in…
用户连接到MySQL时: [用户]   <---->   [服务器] 分为2个阶段: 1:有没有权限连接: 2:有没有执行此操作的权利.(如select, update……) 判断依据:(三个参数) 你从哪来             host 你是谁                user 你的密码是多少    password 修改host(记得要刷新 flush privileges) 当我再用同样的方法连接时,发现已经连不上了!!! 这是我们就需使用host的权限 修改密码 新增用户:…
我们把若干条sql封装取来,起个名字------把此过程存储在数据库中叫存储过程 调用procedure 储存过程是可以变成的,意味着可以使用变量,表达式,控制结构 来完成复杂的功能 声明变量 procedure也可以进行运算 对procedure进行控制 给存储过程传参 更加复杂的流程循环 while循环: 并且在()里面分为in输入型变量,out输出型变量(其中in可以省略不写,默认为in) 除了in,out型,还有inout型 比如传入一个值,输出一个比传入值大1的值 case流程控制:…
MySQL事务控制语句(学习笔记) MySQL事务控制语句         在mysql命令行的默认下,事务都是自动提交的,sql语句提交后马上会执行commit操作.因此开启一个事务必须使用begin,start transaction,或者执行 set autocommit=0; 可以使用的事务控制语句 start transction | begin : 显示的开启一个事务 commit (commit work)    commit work与completion_type的关系,com…
一.本节概况 MySQL实战45讲学习笔记:自增主键为什么不是连续的?(第39讲) 在第 4 篇文章中,我们提到过自增主键,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,因此索引更紧凑. 之前我见过有的业务设计依赖于自增主键的连续性,也就是说,这个设计假设自增主键是连续的.但实际上,这样的假设是错的,因为自增主键不能保证连续递增. 今天这篇文章,我们就来说说这个问题,看看什么情况下自增主键会出现 “空洞”? 为了便于说明,我们创建一个表 t,其中 id 是自增主键字段.c 是唯…
多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署…
Django:学习笔记(9)——视图 基础视图 基于函数的视图,我们需要在使用条件语句来判断请求类型,并分支处理.但是在基于类的视图中,我们可以在类中定义不同请求类型的方法来处理相对应的请求. 基于函数的视图 def my_view(request): if request.method == 'GET': # <view logic> return HttpResponse('result') 基于类的视图 from django.views import View class MyView…
Django:学习笔记(8)——视图…
参考极客时间专栏<MySQL实战45讲>学习笔记 一.基础篇(8讲) MySQL实战45讲学习笔记:第一讲 MySQL实战45讲学习笔记:第二讲 MySQL实战45讲学习笔记:第三讲 MySQL实战45讲学习笔记:第四讲 MySQL实战45讲学习笔记:第五讲 MySQL实战45讲学习笔记:第六讲 MySQL实战45讲学习笔记:第七讲 MySQL实战45讲学习笔记:第八讲 二.实践篇-索引(8讲) MySQL实战45讲学习笔记:第九讲 MySQL实战45讲学习笔记:第十讲 MySQL实战45讲学…
YOLO---Darknet下的学习笔记 @WP 20190319 很久没有用YOlO算法了,今天又拿过来玩玩.折腾半天,才好运行通的,随手记一下: 一是,终端下的使用.二是,python接口的使用. 一.终端下的使用. 在终端里,直接运行时Yolo的Darknet的各项命令,/home/wp/darknet/cfg/coco.data文件,使用原件:=======================================coco.data=========================…
YOLO.V3-Darknet下的学习笔记 @wp20180927 [目录] 一. 安装Darknet(仅CPU下) 2 1.1在CPU下安装Darknet方式 2 1.2在GPU下安装Darknet方式 4 二. YOLO.V3训练官网数据集(VOC数据集/COCO数据集) 4 2.1下载VOC数据集/COCO数据集 4 2.2下载预训练的模型(.weights文件) 8 三. YOLO.V3训练自己的数据集(以3类别的为例) 8 3.1制作自己的VOC格式训练集 8 3.1.1图像(.jpg…
Linux下iptables学习笔记 在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了.但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6.x以下的Centos版本,所以对iptables的了解还是很有必要的.此外,需要说明的是iptables自身并不具备防火墙的功能,它需要通过内核netfilter(网络过滤器)来实现,与firewalld一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过fire…
原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式. 快速导航:     一.分析各类数据文件存储方式     二.安装文件夹     三.本地文件夹(独立存储空间)     四.媒体库操作     五.本地数据库 一.分析各类数据文件存储方式 1)安装文件夹 安装文件夹即应用安装…
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小工程,再用一种简单的方法把这些小工程连接在一起. 这有可能导致两个问题: 一方面js代码变得很臃肿,难以维护 另一方面我们常常得很注意每个script标签在html中的位置,因为它们通常有依赖关系,顺序错了可能就会出bug 在es6之前为解决上面提到的问题,我们得利用第三方提供的一些方案,主要有两种…