[mysql新增空格字段]mysql列名中包含斜杠或者空格的处理方式
那时顾客这边碰到了两个较为残花的难题跑来问我,这个难题较为热门,因此不光历史记录下。
资料库的表头存有斜线或是数组的这时候,是不是用sql展开insert或是select操作方式。
对此种转义串,他们通常想不到的是用custom符展开处置,因此试了下"/"、标点符号、单标点符号等常用的custom符,辨认出仍然错别字,又查了下mysql的非官方表明:
以被除数的方式展开custom,接着又试了下被除数,辨认出仍然却是没用。
透过搜寻,最终找出须要以反标点符号`(通常按键的右上角位数1右边的这个键)来处置。
以后对反标点符号基本上没采用过,因此趁此机会搜寻归纳了下反标点符号有关的用语。
特定的表达式
Shell中能将位数或数组间接突显表达式,也能将Linux指示的继续执行结论突显表达式,如下表所示:
(1) $ count=9 将位数突显表达式count
(2) $ name="ming" 将数组突显表达式name
(3) $ listc=`ls -la` 将Linux指示突显listc,listc的值是该指示的继续执行结论
反标点符号的促进作用
反标点符号的促进作用是将反标点符号内的Linux指示先继续执行,接着将继续执行结论突显表达式。虽然能透过输出数组或是数组串来建立表达式值,也能以获取源自于其它Linux指示的值。为把Linux指示的结论突显表达式,同时实现须要继续执行这个指示。假如在指示行上把Linux指示放到反标点符号中,这个指示会具体来说被继续执行,其结论会正式成为指示行的两个参数。在表达式时,透过把指示放到反标点符号中,以便于具体来说继续执行,指示的继续执行结论会被突显两个表达式。反标点符号能被视为由要继续执行指示组成的表达式,其结论会被突显表达式。组成指示的数组本身不会被突显。在下面的范例中,指示ls *.c被继续执行,其结论接着被突显表达式listc。ls *.c会生成具有.c扩展名的所有文件列表。这个文件列表随后被突显表达式listc。
归纳
反标点符号里面的数组串必须是能继续执行的指示,否则会出错;它的促进作用是指示替换,将其中的数组串当成Shell指示继续执行,返回指示的继续执行结论。
为了区分MYSQL的保留字与普通数组而引入的符号
举个例子:SELECT `select` FROM `test` WHERE select=表头值
在test表中,有个select表头,假如不用反标点符号,MYSQL将把select视为保留字而导致出错,因此,有MYSQL保留字作为表头的,必须加上反标点符号来区分。
标点符号通常用在表头的值,假如表头值是数组或数组串,则要加标点符号,如:select=表头值
不加反标点符号建的表不能包涵MYSQL保留字,否则出错
反标点符号`,位数1右边的符号
保留字不能用于表名,比如desc,此时须要加入反标点符号来区别,但采用表名时可忽略反标点符号。
create table desc报错
create table 成功
create table 成功
drop table test成功