Day: August 23, 2016

MySQL入门 (六) : 字元集与资料库

1 Character Set与Collation 任何资讯技术在处理资料的时候,如果只是单纯的数值和运算,那就不会有太复杂的问题;如果处理的资料是文字的话,就会面临世界上各种不同语言的问题。 以资料库来说,它必须正确的储存各种不同语言的文字,也就是一个资料库中,有可能同时储存繁体和简体中文、法文等不同语言的文字。 电脑在处理文字资料大多是使用一个「编码」来表示某一个字,对MySQL资料库来说,为了要处理不同语言的文字,它使用一套编码来处理一种语言的文字,称为「字元集、character set」。 以英文字母来说,每一个字母都有一个编码,例如A=65、B=66、C=67。 MySQL可以依照你的需要为资料库设定不同的字元集: Collation指的是在一个字元集中,所有字元的大小排序规则。 以英文字母来说,我们会依照A到Z的顺序当成大小的顺序,小写的字母也是一样的。 这样的大小顺序是依照编码的大小来决定的,MySQL把它称为「binary collation」。 可是在真实的世界中,大小顺序却不是这么单纯,有时候你会把大小写的英文字母当成是一样的,例如大写的A和小写的a。 在这种情况下,大写和小写的字母会被当成是一样的大小,然后再依照编码来决定,例如大写A的编码比小写a的编码小。 MySQL把这样的方式称为「case-insensitive collation」。 在决定大小顺序的时候,如果只有考虑字母大小写因素的话,那还不算是太复杂的。… Read More

MySQL入门 (五) : CRUD 与资料维护

1 取得表格资讯 1.1 DESCRIBE指令 「DESCRIBE」是MySQL资料库提供的指令,它只能在MySQL资料库中使用,这个指令可以取得某个表格的结构资讯,它的语法是这样的: 你在MySQL的工具中执行「DESC cmdev.dept」指令以后,MySQL会传回「cmdev.dept」表格的结构资讯: 1.2 栏位顺序 每一个表格在设计的时候,都会决定它有哪一些栏位,和所有栏位的详细设定。 另外也会决定表格中的栏位顺序,知道表格栏位顺序在接下来的讨论中是很重要的: 注:如何建立一个新的表格会在「第八章、表格与索引」中讨论。 2 新增 2.1 基础新增叙述 新增资料到资料库的表格中使用「INSERT」叙述,下列是这个叙述的基本语法: 使用这个语法新增纪录的时候,要特别注意表格的栏位个数与顺序,下列的新增叙述会新增一笔部门的纪录到「cmdev.dept」表格中:… Read More

MySQL入门 (四) : JOIN 与UNION 查询

1 使用多个表格 在「world」资料库的「country」表格中,储存世界上所有的国家资料,其中有一个栏位「Capital」用来储存首都资料,不过它只是储存一个编号;另外在「city」表格中,储存世界上所有的城市资料,它主要的栏位有城市编号和城市的名称: 虽然「country」表格自己没有储存城市名称,不过它可以使用「Capital」栏位的值,对照到「city」表格中的「ID」栏位,也可以知道城市的名称。 在这样的表格设计架构下,如果你想要查询「所有国家的首都名称」: 这样的查询需求就称为「结合查询」,也就是你要查询的资料,来自于一个以上的表格,而且两个表格之间具有上列讨论的「对照」情形。 2 Inner Join 「Inner join」通常称为「内部结合」,它可以应付大部份的结合查询需求,内部结合有两种写法,差异在把结合条件设定在「WHERE」子句或「FROM」子句中。 2.1 使用结合条件 下列是在「WHERE」子句中设定结合条件来执行结合查询的语法: 虽然这里会先介绍使用结合条件的结合查询,不过不管使用哪一种写法,在使用结合查询时都会有一样的想法。 首先是你想要查询的栏位: 把需要查询的栏位列在「SELECT」之后,「FROM」子句后面该需要哪一些表格就很清楚了: 最后把表格与表格之间「对照」的结合条件放在「WHERE」子句中:… Read More

PHP: 关键字global 和 超全局变量$GLOBALS的用法、解释、区别

$GLOBALS 是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。 php语法中,很多人都认为global和$GLOBALS只是写法上面的差别,其实不然 根据官方的解释是 1. $GLOBALS[‘var’]是外部的全局变量本身 2. global $var是外部$var的同名引用或者指针。 举例说明一下: <?php $var1 = 1; $var2… Read More

安卓Android : 看完这篇,你就知道了关于 root 的一切

Android 系统从面世以来,就以开源和开源的姿态赢得了巨大的市场。开源就意味着任何人可以修改系统,并将系统安装至任意设备上,无需为 Google 支付任何费用。即使姿态如此开放,Google 及 Android 阵营的手机厂商依然有自己的一些小算盘——比如对于 Google 自家服务的代码,依然是不开源的;而为了保证一些用户体验的完整性及政策限制,厂家通常会对用户修改系统的操作进行一些限制。这时候,root 这个词就横空出世了。依托 root 操作,用户可以随心所欲进行一些高阶操作,无需「寄人篱下」。但 Android 一直都有安全性的疑虑,因此,对于许多人来说,「root or not root, this… Read More

亚马逊Amazon刷单那点事! 刷单工具

说起刷单,其实很多卖家早期都是用积分卡(Gift Card)刷单,因为这个成本低。少部分人用美国人真实的银行卡刷单。包括很多刷单机构都欺骗说是用美国银行卡刷的,其实不是,他们也是用Gift Card刷的,注册几百个买家账户,然后用VPS主机分开,进行批量刷单的盈利活动。最近两年这些排名操作者(刷单机构),通过跟卖您的LISTING提高您的产品排名。成功后即刻撤销跟卖! 今年三月几个亚马逊经理也表示对此事很气愤,一定要严抓这些人,这些被跟卖过的Listing也可能会被降权或者Review被删掉。所以不要再找第三方机构刷单了,否则您的店铺会非常危险。 另外据最新消息:亚马逊将用人工智能+大数据模式来打击刷单者,人工智能会从MAC段,IP流量,产品转化率,Review评论比例,买家页面停留时间,买家账号新旧程度,物流跟踪信息准确性等多个角度,通过智能分析交易数据,将有可疑订单再转到专门的人工部门排查。其实亚马逊不缺这个技术,这属于小儿科技术,只是亚马逊总部在美国,对中国卖家的反应太迟钝,中国卖家刷单已经疯狂到天的时候才被迫出此动作。这个防刷单智能系统,它可以在确认消费者的身份之后,对其发表的言论给予更高的权重,并在更加突出的位置展示出来。另外被后来的消费者标记为有用(helpful顶帖)和评论也会提高这个Review的排名权重。对于刷单行为,轻则删除评论,稍重则警告,再重则封账号和法律起诉。(如下图)   1. 亚马逊严惩刷单行为 除了向全世界承诺提供放心的商品和快捷的速递服务,亚马逊为提高其贸易水平,还要向用户评论的质量下手。据英国媒体BBC报道,亚马逊宣布起诉1114名发布虚假评论的人。 这对亚马逊来说,已经不是第一次采用法律手段来对付刷单了:今年4月,亚马逊起诉了一堆提供虚假评论的网站。而这次则是把矛头直接指向虚假评论者本人。   2. 盘点亚马逊刷单方式   你为什么刷单? 1.觉得没销量,自己心里也过不了这道坎,怎么也得弄点销量,感觉很多人买了,可以提高转化率; 2.不知道为什么,别人都在刷,我也刷,没有明确目的; 3.为了刷权重,排名可以靠前。… Read More

MySQL入门 (三) : 运算式与函式

运算式(expressions)已经在查询叙述中使用过,例如算数运算与「WHERE」子句中的条件判断。 虽然目前只有讨论查询资料的部份,不过你在任何地方都有可能使用运算式来完成你的工作。 一个运算式中可以包含值(literal values)、运算子和函式,都会在这里讨论它们的细节与应用。 1 值与运算式 不论在执行查询或资料异动的时候,你都可能会使用各种不同种类的值(literal values)来完成你的工作: 不同种类的值会有不同的用法与规定,可以搭配使用的运算子和函式也不一样。 根据资料类型可以分为下列几种: 数值:可以用来执行算数运算的数值,包含整数与小数,分为 精确值与近似值两种 字串:使用单引号或双引号包围的文字 日期/时间:使用单引号或双引号包围的日期或时间 空值:使用「NULL」表示的值 布林值:「TRUE」或「1」表示「真」,「FALSE」或「0」表示「假」 1.1 数值… Read More

MySQL入门 (二) : SELECT 基础查询

1 查询资料前的基本概念 1.1 表格、纪录与栏位 表格是资料库储存资料的基本元件,它是由一些栏位组合而成的,储存在表格中的每一笔纪录就拥有这些栏位的资料。 以储存城市资料的表格「city」来说,设计这个表格的人希望一个城市资料需要包含编号、名称、国家代码、区域和人口数量,所以他为「city」表格设计了这些「栏位(column )」: 储存在表格中的每一笔资料称为「列(row)」或「纪录(record)」: 在设计表格的时候,通常会指定一个栏位为「主索引键(primary key)」: 注:主索引键会在「第八章、表格与索引」中详细的讨论。 1.2 认识资料型态 资料库中可以储存各种不同的资料,SQL提供许多不同的「资料型态」让你应付这些不同的需求。 在开始查询资料之前,你要先认识最常见、也是最基本的资料型态。 第一种是数值,为了更精准的保存数值资料,SQL提供整数与小数两种数值型态: 你可以依照自己的需求,使用储存的数值资料执行数学运算: 常用的资料型态还有「字串」与「日期」:… Read More