【每日一题】SQL 知识大测验 | 持续更新
每天更新一题 让大家在休息时间可以轻松学习! 下面是关于SQL的题目,每日更新~ (PS:大家要看清题号回答哦~需要答案的同学可以在下方留言题号,第一时间回复答案) 33.(2020年1月10日) 有如下一张表Orders 查询出每个发货单号(shipid),最早付款时间(paydate)和最小付款单号(payno) 结果如下: 考点:聚合函数和关联的灵活使用 32.(2020年1月9日) 表 point 保存了一些点在 X 轴上的坐标,这些坐标都是整数。 写一个查询语句,找到这些点中最近两个点之间的距离。 最近距离显然是 '1' ,是点 '-1' 和 '0' 之间的距离。所以输出应该如下: 注意:每个点都与其他点坐标不同,表 table 不会有重复坐标出现。 考点:题目看似简单,谨防陷阱 32.(2020年1月8日) 怎么把下面的表(tab) 查成这样1个结果 考点:行列转换 31.(2020年1月7日) 有如下一组数据 求出NAME中每组累加/每组总数的比例大于0.6的ID和NAME 预期的结果应该为 解释:从题目意思可以看出A组的总数为16,从ID为1到5分别累加后的结果分别为1,3,9,13,16,只有13和16除以总数16才大于0.6,所以返回的结果ID为4和5,同样B组为7和8 30.(2020年1月6日) 有如下一张 Activity 表: 其中games_played是玩家登陆玩的游戏数量, 查询每个玩家每天累计玩的游戏数量有多少?结果如下: 解释:玩家1第一次玩了5个,所以是5,第二次是6个,所以累计就是5+6=11, 第三次是1个,累计就是5+6+1=12 玩家2类似 29.(2020年1月3日) 写一条 SQL 查询语句,从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。示例:Customer 表: Product 表: Result 表: 购买了所有产品(5 和 6)的客户的 id 是 1 和 3 。 28.(12月31日) 有如下几张表: Student Course SC 查询"01 "课程比" 02 "课程成绩高的学生的信息及课程分数? P.S. 题目较简单,希望大家能动手练习一下,锻炼自己逻辑思维能力。 27.(12月30日) 有一张成绩表SC,表结构为SC(StuID,CID,Course),分部对应是学生ID,课程ID和学生成绩,有如下测试数据 查询出既学过’001’课程,也学过’003’号课程的学生ID 预期结果为 26.(12月27日) 表 orders 定义如下:order_id(订单编号),customer_id(客户编号),order_date(下单日期) 有如下几条记录: […]
View DetailsC#泛型方法返回值
核心代码return (T)(object)xxx; 示例代码如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
public static T GetUnitSettingById<T>(int id) where T : Setting { if (typeof(T).Equals(typeof(BodySetting))) { var body = BodySetting_table.Instance.GetEntityByPrimaryKey(id); if (body!=null) { return (T)(object)body; } } return null; } |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
/// <summary> /// 从DataRow里获取指定字段的值 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="row"></param> /// <param name="columnName"></param> /// <returns></returns> private T GetValue<T>(DataRow row, string columnName) { var resultObj = new object(); switch (typeof(T).Name.ToLower()) { case "int32": var numInt = 0; if (row.Table.Columns.Contains(columnName)) int.TryParse(row.Field<string>(columnName), out numInt); resultObj = numInt; break; case "int64": var numLong = 0l; if (row.Table.Columns.Contains(columnName)) long.TryParse(row.Field<string>(columnName), out numLong); resultObj = numLong; break; case "decimal": var numDecimal = 0m; if (row.Table.Columns.Contains(columnName)) decimal.TryParse(row.Field<string>(columnName), out numDecimal); resultObj = numDecimal; break; case "string": resultObj = row.Table.Columns.Contains(columnName) ? row.Field<string>(columnName) : string.Empty; break; case "datetime": var outDatetime = new DateTime(); if (row.Table.Columns.Contains(columnName)) DateTime.TryParse(row.Field<string>(columnName), out outDatetime); resultObj = outDatetime; break; } return (T)resultObj; } |
参考:https://blog.csdn.net/iningwei/article/details/88978598
View Details地藏菩萨本愿经
地藏菩萨本愿经卷上 忉利天宫神通品第一 如是我闻。 一时佛在忉利天,为母说法。 尔时十方无量世界,不可说不可说一切诸佛及大菩萨摩诃萨,皆来集会。赞叹释迦牟尼佛,能于五浊恶世,现不可思议大智慧神通之力,调伏刚强众生,知苦乐法,各遣侍者,问讯世尊。 是时,如来含笑,放百千万亿大光明云,所谓大圆满光明云、大慈悲光明云、大智慧光明云、大般若光明云、大三昧光明云、大吉祥光明云、大福德光明云、大功德光明云、大皈依光明云、大赞叹光明云。 放如是等不可说光明云已,又出种种微妙之音,所谓檀波罗蜜音、尸波罗蜜音、羼提波罗密音、毗离耶波罗蜜音、禅波罗蜜音、般若波罗密音、慈悲音、喜舍音、解脱音、无漏音、智慧音、大智慧音、狮子吼音、大狮子吼音、云雷音、大云雷音。 出如是等不可说不可说音已,娑婆世界,及他方国土,有无量亿天龙鬼神,亦集到忉利天宫,所谓四天王天、忉利天、须焰摩天、兜率陀天、化乐天、他化自在天、梵众天、梵辅天、大梵天、少光天、无量光天、光音天、少净天、无量净天、遍净天、福生天、福爱天、广果天、无想天、无烦天、无热天、善见天、善现天、色究竟天、摩醯首罗天、乃至非想非非想处天,一切天众、龙众、鬼神等众,悉来集会。 复有他方国土,及娑婆世界,海神、江神、河神、树神、山神、地神、川泽神、苗稼神、昼神、夜神、空神、天神、饮食神、草木神,如是等神,皆来集会。 复有他方国土及娑婆世界、诸大鬼王、所谓恶目鬼王、噉血鬼王、噉精气鬼王、噉胎卵鬼王、行病鬼王、摄毒鬼王、慈心鬼王、福利鬼王、大爱敬鬼王,如是等鬼王、皆来集会。 尔时释迦牟尼佛告文殊师利法王子菩萨摩诃萨:「汝观是一切诸佛菩萨及天龙鬼神此世界、他世界,此国土、他国土,如是今来集会到忉利天者,汝知数否?」 文殊师利白佛言:「世尊,若以我神力,千劫测度,不能得知。」 佛告文殊师利:「吾以佛眼观故,犹不尽数。此皆是地藏菩萨久远劫来,已度、当度、未度,已成就、当成就、未成就。」 文殊师利白佛言:「世尊,我已过去久修善根、证无碍智、闻佛所言,即当信受。小果声闻、天龙八部、及未来世诸众生等,虽闻如来诚实之语,必怀疑惑。设使顶受,未免兴谤。唯愿世尊广说地藏菩萨摩诃萨,因地作何行、立何愿,而能成就不思议事。」 佛告文殊师利:「譬如三千大千世界所有草木丛林、稻麻竹苇、山石微尘,一物一数,作一恒河;一恒河沙,一沙一界;一界之内、一尘一劫,一劫之内,所积尘数,尽充为劫,地藏菩萨证十地果位以来,千倍多于上喻。何况地藏菩萨在声闻、辟支佛地。 文殊师利,此菩萨威神誓愿,不可思议。若未来世,有善男子、善女人,闻是菩萨名字,或赞叹、或瞻礼、或称名、或供养,乃至彩画刻镂塑漆形像,是人当得百返生于三十三天,永不堕恶道。 文殊师利,是地藏菩萨摩诃萨,于过去久远不可说、不可说劫前,身为大长者子。时世有佛,号曰「狮子奋迅具足万行如来」。时长者子,见佛相好,千福庄严,因问彼佛:「作何行愿,而得此相?」时狮子奋迅具足万行如来告长者子:「欲证此身,当须久远度脱一切受苦众生。 文殊师利,时长者子,因发愿言:「我今尽未来际不可计劫,为是罪苦六道众生,广设方便,尽令解脱,而我自身,方成佛道。」以是于彼佛前,立斯大愿,于今百千万亿那由他不可说劫,尚为菩萨。 又于过去,不可思议阿僧祇劫,时世有佛,号曰「觉华定自在王如来」 彼佛寿命,四百千万亿阿僧祇劫。像法之中,有一婆罗门女,宿福深厚,众所钦敬;行住坐卧,诸天卫护。其母信邪,常轻三宝。 是时圣女广设方便,劝诱其母,令生正见,而此女母,未全生信。不久命终,魂神堕在无间地狱。时婆罗门女,知母在世,不信因果。计当随业,必生恶趣。遂卖家宅,广求香华,及诸供具,于先佛塔寺,大兴供养。见觉华定自在王如来,其形像在一寺中,塑画威容,端严毕备。 时婆罗门女,瞻礼尊容,倍生敬仰。私自念言:「佛名大觉,具一切智。若在世时,我母死后,傥来问佛,必知处所。」时婆罗门女,垂泣良久,瞻恋如来。忽闻空中声曰:「泣者圣女,勿至悲哀,我今示汝母之去处。」婆罗门女合掌向空,而白空曰:「是何神德,宽我忧虑。我自失母以来,昼夜忆恋,无处可问知母生界。」时空中有声,再报女曰,我是汝所瞻礼者,过去觉华定自在王如来,见汝忆母,倍于常情众生之分,故来告示。」 婆罗门女闻此声已,举身自扑,肢节皆损。左右扶侍,良久方苏。而白空曰:「愿佛慈愍,速说我母生界,我今身心,将死不久。」时觉华定自在王如来,告圣女曰:「汝供养毕,但早返舍,端坐思惟吾之名号,即当知母所生去处。」 时婆罗门女寻礼佛已,即归其舍。以忆母故,端坐念觉华定自在王如来。经一日一夜,忽见自身到一海边。其水涌沸,多诸恶兽,尽复铁身,飞走海上,东西驰逐。见诸男子女人,百千万数,出没海中,被诸恶兽争取食噉。又见夜叉,其形各异,或多手多眼、多足多头、口牙外出,利刃如剑。驱诸罪人,使近恶兽,复自搏攫,头足相就。其形万类,不敢久视。 时婆罗门女,以念佛力故,自然无惧。有一鬼王,名曰无毒,稽首来迎,白圣女曰:「善哉,菩萨,何缘来此?」 时婆罗门女问鬼王曰:「此是何处?」 无毒答曰:「此是大铁围山西面第一重海。」 圣女问曰:「我闻铁围之内,地狱在中,是事实否?」 无毒答曰:「实有地狱。」 圣女问曰:「我今云何得到狱所?」 无毒答曰:「若非威神,即须业力,非此二事,终不能到。」 圣女又问:「此水何缘,而乃涌沸,多诸罪人,及以恶兽?」 无毒答曰:「此是阎浮提造恶众生,新死之者,经四十九日后,无人继嗣,为作功德,救拔苦难,生时又无善因。当据本业所感地狱,自然先渡此海。海东十万由旬,又有一海,其苦倍此。彼海之东,又有一海,其苦复倍。三业恶因之所招感,共号业海,其处是也。」 圣女又问鬼王无毒曰:「地狱何在?」 无毒答曰:「三海之内,是大地狱,其数百千,各各差别。所谓大者,具有十八。次有五百,苦毒无量。次有千百,亦无量苦。」 圣女又问大鬼王曰:「我母死来未久,不知魂神当至何趣?」 鬼王问圣女曰:「菩萨之母,在生习何行业?」 圣女答曰:「我母邪见,讥毁三宝。设或暂信,旋又不敬。死虽日浅,未知生处。」 无毒问曰:「菩萨之母,姓氏何等?」 圣女答曰:「我父我母,俱婆罗门种,父号尸罗善现,母号悦帝利。」 无毒合掌启菩萨曰:「愿圣者却返本处,无至忧忆悲恋。悦帝利罪女,生天以来,经今三日。云承孝顺之子,为母设供修福,布施觉华定自在王如来塔寺。非唯菩萨之母,得脱地狱,应是无间罪人,此日悉得受乐,俱同生讫。」 鬼王言毕,合掌而退。婆罗门女,寻如梦归。悟此事已,便于觉华定自在王如来塔像之前,立弘誓愿,愿我尽未来劫,应有罪苦众生,广设方便,使令解脱。」 佛告文殊师利:「时鬼王无毒者,当今财首菩萨是。婆罗门女者,即地藏菩萨是。」 分身集会品第二 尔时百千万亿不可思、不可议、不可量、不可说无量阿僧祇世界,所有地狱处,分身地藏菩萨,俱来集在忉利天宫。以如来神力故,各以方面,与诸得解脱从业道出者,亦各有千万亿那由他数,共持香华,来供养佛。 彼诸同来等辈,皆因地藏菩萨教化,永不退转于阿耨多罗三藐三菩提。 是诸众等,久远劫来,流浪生死,六道受苦,暂无休息。以地藏菩萨广大慈悲,深誓愿故,各获果证。既至忉利,心怀踊跃,瞻仰如来,目不暂舍。 尔时,世尊舒金色臂,摩百千万亿不可思、不可议、不可量、不可说、无量阿僧祇世界诸分身地藏菩萨摩诃萨顶,而作是言:『吾于五浊恶世,教化如是刚强众生,令心调伏,舍邪归正,十有一二,尚恶习在。吾亦分身千百亿,广设方便。或有利根,闻即信受;或有善果,勤劝成就;或有暗钝,久化方归;或有业重,不生敬仰。如是等辈众生,各各差别,分身度脱。或现男子身、或现女人身、或现天龙身、或现神鬼身、或现山林川原、河池泉井,利及于人,悉皆度脱。或现天帝身、或现梵王身、或现转轮王身、或现居士身、或现国王身、或现宰辅身、或现官属身、或现比丘、比丘尼、优婆塞、优婆夷身、乃至声闻、罗汉、辟支佛、菩萨等身、而以化度。非但佛身,独现其前。 汝观吾累劫勤苦,度脱如是等难化刚强罪苦众生。其有未调伏者,随业报应。若堕恶趣,受大苦时,汝当忆念吾在忉利天宫,殷勤付嘱。令娑婆世界,至弥勒出世已来众生,悉使解脱,永离诸苦,遇佛授记。』 尔时,诸世界分身地藏菩萨,共复一形,涕泪哀恋,白其佛言:『我从久远劫来,蒙佛接引,使获不可思议神力,具大智慧。我所分身,遍满百千万亿恒河沙世界,每一世界化百千万亿身,每一身度百千万亿人,令归敬三宝,永离生死,至涅槃乐。但于佛法中所为善事,一毛一渧,一沙一尘,或毫发许,我渐度脱,使获大利。唯愿世尊,不以后世恶业众生为虑。』 如是三白佛言:『唯愿世尊,不以后世恶业众生为虑。』 尔时,佛赞地藏菩萨言:『善哉!善哉!吾助汝喜。汝能成就久远劫来,发弘誓愿,广度将毕,即证菩提。』 观众生业缘品第三 尔时佛母摩耶夫人,恭敬合掌问地藏菩萨言:『圣者,阎浮众生,造业差别,所受报应,其事云何?』 地藏答言:『千万世界,乃及国土,或有地狱、或无地狱;或有女人、或无女人;或有佛法、或无佛法,乃至声闻辟支佛,亦复如是,非但地狱罪报一等。』 摩耶夫人重白菩萨:『且愿闻于阎浮罪报所感恶趣。』 地藏答言:『圣母,唯愿听受,我粗说之。』 佛母白言:『愿圣者说。』 尔时地藏菩萨白圣母言:『南阎浮提,罪报名号如是。若有众生不孝父母,或至杀害,当堕无间地狱。千万亿劫,求出无期。若有众生出佛身血,毁谤三宝,不敬尊经,亦当堕于无间地狱,千万亿劫,求出无期。若有众生侵损常住,玷污僧尼,或伽蓝内恣行淫欲,或杀或害,如是等辈,当堕无间地狱,千万亿劫,求出无期。若有众生,伪作沙门,心非沙门,破用常住,欺诳白衣,违背戒律,种种造恶,如是等辈,当堕无间地狱,千万亿劫,求出无期。若有众生,偷窃常住财物,谷米,饮食,衣服,乃至一物不与取者,当堕无间地狱,千万亿劫,求出无期。』 地藏白言:『圣母,若有众生,作如是罪,当堕五无间地狱,求暂停苦,一念不得。』 摩耶夫人重白地藏菩萨言:『云何名为无间地狱?』 地藏白言:『圣母,诸有地狱在大铁围山之内,其大地狱有一十八所,次有五百,名号各别,次有千百,名字亦别。无间狱者,其狱城周匝八万余里,其城纯铁,高一万里,城上火聚,少有空缺。其狱城中,诸狱相连,名号各别,独有一狱,名曰无间,其狱周匝万八千里,狱墙高一千里,悉是铁围,上火彻下,下火彻上。铁蛇铁狗,吐火驰逐狱墙之上,东西而走。 狱中有床,遍满万里。一人受罪,自见其身遍卧满床。千万人受罪,亦各自见身满床上。众业所感获报如是。 又诸罪人,备受众苦。千百夜叉及以恶鬼,口牙如剑,眼如电光,手复铜爪,拖拽罪人。复有夜叉执大铁戟,中罪人身,或中口鼻,或中腹背。抛空翻接,或置床上。复有铁鹰啖罪人目。复有铁蛇绞罪人颈。百肢节内,悉下长钉,拔舌耕犁,抽肠锉斩,烊铜灌口,热铁缠身。万死千生,业感如是。动经亿劫,求出无期。 此界坏时,寄生他界;他界次坏,转寄他方,他方坏时,辗转相寄。此界成后,还复而来。无间罪报,其事如是。 又五事业感,故称无间。何等为五? 一者、日夜受罪,以至劫数,无时间绝,故称无间。 二者、一人亦满,多人亦满,故称无间。 三者、罪器叉棒,鹰蛇狼犬,碓磨锯凿,剉斫镬汤,铁网铁绳,铁驴铁马,生革络首,热铁浇身,饥吞铁丸,渴饮铁汁,从年竟劫,数那由他,苦楚相连,更无间断,故称无间。 四者、不问男子女人,羌胡夷狄,老幼贵贱,或龙或神,或天或鬼,罪行业感,悉同受之,故称无间。 五者、若堕此狱,从初入时,至百千劫,一日一夜,万死万生,求一念间暂住不得,除非业尽,方得受生,以此连绵,故称无间。』 地藏菩萨白圣母言:『无间地狱,粗说如是。若广说地狱罪器等名,及诸苦事,一劫之中,求说不尽。』 摩耶夫人闻已,愁忧合掌,顶礼而退。 阎浮众生业感品第四 尔时地藏菩萨摩诃萨白佛言:『世尊,我承佛如来威神利故,遍百千万亿世界,分是身形,救拔一切业报众生。若非如来大慈力故,即不能作如是变化。我今又蒙佛付嘱,至阿逸多成佛以来,六道众生,遣令度脱。唯然世尊,愿不有虑。』 尔时佛告地藏菩萨:『一切众生未解脱者,性识无定,恶习结业,善习结果。为善为恶,逐境而生。轮转五道,暂无休息,动经尘劫,迷祸障难。如鱼游网。将是长流,脱入暂出,又复遭网。以是等辈,吾当忧念。汝既毕是往愿,累劫重誓,广度罪辈,吾复何虑。』 说是语时,会中有一菩萨摩诃萨,名定自在王,白佛言:『世尊,地藏菩萨累劫以来,各发何愿,今蒙世尊殷勤赞叹。唯愿世尊,略而说之。』 尔时世尊告定自在王菩萨:『谛听谛听,善思念之,吾当为汝分别解说。乃往过去无量阿僧祇那由他不可说劫,尔时有佛,号一切智成就如来,应供、正遍知、明行足、善逝、世间解、无上士、调御丈夫、天人师、佛、世尊,其佛寿命六万劫。未出家时为小国王,与一邻国王为友,同行十善,饶益众生。其邻国内所有人民,多造众恶。二王计议,广设方便。一王发愿,早成佛道,当度是辈,令使无余。一王发愿,若不先度罪苦,令是安乐,得至菩提,我终未愿成佛。』 佛告定自在王菩萨:『一王发愿早成佛者,即一切智成就如来是。一王发愿永度罪苦众生,未愿成佛者,即地藏菩萨是。』 『复于过去无量阿僧祇劫,有佛出世,名清净莲华目如来,其佛寿命四十劫。像法之中,有一罗汉,福度众生。因次教化,遇一女人,字曰光目,设食供养。』 『罗汉问之:「欲愿何等?」』 『光目答言:「我以母亡之日,资福救拔,未知我母生处何趣?」』 『罗汉愍之,为入定观,见光目女母堕在恶趣,受极大苦。罗汉问光目言:「汝母在生做何行业?今在恶趣受极大苦。」』 『光目答言:「我母所习,唯好食噉鱼鳖之属。所食鱼鳖,多食其子,或炒或煮,恣情食噉,计其命数,千万复倍。尊者慈愍,如何哀救?」』 『罗汉愍之,为作方便,劝光目言:「汝可志诚念清净莲华目如来,兼塑画形像,存亡获报。」』 […]
View DetailsMySQL各数据类型所占字节数
一、数字类型 类型 占用字节 表示范围 TINYINT 1个字节 -128~127 SMALLINT 2个字节 -32768~32767 MEDIUMINT 3个字节 -8388608~8388607 INT 4个字节 -2147483648~2147483647 BIGINT 8个字节 -9223372036854775808~9223372036854775807 FLOAT(X) 4(X < = 24) 或 8( 25 < = X < = 53 ) FLOAT 4 个字节 DOUBLE 8 个字节 DOUBLE PRECISION 8 个字节 REAL 8 个字节 DECIMAL(M,D) M字节(D+2 , 如果M < D) NUMERIC(M,D) M字节(D+2 , 如果M < D) 二、字符串类型 类型 占用字节 表示范围 CHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255 VARCHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255 TINYBLOB, TINYTEXT L+1 字节 L< 2 ^ 8(255B) BLOB, TEXT L+2 […]
View Detailsnotepadd++正则表达式大小写转换
示例1:将语句 test this sentence 转为大写 查找:^.*$ 替换:\U$0 或———— 查找:^(.*)$ 替换:\U\1 或 \U$1 示例2:将语句 TEST THIS SENTENCE 转为小写 查找:^.*$ 替换:\L$0 或———— 查找:^(.*)$ 替换:\L\1 或 \L$1 示例3:将语句 test this sentence 首字t母转为大写 查找:^. 替换:\U$0 或———— 查找:^(.) 替换:\U\1 或 \U$1 示例4:将语句 Test this sentence 首字T母转为小写 查找:^. 替换:\L$0 或———— 查找:^(.) 替换:\L\1 或 \L$1 示例5:将语句 test this sentence 每个单词首字母转为小写 查找:\b(\w)(\w*)\b 替换:\U$1\E$2 或 \U\1\E\2 总结: 1、\U 将匹配项转为大写(Upper) 2、\L 将匹配项转为小写(Lower) 3、\E 终止转换(End) from:https://www.cnblogs.com/njl041x/p/9626509.html
View Detailslinux系统下MySQL表名区分大小写问题
问题如下: 比如上图中的PERSON表,查询SQL语句中如果表名是小写,就会报错说person表不存在。 因为Linux环境下的MySQL数据库的表名默认是区分大小写的,可以查看Linux上的MySQL的配置文件/etc/my.cnf:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@VM_219_131_centos tomcat7]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [root@VM_219_131_centos tomcat7]# |
如果要使用数据库表名不区分大小写的话,就需要在[mysqld]下面添加一行配置,即 lower_case_table_names=1:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@VM_219_131_centos tomcat7]# vi /etc/my.cnf [mysqld] lower_case_table_names=1 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid |
网上对该项配置的说明:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
lower_case_table_names参数详解: 其中 0:区分大小写,1:不区分大小写 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的: 1、数据库名与表名是严格区分大小写的; 2、表的别名是严格区分大小写的; 3、列名与列的别名在所有的情况下均是忽略大小写的; 4、变量名也是严格区分大小写的; MySQL在Windows下都不区分大小写。 3、如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种: A、创建时设置: CREATE TABLE T( A VARCHAR(10) BINARY ); B、使用alter修改: ALTER TABLE`tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY; C、mysql tableeditor中直接勾选BINARY项。 |
修改完配置之后,一定要重启数据库:
|
1 2 3 |
[root@VM_219_131_centos tomcat7]# service mysqld restart Stopping mysqld: [ OK ] Starting mysqld: [ OK ] |
然后使用Navicat工具重新连接MySQL数据库,再次查询perosn表,这时发现不管查询SQL语句中的表名是大写还是小写都提示找不到person表了。 原因是修改配置之后,会导致原来的大写的表名PERSON无法识别,所以这一点要特别注意。 解决办法是: (1)在修改配置之前一定先将所有表的表结构和表数据导出做备份; (2)删除原来的表; (3)修改配置; (4)将表结构和表数据导入。 按照上面的步骤操作之后,再次查询person表,表名就不区分大小写了。 from:https://www.cnblogs.com/jun1019/p/7073227.html
View Details阿里云ECS同区域不同账户内网互相访问配置
公司现在有个区域吗,需要实现两个不同阿里云账号下,但是在同一个区域里的ECS内网互联。 搜索了一下资料,一共三步就可以实现,官网资料:https://www.alibabacloud.com/help/zh/doc-detail/65901.htm 步骤如下 一;开启A账户的云企业网络 点击到【云企业网】控制器,同区域下云企业免费的。跨区域的需要购买带宽包 https://cen.console.aliyun.com/ 在云企业网实例页面,单击创建云企业网实例。 配置云企业网实例: 名称:云企业网实例的名称。 加载网络实例: 账号:选择同账号。 实例类型:选择要互通的实例,支持加载专有网络和边界路由器实例。本操作输入专有网络实例。 地域:选择所选实例的地域。本操作选择华北1。 实例:选择要加载的实例。本操作选择一个VPC实例。 获取已创建的云企业网实例ID。本操作的云企业网实例ID为cen-xxxxxxxxxx4l7。 步骤二 账号B授权账号A加载其网络实例 使用账号B登录VPC管理控制台。例如我的是杭州区域: https://vpcnext.console.aliyun.com/vpc/cn-hangzhou/vpcs 然后单击目标VPC的实例ID,在云企业网跨账号授权信息区域,单击云企业网跨账号授权。 步骤三 账号A加载网络实例 使用账号A登录云企业网管理控制台。 在云企业网实例页面,单击已创建的云企业网实例的操作列下的管理。 3.在加载网络实例页面,单击加载网络实例,配置网络实例: 4.在A的云企业网实例网络加载中,加载B账号中同区域的VPC网络 现在在被加载到云企业网中的任何一台ECS中去ping另外一台服务器,发现ping通了(服务器不能禁ping),则可以用了 否则则有可能是: 1、不在同一区域内 2、没有加载授权到对应 云企业网络中去,请按照上面的过程检查设置。 from:https://blog.csdn.net/umufeng/article/details/85992496
View DetailsCSS translate3d(x,y,z)
translate3d方法用来规定指定元素在三维空间中的位移。 用法比较简单,本文将通过一段代码实例动态演示translate3d的效果。 与二维空间位移相比多Z轴的位移,具体参阅CSS3 translate(x,y)一章节。 transform变换更多内容参阅CSS3 2D/3D转换一章节。 语法结构:
|
1 |
transform:translate3d(x,y,z) |
参数解析: (1).x:表示在x轴方向的位移。 (2).y:表示在y轴方向的位移。 (3).z:表示在z轴方向的位移。 代码实例如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <style> #box{ position:relative; height:150px; width:150px; margin-left:450px; margin-top:250px; padding:10px; border:1px solid black; perspective:1200px; } #ant{ width:100px; height:100px; text-align:center; line-height:100px; font-size:12px; border:1px solid black; background-color:yellow; transform:translate3d(0px,0px,0px); } table{ font-size:12px; width:500px; margin-left:220px; text-align:left; } .left{ text-align:right; width:150px; } </style> <script type="text/javascript"> function change(x,y,z){ var odiv = document.getElementById("ant"); var oshow = document.getElementById("show"); odiv.style.transform = "translate3d(" + x + "px," + y + "px," + z + "px)"; oshow.innerHTML = x_range.value + "/" + y_range.value + "/" + z_range.value; } window.onload=function(){ var x_range = document.getElementById("x_range"); var y_range = document.getElementById("y_range"); var z_range = document.getElementById("z_range"); x_range.onmousemove = function () { change(x_range.value, y_range.value, z_range.value); } y_range.onmousemove = function () { change(x_range.value, y_range.value, z_range.value); } z_range.onmousemove = function () { change(x_range.value, y_range.value, z_range.value); } } </script> </head> <body> <div id="box"> <div id="ant">蚂蚁部落</div> </div> <table> <tr> <td class="left">x轴位移:</td> <td><input type="range" min="-200" step="1" max="200" id="x_range" value="0"/></td> </tr> <tr> <td class="left">y轴位移:</td> <td><input type="range" min="-200" step="1" max="200" id="y_range" value="0" /></td> </tr> <tr> <td class="left">z轴位移:</td> <td><input type="range" min="-200" step="1" max="200" id="z_range" value="0" /></td> </tr> <tr> <td class="left">x/y/z:</td> <td>(<span id="show">0/0/0</span>)</td> </tr> </table> </body> </html> |
上面的代码结合JavaScript演示了translate3d方法的功能。 特别说明:如果不使用perspective属性,将看不到z轴演示效果,因为3D场景就不会有景深的Z轴。 perspective属性参阅CSS3 perspective一章节。 translate3d方法也可以拆分单独写:
|
1 2 3 |
transform:translateX(10px); transform:translateY(20px); transform:translateZ(30px); |
from:http://www.softwhy.com/article-8720-1.html
View DetailsVue HTML5 History 模式
vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。
|
1 2 3 4 |
const router = new VueRouter({ mode: 'history', routes: [...] }) |
当你使用 history 模式时,URL 就像正常的 url,例如 http://yoursite.com/user/id,也好看! 不过这种模式要玩好,还需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问 http://oursite.com/user/id 就会返回 404,这就不好看了。 所以呢,你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。 #后端配置例子 #Apache
|
1 2 3 4 5 6 7 8 |
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule> |
除了 mod_rewrite,你也可以使用 FallbackResource。 #nginx
|
1 2 3 |
location / { try_files $uri $uri/ /index.html; } |
#原生 Node.js
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
const http = require('http') const fs = require('fs') const httpPort = 80 http.createServer((req, res) => { fs.readFile('index.htm', 'utf-8', (err, content) => { if (err) { console.log('We cannot open "index.htm" file.') } res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }) res.end(content) }) }).listen(httpPort, () => { console.log('Server listening on: http://localhost:%s', httpPort) }) |
#基于 Node.js 的 Express 对于 Node.js/Express,请考虑使用 connect-history-api-fallback 中间件。 #Internet Information Services (IIS) 安装 IIS UrlRewrite 在你的网站根目录中创建一个 web.config 文件,内容如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Handle History Mode and custom 404/500" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="/" /> </rule> </rules> </rewrite> </system.webServer> </configuration> |
#Caddy
|
1 2 3 4 |
rewrite { regexp .* to {path} / } |
#Firebase 主机 在你的 firebase.json 中加入:
|
1 2 3 4 5 6 7 8 9 10 11 |
{ "hosting": { "public": "dist", "rewrites": [ { "source": "**", "destination": "/index.html" } ] } } |
#警告 给个警告,因为这么做以后,你的服务器就不再返回 404 错误页面,因为对于所有路径都会返回 index.html 文件。为了避免这种情况,你应该在 Vue 应用里面覆盖所有的路由情况,然后在给出一个 404 页面。
|
1 2 3 4 5 6 |
const router = new VueRouter({ mode: 'history', routes: [ { path: '*', component: NotFoundComponent } ] }) |
或者,如果你使用 Node.js 服务器,你可以用服务端路由匹配到来的 URL,并在没有匹配到路由的时候返回 404,以实现回退。更多详情请查阅 Vue 服务端渲染文档。 from:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90
View Detailslog4net不输出日志的原因及解决方案
光子:最常见的原因是权限的问题,比如你的log目录没有写入权限,有时可能还要给“完全控制”的权限。 ============================================================================ log4net不输出日志文件主要有以下几个原因: 1 没有在AssemblyInfo文件中添加下面的代码:
|
1 |
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)] |
2 运行程序目录下没有log4net.config配置文件。 解决方法有两种: 手动将log4net.config复制到运行程序 选择解决方案中的log4net.config,在属性–>复制到输出目录,选择始终复制。 3 运行程序目录下没有log4net.dll文件。 解决方案: 手动复制,一般不会出现。 4 log4net的net framework版本与运行程序的版本不一致。 如果在调试中出现以下提示:
|
1 2 3 4 5 |
引发的异常:“log4net.Appender.FileAppender.LockingStream.LockStateException”(位于 log4net.dll 中) 引发的异常:“System.InvalidOperationException”(位于 System.dll 中) 引发的异常:“System.IO.PathTooLongException”(位于 mscorlib.dll 中) 引发的异常:“System.IO.PathTooLongException”(位于 mscorlib.dll 中) 引发的异常:“log4net.Appender.FileAppender.LockingStream.LockStateException”(位于 log4net.dll 中) |
就很有可能是这个原因。 解决方案: 更改log4net版本或者运行程序的net framework版本。 5 log4net.config的配置文件中有错误。 解决方案: 这个问题最难解决,因为你必须要仔细检查每一个设置点。例如我有一次就无法输出日志,最后发现,file节点配置如下:
|
1 |
<file value="\\Log\\Common\\"/> |
更改为
|
1 |
<file value="Log\\Common\\"/> |
期待的日志就出现了。因此,如果前面确定都没有问题的话,你就应该仔细检查一下你的配置文件了。 from:https://blog.csdn.net/sgmcumt/article/details/83021616
View Details