sq is a free/libre open-source data wrangling swiss-army knife to inspect, query, join, import, and export data. You could think of sq as jq for databases and documents, facilitating one-liners like:
SQL ⢠ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã·ã¹ãã ã¨ä¼è©±ããããã®è¨èª ⢠1970å¹´ Codd ã RDB ã¢ãã«ã¨åæã«ææ¡ (Alphaè¨èª) ⢠1974å¹´ Chamberlin 㨠Boyce ãæ¹è¯ ⢠å ã 㯠SEQUEL (Structured English Query Language) ã ã£ãããåæ¨ç»é²ããã¦ãã ⢠èªã¿æ¹ã¯ ã¨ã¹ãã¥ã¼ã¨ã« ã¨ãã®ã¾ã¾èªã (Glliespie 2012) SQL ⢠SQL ã¯ç®çå¥ã« 4ã¤ã«åãããã ⢠DCL (ãã¼ã¿å¶å¾¡è¨èª) GRANT ã¨ã ⢠DDL (ãã¼ã¿å®ç¾©è¨èª) CREATE TABLE ã¨ã ⢠TCL (ãã©ã³ã¶ã¯ã·ã§ã³å¶å¾¡è¨èª) ROLLBACK ã¨ã ⢠DML (ãã¼ã¿æä½è¨èª) ⢠INSERT, UPDATE, DELETE, SELECT ⢠ãã¼ã¿åæè ã«ã¨ã£ã¦éè¦ãªã®ã¯ SELECT æ
ãªã³ã¯å ã¯ãUNIQUE INDEXãæ¯ã£ãåã«è¤æ°ã®NULLãæå ¥ã§ãããã¨å©ç¨ãã¦ãã¦ãã¼ã¯ã§ããã¹ãã¦ã¼ã¶IDã®ä½¿ãåã(=éä¼ããã¦ã¼ã¶ã®IDãæ°è¦ã¦ã¼ã¶ã«éæ¾ãã)ãå®ç¾ãããã¨ãã話ã ã¢ã¯ãã£ããªã¦ã¼ã¶åã¯ã¦ãã¼ã¯ã«ããããã©åé¤ãããã¦ã¼ã¶ã®æ å ±ã¯æ®ããããã§ãåé¤æ¸ã¿ã¦ã¼ã¶ãã¼ãã«ã¯ä½ããããªã ã¨ãããã¯ã¬ãããçºæ®ãããæã«deleteãã©ã°ã«ä½¿ããªãããªã¼ãªãã¦ã ãã§ããããã§ããããªããä»ã«ã¾ã¨ããªæ¹æ³ç¡ãã§ããâ¦ã MySQLã®ããããã®ã£ã¦ããããªããã - æ¡åç¿å¸çå客 ããã¼ããã¯ã¾ã¨ããªæ¹æ³ãããªãã§ããããã ãNULLã¯NULLã«ä¸è´ããªããã®ã絶対ã®ååãªã®ã ãããNULLã使ã£ã¦UNIQUEå¶ç´ãåé¿ããã®ã¯è£æã§ãwork-aroundã§ããªããæ£å½ãªãã¯ããã¯ã§ãããã ç§ã¯TMæ´¾ãªã®ã§å®è¡¨ä¸ã«nullãçºçãããè¨è¨ã¯ããªãããNulla
éçºè åãã®SQLã¤ã³ããã¯ã¹è§£èª¬ãµã¤ãã管çã«ã¤ãã¦ã®ééããªãç¥èãæä¾ãã¾ãã ã¤ã³ããã¯ã¹ã¯éçºæã«ã¯å¿ããããã¡ã§ããä¸æ¹ã§ãé常ã«å¹æçãªSQLã®ãã¥ã¼ãã³ã°æ¹æ³ã§ããUse The Index, Lukeã§ã¯ãHibernateãªã©ã®ORMãã¼ã«ã®è§£èª¬ã«ã¨ã©ã¾ãããSQLã®ã¤ã³ããã¯ã¹ã«ã¤ãã¦åºç¤ãã説æãã¾ãã Use The Index, Lukeã¯SQLããã©ã¼ãã³ã¹è©³è§£ã®Webä¸ã®ç¡æçã§ãããµã¤ããæ°ã«å ¥ã£ã¦é ãããããã²æ¸ç±ãè³¼å ¥ãã¦ã¿ã¦ä¸ãããã¾ãããã®ãµã¤ãã®éå¶ããµãã¼ãããæ§ã ãªã°ããºã販売ãã¦ãã¾ãã MySQLãOracleãSQL Serverãªã©ã«ãããSQLã®ã¤ã³ããã¯ã¹Use The Index, Lukeã§ã¯ããã³ãã«ã¨ããããªãã¤ã³ããã¯ã¹ã®èª¬æãå¿ããã¦ãã¾ãã製åç¹æã®äºæã«ã¤ãã¦ã¯ã以ä¸ã®ãããªè¡¨ç¤ºããã¦ãã¾ãã Db2 (LUW)U
ä»æ¥ã¯ä»äºç´ãã ã£ãã®ã§ãä¸å¹´ã®ç· ããããã¨ãã¦MySQLã«ãããã½ã¼ãã®è©±ã§ããããã¨æãã ã¤ã³ããã¯ã¹ãå©ç¨ããªãã¯ã¨ãªã§æãããè¦ããããã®ã®ã²ã¨ã¤ã¯ãORDER BYãç¨ããã½ã¼ãå¦çã ããããããã½ã¼ãå¦çã«ããã¦ã¤ã³ããã¯ã¹ãç¨ãããã¨ãåºæ¥ãã°ãMySQLã¯çµæãæ½åºãã¦ããçµæè¡ãã½ã¼ãããã®ã§ã¯ãªããã¤ã³ããã¯ã¹é ã«è¡ãåãåºãã°è¯ãã®ã§é«éã«ã½ã¼ãå¦çãããã¨ãå¯è½ã«ãªããç¹ã«ãLIMITå¥ãWHEREå¥ãç¨ãã¦è¡ã®çµãè¾¼ã¿ãè¡ãå ´åã¯å¹æã絶大ã§ãããããããã²ã¨ãã³ã¤ã³ããã¯ã¹ãå©ç¨ã§ããªãç¶æ³ã«ç´é¢ããã¨ããã¡ã¾ã¡ãã¼ãã«ã¹ãã£ã³ãçºçãã¦æ§è½ãå£åãã¦ãã¾ãã ä¾ãã°ã100ä¸è¡ã®ã¬ã³ã¼ããæ ¼ç´ããt1ã¨ãããã¼ãã«ãããã¨ããããã®ãã¼ãã«ã«å¯¾ãã¦ä»¥ä¸ã®ãããªã¯ã¨ãªãå®è¡ããå ´åãèãããã mysql> SELECT col1, col2 ... colx
ããMySQLã¯ãããµãã ãã å¤ãåæã«åãè©°ãããã ã¨ã©ã¼ãèµ·ããã«å¤ãªå¤/æ¥ä»ãå ¥ã ä¸æ£ãªã¹ãã¼ããå ¥ã£ã¦ãã¾ã ãªã©è¨ããããã¨ãããã¾ãããã ããã¯ãããããã®è¨å®ãæªãã®ã§ãã(確ãã«æããã©ã«ãããããµããªã®ã¯ãããªãã£ããã§ãã) ã¨ãããã¨ã§ããã¼ã¿ãã¼ã¹ã«ã¯ä¸æ£ãªå¤ãå ¥ããªãããã«è¨å®ã¯ã¨ã«ããå³ãããã¦ããã®ããªã¹ã¹ã¡ã§ãã ãããã©ããããã MySQLã¯SQL Modeã«ãã£ã¦ããã®è¾ºãã®å¶ç´ãã³ã³ããã¼ã«ãããã¨ãã§ãã¾ãã以åãMySQLã®sql-modeã§ä¸çªå³ãããã¤ã¯TRADITIONALãã¨ããã®ãæ¸ããã®ã§ãããå®ã¯ããã ãã§ã¯ä¸ååã§ãTRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYã¨ããã®ãããå®å¿ãªããã§ãã ããã¯kamipoããã«æãã¦ãããã¾ããã @songmu TRADITI
All of Perconaâs open-source software products, in one place, to download as much or as little as you need.
PHP Advent Calendar 2013 in Adventarã®19æ¥ç®ã§ããæ¨æ¥ãç§ã®ãPDOã§ã®æ°å¤åã®æ±ãã«ã¯ã¯ãããã£ã±ãï¼2ï¼ãã§ããã ãã£ããtogetterãªããè¦ã¦ãã¾ããç¡é§ã«æéã使ã£ã¦ãã¾ã£ãã¨å¾æããä¸ã«æ··ä¹±ãã¦ãã¾ãä½è¨ã«ããããªããªã£ã¦ãã¾ã£ã人ãããããç¥ãã¾ããã ããã§ããã£ããã®æ©ä¼ãªã®ã§ãSQLã¤ã³ã¸ã§ã¯ã·ã§ã³å¯¾çã«ã¤ãã¦ãç¾å¨ã®ç§ã®èããã¾ã¨ãã¦ãããã¨æãã¾ãã é¸ã¹ â SQLã¤ã³ã¸ã§ã¯ã·ã§ã³å¯¾çã«ããªãã¢ãã¹ãã¼ãã¡ã³ãã使ã â¡SQLã¤ã³ã¸ã§ã¯ã·ã§ã³å¯¾çã«ã¨ã¹ã±ã¼ãã使ã ãããä¸è¨ã®ãããªé¸æã«ã¯ã¾ã£ã¦ãã¾ã£ãããããªãã®SQLã¤ã³ã¸ã§ã¯ã·ã§ã³å¯¾çã¯ãç¾å®çã«ã¯ãã»ã¼100ï¼ ééã£ã¦ããã¨è¨ããã®ã§ã¯ãªãã§ãããããããªãã¢ãã¹ãã¼ãã¡ã³ãã¨ã¨ã¹ã±ã¼ãã¯ããã®ãããªå¯¾ç«æ§é ã«ã¯ããã¾ããããã ãªãããã®è¨äºã¯ãSQLã¤ã³ã¸ã§ã¯ã·
åæ¸ã - ã¤ã³ããã¯ã¹ã®ä½æã¯ãªãéçºè ã®ã¿ã¹ã¯ãªã®ã ã¤ã³ããã¯ã¹ã® å é¨æ§é - ã¤ã³ããã¯ã¹ã¯ä½ã«ä¼¼ã¦ããã ã¤ã³ããã¯ã¹ ãªã¼ããã¼ã - äºéé£çµãªã¹ã æ¤ç´¢ ããªã¼(Bããªã¼) - ãã©ã³ã¹æ¨ é ãã¤ã³ããã¯ã¹ ãã¼ãI - ã¤ã³ããã¯ã¹ãé ããã2ã¤ã®åå where å¥ - æ¤ç´¢ã®ããã©ã¼ãã³ã¹ãæ¹åããããã«ã¤ã³ããã¯ã¹ãä½æ ç価 æ¼ç®å - ä¸è´ãããã¼ã®æ¤ç´¢ ãã©ã¤ããªãã¼ - ã¤ã³ããã¯ã¹ã®ä½¿ãæ¹ãç¢ºèª è¤åã¤ã³ããã¯ã¹ - è¤æ°åã«å¯¾ããã¤ã³ããã¯ã¹ é ãã¤ã³ããã¯ã¹ ãã¼ãII - åã®åé¡ç¹ãåã³ é¢æ° - whereå¥ã® ä¸ã§ã®é¢æ° 大æåã»å°æåãåºå¥ãã æ¤ç´¢ - UPPER㨠LOWER ã¦ã¼ã¶å®ç¾© é¢æ° - é¢æ°ã¤ã³ããã¯ã¹ã®å¶é ã¤ã³ããã¯ã¹ã®ä½ãéã - åé·æ§ã®æé¤æ³ ãã©ã¡ã¼ã¿å ã¯ã¨ãª - ã»ãã¥ãªãã£ã¨ããã©ã¼ãã³ã¹ã®ããã« ç¯å² æ¤
2. èªå·±ç´¹ä» æ¸ æ°´ ä½å¾ @yamionp æ ªå¼ä¼ç¤¾ gumi å¤å Pythonæ´ç´2å¹´å ãµã¼ãã¼ãããã¯ããã¦ç´10å¹´ åè·ã¯ISP
MySQLã§ã©ã³ãã ã«20è¡ãã¨ãããã«ã¯ä»¥ä¸ã®ããã«ããã°ããã SELECT * FROM table_name ORDER BY RAND() LIMIT 0, 20; ç°¡åã«åå¾ã§ããã®ã¯ãããã ãã©ãè¡æ°ãå¢ããã¨åçã«é ããã©ããããéããã£ã¦è¨ãã¨10ä¸è¡ã®ãã¼ã¿ãã¼ã¹ã§ãâãããéãã 表示ä¸ã®å 0 - 19 (20 åè¨, ã¯ã¨ãªã®å®è¡æé 0.0070 ç§) SELECT * FROM table_name LIMIT 0 , 20 表示ä¸ã®å 0 - 19 (20 åè¨, ã¯ã¨ãªã®å®è¡æé 1.1884 ç§) SELECT * FROM table_name ORDER BY RAND() LIMIT 0, 20; ãªãã§ãããªã«æéããããã®ãã¨èª¿ã¹ã¦ã¿ãã¨ãã©ãã*ã使ãããé ãããããã¨ãããã¨ã§ãååã«ä¸»ãã¼ãæå®ãã¦è©¦ãã¦ã¿ãã 表示ä¸ã®å 0 - 19
ãªã Teng ã¯è¯ããã®ãªã®ã、ã YAPC ã§åèãããããã®ã§ããã«ã¡ã¢ãã¦ãã。 Teng ã¯èªç¤¾éçºã®ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦ã人ãã¡ãä½ã£ã¦ãã¦ï½¤ããããã¡ã®ãã¼ãºã«ãã£ã¦ãã®ã§ããã£ã¦ãã話ã§ãã£ã¦ï½¤ã©ãã§ããããæé«!! ã¨ä¸»å¼µãããããã§ã¯ãªãã§ã。ã¾ã、å人ã®ææ³ã§ãã。 ã½ã¼ã¹ãèªã¿ããã ã½ã¼ã¹ãããã¢ã¸ã¥ã¼ã«åããã¦ãã¦ï½¤èªã¿ããã。èªèº«ã§æ¸ãã¦ããé¨åãå¤ãã¨ããè´å±ç®ãæãã«ãã¦ãèªã¿ãããããããªãããªã¼ã¨ï½¡ åãã®ãããªèªç¤¾éçºã®ã¦ã§ãå±ã§ã¯ï½¤ãªã«ãç¡è¶ãªè¦æãåããæã«ããã£ã¨å¯¾å¿ããã¨ãããã¨ãæ±ããããã·ã¼ã³ãå¤ãã®ã§ï½¤ã½ã¼ã¹ã®èªã¿ãããã¨ããã®ã¯ããªãéè¦ãªãã¡ã¯ã¿ã¼ã¨ãªã£ã¦ãã¾ã。 è¤é㪠SQL ãçºè¡ã§ããªãããã«æ©è½ãå¶éããã¦ãã SQL ãã«ãã¼ã使ã£ã¦ JOIN ããµãã¯ã¨ãªãé§ä½¿ããã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãéçºãã¦ãã¾ãã¨ï½¤é
ãªã SQL_CALC_FOUND_ROWS ã LIMIT OFFSET ã®ãã¼ã¸ã³ã°ãè¯ãç¡ãã®ã ããæè¿ã®å¤§è¦æ¨¡ãµã¼ãã¹é¢é£ãããã¼ã¿ãã¼ã¸ã³ã°èã§ãã mysql 5.5.34 ã§è©¦ãã¦è¨äºæ¸ãã¦ã¾ãã bigdata ãã¼ãã«ã¯ id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (id) ãªã«ã©ã ãããåæã§ãããã¡ãã InnoDB ã§ãã 2014å¹´ãªãã ããCOUNT(*)ã¨ãSQL_CALC_FOUND_ROWSã¨ãLIMIT OFFSETã®ãã¼ã¸ã³ã°ã¯ããããã - Togetterã¾ã¨ããçºç«¯ã«ã¿ãããã©ãããã¨æãã話ããã¦ãäºãªãã ãã©ããnippondanji SQL_CALC_FOUND_ROWSãã§ã°ã°ã£ã¦ãæç¨ãªæ å ±ãªããææ¸åããã¦ãªããããã¨ãã ãã¼ã¸ã³ã°å¦çã§ä½¿ãããã¡ãªæ©è½ã§ãã S
DeNAã®å¥¥ããã¨ãã¯ãã·ãããJSON SQL Injectionã«ã¤ãã¦å ¬è¡¨ããã¦ãã¾ãã The JSON SQL Injection Vulnerability ä¸æ£ãªJSONãã¼ã¿ã«ããSQL Injectionã¸ã®å¯¾çã«ã¤ã㦠(Json.pm+SQLã¯ã¨ãªãã«ãã¼) ä¸è¨ã®è¨äºã¯ã主ã«Perlã¹ã¯ãªãããJSONãã¼ã¿ãåãåãã·ããªãªã§èª¬æããã¦ãã¾ãããã¡ããããã®çµã¿åããã«éå®ããã¯ãªãã§ã¯ãªãããã§ãããã§ã¯PHPã§ã¯ã©ãã ããã¨æã調ã¹ã¦ã¿ã¾ããã JSON SQL Injectionã¨ã¯ 以ä¸ãã¯ãã·ããã®ãä¸æ£ãªJSONãã¼ã¿ã«ããâ¦ãã«ãããã£ã¦JSON SQL Injectionã«ã¤ãã¦èª¬æãã¾ãã Perlåãã®SQLã¸ã§ãã¬ã¼ã¿ã®ä¸ã¤ã§ããSQL::Makerã«ããã¦ã以ä¸ã®ã¹ã¯ãªãããæ³å®ãã¾ãã my ($sql, @bind) = $builde
Kazuho's Weblog: The JSON SQL Injection Vulnerability ã«ã¤ãã¦ãå è¨äºãã¯ã£ã¡ããã£ã¡ãã«è¦ç´ãã㨠SQL::Maker ã«ã¦ã¼ã¶ããåãã¨ã£ããã³ã¼ãæ¸ã¿ JSON ããã®ã¾ã¾çªã£è¾¼ã㨠SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ã«ãªãå ´åããã SQL::Maker å´ã§ãããã£ããã¨ãèµ·ãããªãããã« strict ãªãã·ã§ã³ãã¤ãããããã§ããã°ãã£ã¡ä½¿ã å¥ã« SQL::Maker ã«éããªãããæ°ãã¤ãã ã¨ãã話ã£ã½ããæ¬æ¥ã§ããã°ã¦ã¼ã¶å ¥åãã¿ã¤ããã§ãã¯ããã¹ãã ãã©ãã¯ã¨ãªãã«ãã¬ãã«ã§ããèå¼±æ§ã«ãªããªãããã«ããã¡ãã£ã¨èæ ®ãã¦ãããããã¨ãã趣æ¨ããªâ¦ strict ã¢ã¼ãã¯éäºæãªã®ã§ãæ¢åã®ã³ã¼ããåããªããªãå¯è½æ§ãããããã§ãã Teng ã§ã®å¯¾å¿ Teng ã使ã£ã¦ããã¨ããã©ã«ã㧠SQL::Maker ãã¯ã¨ãªã
SQLã§NULLå¤ãå«ãã«ã©ã ã§ã½ã¼ããå®æ½ããå ´åãä½ãæèããªãã¨æå°ã®å¤ã¨ãã¦å¦çããã¦ãã¾ãã¾ãã ä¾ãã°æ¬¡ã®ãããªã¬ã³ã¼ããåå¨ããå ´å test_tab num1null32 select * from test_tab order by num asc; ãããªæ¸ãæ¹ãããã¨æ¬¡ã®ãããªé ã§åºåããã¾ãã test_tab numnull123 nullå¤ãæå°ã¨ãã¦æ±ããã¦ãã¾ãã¾ãã nullå¤ãæå¾ï¼ãã®å ´åã¯æ大ï¼ã¨æ±ãããå ´åã¯ä¸è¨ã®ããã«æ¸ãã¾ãã select * from test_tab order by num is null asc; test_tab num132null ãæ°ä»ãã¨ã¯æãã¾ããããã®æ¸ãæ¹ã ãã§ã¯ãnullå¤ãæ大ã¨ãã¦æ±ãããã ãã§ãã£ã¦ãé常ã®ã½ã¼ãã¯è¡ããã¦ãã¾ããã ãã®ãããä¸è¨ã®ããã«æ¸ãç´ãã¾ãã select * fro
Bill Karwin âSQL Antipatterns: Avoiding the Pitfalls of Database Programmingâ ã®èªæ¸ã¡ã¢ã Jaywalking ç®ç ããå±æ§ã«ã¤ãã¦ãè¤æ°ã®å¤ãæãããã ã¢ã³ããã¿ã¼ã³ : ã«ã³ãåºåããªã¹ã ã«ã³ãåºåãã§è¤æ°ã®å¤ã 1 ã¤ã®åã«ç´ããã ä¾ã§ã¯ãç¹å®ã®è£½åã«ã¤ãã¦ã®æ å½è ãè¤æ°è¨å®ããã®ã«ã«ã³ãåºåãã§ãæ å½è ã®ã¢ã«ã¦ã³ãIDãè¨è¿°ãã¦ããã create table products ( product_id integer, product_name varchar(1000), acount_id varchar(100), -- comma separated list -- ... ); insert into products (product_id, product_name, accou
#5ãGitDDLã¾ãã¤ããã¼ãã£ãã tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog ã便å©ããã ãªã¼ã¨æã£ã¦ã ã§ãGitã¨çµ¡ããªãã¦ããWebã¢ããªã«ããã¦ãç¾å¨ã®ç°å¢ã§ä½¿ç¨ãããã¼ã¿ãã¼ã¹ãã¨ãæãã¹ãã¹ãã¼ãã®ç¶æ ã示ãDDLãã¡ã¤ã«ãã®å·®åãåã£ã¦åãããã¨ãã§ããã°ããã ãã§åå使ããæ°ããããã¨æã£ã¦ä¸ã¤ã®éç¨æ¹æ³ãèãã¦ã¿ãã ãã¡ããGitDDL使ã£ã¦ãè¯ãã®ã ãã©ãSQL::Translatorã使ãã ãã§ãããç¨åº¦ã¯ãã¨ãããã¨ã§ã Amon2ããã¸ã§ã¯ãã®ä¾ã§ã åæè¨å® $ amon2-setup.pl MyAppã¨ãã§éå½¢ããã¸ã§ã¯ããä½ãã¨ãsqlãã£ã¬ã¯ããªãä½ããã¦ãããã«DDLãä¿åããé°å²æ°ã«ãªãããã®ã¾ã¾sql/mysql.sqlã使ã£ã¦ããã
åé¡ ãããªãã¼ãã« a ãããã¾ãã create table a (id int, flag int); ãããªãµãã«ãã¼ã¿ãå ¥ãã¦ã insert into a (id, flag) values (1, 1), (2, 1), (3, 0), (4, 0), (5, 1); ãããªãµãã«ãªã£ã¦ããã¨ãã¾ãã select * from a; +----+------+ | id | flag | +----+------+ | 1 | 1 | | 2 | 1 | | 3 | 0 | | 4 | 0 | | 5 | 1 | +----+------+ ãªãã¹ãåç´ãª1ã¤ã®SQLã§ããã¹ã¦ã®ã¬ã³ã¼ãæ°ã¨ãflag=1ã®ã¬ã³ã¼ãæ°ã¨ãflag=0ã®ã¬ã³ã¼ãæ°ãåå¾ããã ãªãããµãã¯ã¨ãªã¯ä½¿ããªããã¨ã ãã³ã éè¨ã3ã¤ãããã®ã§ããããªãï¼ select count(????), c
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}