[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"knowledge-\u002Fapi\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fdml":3,"knowledge-related-\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fdml":829,"knowledge-series-\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fdml":855},{"source":4,"connector":5,"page":6},"sqlite","better-sqlite3",{"path":7,"title":8,"description":9,"category":10,"tags":11,"date":14,"pinned":15,"draft":15,"body":16,"seo":825,"stem":826,"id":827,"extension":828},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fdml","数据操作","DML（Data Manipulation Language）用于对表中的数据进行增（INSERT）、删（DELETE）、改（UPDATE）。下面详细介绍这三类操作。","技能小册",[12,13],"mysql","dml","2024-05-30",false,{"type":17,"value":18,"toc":815},"minimark",[19,22,27,44,49,54,71,96,117,126,130,139,153,158,167,171,199,204,208,228,232,247,252,263,278,282,296,311,315,335,357,361,393,398,417,421,430,449,453,482,486,551,556,569,573,676,680,761,769,772,811],[20,21,8],"h1",{"id":8},[23,24,26],"h2",{"id":25},"数据操作dml","数据操作（DML）",[28,29,30,31,35,36,39,40,43],"p",{},"DML（Data Manipulation Language）用于对表中的数据进行",[32,33,34],"strong",{},"增","（INSERT）、",[32,37,38],{},"删","（DELETE）、",[32,41,42],{},"改","（UPDATE）。下面详细介绍这三类操作。",[45,46,48],"h3",{"id":47},"一插入数据insert","一、插入数据（INSERT）",[50,51,53],"h4",{"id":52},"_1-插入完整行","1. 插入完整行",[55,56,61],"pre",{"className":57,"code":58,"language":59,"meta":60,"style":60},"language-sql shiki shiki-themes material-theme-lighter github-light github-dark","INSERT INTO table_name VALUES (value1, value2, ...);\n","sql","",[62,63,64],"code",{"__ignoreMap":60},[65,66,69],"span",{"class":67,"line":68},"line",1,[65,70,58],{},[72,73,74,78,81],"ul",{},[75,76,77],"li",{},"值的顺序必须与表中定义的列顺序完全一致。",[75,79,80],{},"字符串和日期需要加引号。",[75,82,83,84,87,88,91,92,95],{},"自增列（",[62,85,86],{},"AUTO_INCREMENT","）可以填 ",[62,89,90],{},"NULL"," 或 ",[62,93,94],{},"DEFAULT","，系统会自动分配。",[28,97,98,101,102,105,106,109,110,109,113,116],{},[32,99,100],{},"示例","（假设 ",[62,103,104],{},"students"," 表有 ",[62,107,108],{},"id",", ",[62,111,112],{},"name",[62,114,115],{},"age"," 三列）：",[55,118,120],{"className":57,"code":119,"language":59,"meta":60,"style":60},"INSERT INTO students VALUES (NULL, '张三', 20);\n",[62,121,122],{"__ignoreMap":60},[65,123,124],{"class":67,"line":68},[65,125,119],{},[50,127,129],{"id":128},"_2-插入指定列","2. 插入指定列",[55,131,133],{"className":57,"code":132,"language":59,"meta":60,"style":60},"INSERT INTO table_name (col1, col2) VALUES (val1, val2);\n",[62,134,135],{"__ignoreMap":60},[65,136,137],{"class":67,"line":68},[65,138,132],{},[72,140,141,150],{},[75,142,143,144,146,147,149],{},"未指定的列会使用默认值（如果有 ",[62,145,94],{}," 定义）或 ",[62,148,90],{},"（若允许）。",[75,151,152],{},"推荐使用这种方式，避免依赖列的顺序，代码更健壮。",[28,154,155,157],{},[32,156,100],{},"：",[55,159,161],{"className":57,"code":160,"language":59,"meta":60,"style":60},"INSERT INTO students (name, age) VALUES ('李四', 22);\n",[62,162,163],{"__ignoreMap":60},[65,164,165],{"class":67,"line":68},[65,166,160],{},[50,168,170],{"id":169},"_3-批量插入","3. 批量插入",[55,172,174],{"className":57,"code":173,"language":59,"meta":60,"style":60},"INSERT INTO table_name (col1, col2) VALUES\n    (val1a, val2a),\n    (val1b, val2b),\n    ...;\n",[62,175,176,181,187,193],{"__ignoreMap":60},[65,177,178],{"class":67,"line":68},[65,179,180],{},"INSERT INTO table_name (col1, col2) VALUES\n",[65,182,184],{"class":67,"line":183},2,[65,185,186],{},"    (val1a, val2a),\n",[65,188,190],{"class":67,"line":189},3,[65,191,192],{},"    (val1b, val2b),\n",[65,194,196],{"class":67,"line":195},4,[65,197,198],{},"    ...;\n",[72,200,201],{},[75,202,203],{},"一次插入多行，减少网络往返和日志开销，性能优于逐条插入。",[28,205,206,157],{},[32,207,100],{},[55,209,211],{"className":57,"code":210,"language":59,"meta":60,"style":60},"INSERT INTO students (name, age) VALUES\n    ('王五', 19),\n    ('赵六', 21);\n",[62,212,213,218,223],{"__ignoreMap":60},[65,214,215],{"class":67,"line":68},[65,216,217],{},"INSERT INTO students (name, age) VALUES\n",[65,219,220],{"class":67,"line":183},[65,221,222],{},"    ('王五', 19),\n",[65,224,225],{"class":67,"line":189},[65,226,227],{},"    ('赵六', 21);\n",[50,229,231],{"id":230},"_4-插入查询结果","4. 插入查询结果",[55,233,235],{"className":57,"code":234,"language":59,"meta":60,"style":60},"INSERT INTO table_name (col1, col2)\nSELECT colA, colB FROM another_table WHERE condition;\n",[62,236,237,242],{"__ignoreMap":60},[65,238,239],{"class":67,"line":68},[65,240,241],{},"INSERT INTO table_name (col1, col2)\n",[65,243,244],{"class":67,"line":183},[65,245,246],{},"SELECT colA, colB FROM another_table WHERE condition;\n",[72,248,249],{},[75,250,251],{},"可以将一个表的数据复制或筛选后插入到另一个表。",[28,253,254,256,257,260,261],{},[32,255,100],{},"：将 ",[62,258,259],{},"temp_students"," 中年龄大于 18 的记录插入 ",[62,262,104],{},[55,264,266],{"className":57,"code":265,"language":59,"meta":60,"style":60},"INSERT INTO students (name, age)\nSELECT name, age FROM temp_students WHERE age > 18;\n",[62,267,268,273],{"__ignoreMap":60},[65,269,270],{"class":67,"line":68},[65,271,272],{},"INSERT INTO students (name, age)\n",[65,274,275],{"class":67,"line":183},[65,276,277],{},"SELECT name, age FROM temp_students WHERE age > 18;\n",[50,279,281],{"id":280},"_5-插入时的冲突处理","5. 插入时的冲突处理",[72,283,284,290],{},[75,285,286,289],{},[62,287,288],{},"INSERT IGNORE","：插入时若违反主键或唯一约束，忽略该行，不报错继续。",[75,291,292,295],{},[62,293,294],{},"ON DUPLICATE KEY UPDATE","：当主键或唯一键冲突时，执行更新操作。",[55,297,299],{"className":57,"code":298,"language":59,"meta":60,"style":60},"INSERT INTO students (id, name, age) VALUES (1, '张三', 20)\nON DUPLICATE KEY UPDATE name = VALUES(name), age = VALUES(age);\n",[62,300,301,306],{"__ignoreMap":60},[65,302,303],{"class":67,"line":68},[65,304,305],{},"INSERT INTO students (id, name, age) VALUES (1, '张三', 20)\n",[65,307,308],{"class":67,"line":183},[65,309,310],{},"ON DUPLICATE KEY UPDATE name = VALUES(name), age = VALUES(age);\n",[45,312,314],{"id":313},"二更新数据update","二、更新数据（UPDATE）",[55,316,318],{"className":57,"code":317,"language":59,"meta":60,"style":60},"UPDATE table_name\nSET col1 = new_value1, col2 = new_value2, ...\nWHERE condition;\n",[62,319,320,325,330],{"__ignoreMap":60},[65,321,322],{"class":67,"line":68},[65,323,324],{},"UPDATE table_name\n",[65,326,327],{"class":67,"line":183},[65,328,329],{},"SET col1 = new_value1, col2 = new_value2, ...\n",[65,331,332],{"class":67,"line":189},[65,333,334],{},"WHERE condition;\n",[72,336,337,351,354],{},[75,338,339,342,343,346,347,350],{},[32,340,341],{},"WHERE 子句极其重要","：如果省略 ",[62,344,345],{},"WHERE","，会更新表中",[32,348,349],{},"所有行","。",[75,352,353],{},"可以同时更新多个列。",[75,355,356],{},"可以使用子查询和现有列值计算新值。",[28,358,359,157],{},[32,360,100],{},[55,362,364],{"className":57,"code":363,"language":59,"meta":60,"style":60},"-- 将 id=1 的学生年龄增加 1 岁\nUPDATE students SET age = age + 1 WHERE id = 1;\n\n-- 将所有女生的成绩提高 5 分\nUPDATE scores SET score = score + 5 WHERE gender = 'F';\n",[62,365,366,371,376,382,387],{"__ignoreMap":60},[65,367,368],{"class":67,"line":68},[65,369,370],{},"-- 将 id=1 的学生年龄增加 1 岁\n",[65,372,373],{"class":67,"line":183},[65,374,375],{},"UPDATE students SET age = age + 1 WHERE id = 1;\n",[65,377,378],{"class":67,"line":189},[65,379,381],{"emptyLinePlaceholder":380},true,"\n",[65,383,384],{"class":67,"line":195},[65,385,386],{},"-- 将所有女生的成绩提高 5 分\n",[65,388,390],{"class":67,"line":389},5,[65,391,392],{},"UPDATE scores SET score = score + 5 WHERE gender = 'F';\n",[28,394,395,157],{},[32,396,397],{},"注意事项",[72,399,400,407,414],{},[75,401,402,403,406],{},"更新前建议先用 ",[62,404,405],{},"SELECT"," 相同条件确认范围。",[75,408,409,410,413],{},"在事务中执行时可以 ",[62,411,412],{},"ROLLBACK"," 撤销。",[75,415,416],{},"更新大量数据时，考虑分批进行，避免长事务锁表。",[45,418,420],{"id":419},"三删除数据delete","三、删除数据（DELETE）",[55,422,424],{"className":57,"code":423,"language":59,"meta":60,"style":60},"DELETE FROM table_name WHERE condition;\n",[62,425,426],{"__ignoreMap":60},[65,427,428],{"class":67,"line":68},[65,429,423],{},[72,431,432,439,442],{},[75,433,434,435,438],{},"同样，",[32,436,437],{},"WHERE 必不可少","（除非你有意清空整张表）。",[75,440,441],{},"删除操作会逐行删除，并记录事务日志，可以回滚。",[75,443,444,445,448],{},"删除后，自增列的值不会重置（除非使用 ",[62,446,447],{},"TRUNCATE","）。",[28,450,451,157],{},[32,452,100],{},[55,454,456],{"className":57,"code":455,"language":59,"meta":60,"style":60},"-- 删除 id=5 的学生\nDELETE FROM students WHERE id = 5;\n\n-- 删除年龄大于 50 的所有学生\nDELETE FROM students WHERE age > 50;\n",[62,457,458,463,468,472,477],{"__ignoreMap":60},[65,459,460],{"class":67,"line":68},[65,461,462],{},"-- 删除 id=5 的学生\n",[65,464,465],{"class":67,"line":183},[65,466,467],{},"DELETE FROM students WHERE id = 5;\n",[65,469,470],{"class":67,"line":189},[65,471,381],{"emptyLinePlaceholder":380},[65,473,474],{"class":67,"line":195},[65,475,476],{},"-- 删除年龄大于 50 的所有学生\n",[65,478,479],{"class":67,"line":389},[65,480,481],{},"DELETE FROM students WHERE age > 50;\n",[50,483,485],{"id":484},"全表删除truncate-vs-delete","全表删除：TRUNCATE vs DELETE",[487,488,489,511],"table",{},[490,491,492],"thead",{},[493,494,495,499,502,505,508],"tr",{},[496,497,498],"th",{},"操作",[496,500,501],{},"速度",[496,503,504],{},"是否可回滚",[496,506,507],{},"重置自增",[496,509,510],{},"触发触发器",[512,513,514,534],"tbody",{},[493,515,516,522,525,528,531],{},[517,518,519],"td",{},[62,520,521],{},"DELETE FROM table",[517,523,524],{},"慢（逐行删除）",[517,526,527],{},"可以（在事务中）",[517,529,530],{},"否",[517,532,533],{},"是",[493,535,536,541,544,547,549],{},[517,537,538],{},[62,539,540],{},"TRUNCATE TABLE table",[517,542,543],{},"极快（释放数据页）",[517,545,546],{},"不可回滚（DDL）",[517,548,533],{},[517,550,530],{},[28,552,553,157],{},[32,554,555],{},"使用建议",[72,557,558,563],{},[75,559,560,561,350],{},"需要快速清空表且不需要回滚时，使用 ",[62,562,447],{},[75,564,565,566,350],{},"需要条件删除或希望保留自增计数器时，使用 ",[62,567,568],{},"DELETE",[45,570,572],{"id":571},"四最佳实践","四、最佳实践",[574,575,576,601,635,656,667],"ol",{},[75,577,578,584,587,588,591,592,594,595,597,598,600],{},[32,579,580,581,583],{},"始终使用 ",[62,582,345],{}," 保护",[585,586],"br",{},"\n在 ",[62,589,590],{},"UPDATE"," 和 ",[62,593,568],{}," 中，务必加上 ",[62,596,345],{}," 条件。执行前先在测试环境用 ",[62,599,405],{}," 验证。",[75,602,603,606,607,632,634],{},[32,604,605],{},"开启事务","（InnoDB 引擎）",[55,608,610],{"className":57,"code":609,"language":59,"meta":60,"style":60},"START TRANSACTION;\nUPDATE ...;\nDELETE ...;\nCOMMIT;  -- 或 ROLLBACK;\n",[62,611,612,617,622,627],{"__ignoreMap":60},[65,613,614],{"class":67,"line":68},[65,615,616],{},"START TRANSACTION;\n",[65,618,619],{"class":67,"line":183},[65,620,621],{},"UPDATE ...;\n",[65,623,624],{"class":67,"line":189},[65,625,626],{},"DELETE ...;\n",[65,628,629],{"class":67,"line":195},[65,630,631],{},"COMMIT;  -- 或 ROLLBACK;\n",[585,633],{},"确保多个操作要么全部成功，要么全部失败。",[75,636,637,640,642,643,646,647],{},[32,638,639],{},"批量操作限制行数",[585,641],{},"\n对于大量数据的修改，可以加 ",[62,644,645],{},"LIMIT"," 分批进行，避免长时间锁表。",[55,648,650],{"className":57,"code":649,"language":59,"meta":60,"style":60},"DELETE FROM logs WHERE created_at \u003C '2023-01-01' LIMIT 1000;\n",[62,651,652],{"__ignoreMap":60},[65,653,654],{"class":67,"line":68},[65,655,649],{},[75,657,658,664,666],{},[32,659,660,661],{},"使用 ",[62,662,663],{},"INSERT ... ON DUPLICATE KEY UPDATE",[585,665],{},"\n实现“存在则更新，不存在则插入”的 upsert 语义，简化代码。",[75,668,669,672,673,675],{},[32,670,671],{},"注意字符集和转义","（防止 SQL 注入）",[585,674],{},"\n在应用代码中，应使用参数化查询（如 PreparedStatement）或 ORM 框架，避免直接拼接 SQL。",[45,677,679],{"id":678},"五示例综合演示","五、示例综合演示",[55,681,683],{"className":57,"code":682,"language":59,"meta":60,"style":60},"-- 插入几条记录\nINSERT INTO employees (name, salary, dept_id) VALUES\n    ('Alice', 5000, 1),\n    ('Bob', 6000, 2),\n    ('Charlie', 5500, 1);\n\n-- 更新：给部门1的所有员工加薪10%\nUPDATE employees SET salary = salary * 1.10 WHERE dept_id = 1;\n\n-- 删除工资低于 4000 的员工\nDELETE FROM employees WHERE salary \u003C 4000;\n\n-- 查看结果\nSELECT * FROM employees;\n",[62,684,685,690,695,700,705,710,715,721,727,732,738,744,749,755],{"__ignoreMap":60},[65,686,687],{"class":67,"line":68},[65,688,689],{},"-- 插入几条记录\n",[65,691,692],{"class":67,"line":183},[65,693,694],{},"INSERT INTO employees (name, salary, dept_id) VALUES\n",[65,696,697],{"class":67,"line":189},[65,698,699],{},"    ('Alice', 5000, 1),\n",[65,701,702],{"class":67,"line":195},[65,703,704],{},"    ('Bob', 6000, 2),\n",[65,706,707],{"class":67,"line":389},[65,708,709],{},"    ('Charlie', 5500, 1);\n",[65,711,713],{"class":67,"line":712},6,[65,714,381],{"emptyLinePlaceholder":380},[65,716,718],{"class":67,"line":717},7,[65,719,720],{},"-- 更新：给部门1的所有员工加薪10%\n",[65,722,724],{"class":67,"line":723},8,[65,725,726],{},"UPDATE employees SET salary = salary * 1.10 WHERE dept_id = 1;\n",[65,728,730],{"class":67,"line":729},9,[65,731,381],{"emptyLinePlaceholder":380},[65,733,735],{"class":67,"line":734},10,[65,736,737],{},"-- 删除工资低于 4000 的员工\n",[65,739,741],{"class":67,"line":740},11,[65,742,743],{},"DELETE FROM employees WHERE salary \u003C 4000;\n",[65,745,747],{"class":67,"line":746},12,[65,748,381],{"emptyLinePlaceholder":380},[65,750,752],{"class":67,"line":751},13,[65,753,754],{},"-- 查看结果\n",[65,756,758],{"class":67,"line":757},14,[65,759,760],{},"SELECT * FROM employees;\n",[28,762,763,764,591,766,768],{},"掌握 DML 语句是日常数据库操作的核心，需要格外注意数据安全（尤其是 ",[62,765,590],{},[62,767,568],{},"）。建议在进行危险操作前先备份或使用事务。",[23,770,771],{"id":771},"参考文献",[487,773,774,784],{},[490,775,776],{},[493,777,778,781],{},[496,779,780],{},"资料",[496,782,783],{},"说明",[512,785,786,800],{},[493,787,788,797],{},[517,789,790],{},[791,792,796],"a",{"href":793,"rel":794},"https:\u002F\u002Fdev.mysql.com\u002Fdoc\u002Frefman\u002F8.0\u002Fen\u002F",[795],"nofollow","MySQL 8.0 手册",[517,798,799],{},"官方",[493,801,802,808],{},[517,803,804],{},[791,805,807],{"href":806},"\u002Fknowledge\u002Fbooklet\u002Fsql","数据存储导读",[517,809,810],{},"学习路径",[812,813,814],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":60,"searchDepth":183,"depth":183,"links":816},[817,824],{"id":25,"depth":183,"text":26,"children":818},[819,820,821,822,823],{"id":47,"depth":189,"text":48},{"id":313,"depth":189,"text":314},{"id":419,"depth":189,"text":420},{"id":571,"depth":189,"text":572},{"id":678,"depth":189,"text":679},{"id":771,"depth":183,"text":771},{"title":8,"description":9},"knowledge\u002Fbooklet\u002Fsql\u002FMySql\u002Fdml","knowledge\u002Fknowledge\u002Fbooklet\u002Fsql\u002FMySql\u002Fdml.md","md",{"items":830},[831,835,839,843,847,851],{"path":832,"title":833,"description":834,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Ftool","常用函数","MySQL 提供了丰富的内置函数，用于处理字符串、数值、日期和时间以及条件逻辑。下面分类介绍最常用的基础函数。",{"path":836,"title":837,"description":838,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fjoin","多表查询","多表查询用于从两个或更多表中获取数据。常见的连接类型包括内连接、外连接（左、右）和自连接。",{"path":840,"title":841,"description":842,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Finstall","MySQL 安装与基本操作","MySQL 的安装因操作系统而异，但安装完成后，通过命令行客户端连接并进行基本管理的方法是通用的。下面分别介绍安装方式和常用命令。",{"path":844,"title":845,"description":846,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Ftype","数据类型","MySQL 支持多种数据类型，可分为数值、字符串、日期时间、枚举\u002F集合以及 JSON 等。选择合适的类型可以优化存储空间和查询性能。",{"path":848,"title":849,"description":850,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fdql","查询数据","数据查询语言（DQL）用于从数据库中检索数据，核心是 SELECT 语句。下面从基础查询、条件筛选、排序、限制行数、聚合与分组等方面进行介绍。",{"path":852,"title":853,"description":854,"category":10,"score":712},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fddl","数据库与表的基本操作","DDL（Data Definition Language）用于定义数据库结构，包括创建、修改、删除数据库和表。下面介绍 MySQL 中常用的 DDL 语句。",{"series":856,"title":12,"items":857,"index":389,"prev":887,"next":888},"booklet\u002Fsql\u002Fmysql",[858,862,866,870,874,876,877,879,881,883,885],{"path":859,"title":860,"date":861,"pinned":15},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fauth","用户与权限管理","2021-06-06",{"path":863,"title":864,"date":865,"pinned":15},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fbackup","备份与恢复","2024-02-23",{"path":867,"title":868,"date":869,"pinned":15},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fbase","MySQL 基础概念","2021-03-18",{"path":871,"title":872,"date":873,"pinned":15},"\u002Fknowledge\u002Fbooklet\u002Fsql\u002Fmysql\u002Fconstraints","约束","2020-03-31",{"path":852,"title":853,"date":875,"pinned":15},"2024-07-14",{"path":7,"title":8,"date":14,"pinned":15},{"path":848,"title":849,"date":878,"pinned":15},"2024-08-16",{"path":840,"title":841,"date":880,"pinned":15},"2025-04-04",{"path":836,"title":837,"date":882,"pinned":15},"2025-11-29",{"path":832,"title":833,"date":884,"pinned":15},"2026-01-19",{"path":844,"title":845,"date":886,"pinned":15},"2024-10-16",{"path":852,"title":853,"date":875,"pinned":15},{"path":848,"title":849,"date":878,"pinned":15}]