{"id":2388,"date":"2025-03-04T20:57:24","date_gmt":"2025-03-04T12:57:24","guid":{"rendered":"https:\/\/www.laixuexila.com\/?p=2388"},"modified":"2025-03-04T20:57:24","modified_gmt":"2025-03-04T12:57:24","slug":"sqlite-%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0","status":"publish","type":"post","link":"https:\/\/www.laixuexila.com\/index.php\/2025\/03\/04\/sqlite-%e5%b8%b8%e7%94%a8%e5%87%bd%e6%95%b0\/","title":{"rendered":"SQLite\u00a0\u5e38\u7528\u51fd\u6570"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">SQLite \u63d0\u4f9b\u4e86\u591a\u79cd\u5185\u7f6e\u51fd\u6570\uff0c\u5e2e\u52a9\u4f60\u5728\u6570\u636e\u5e93\u64cd\u4f5c\u4e2d\u8fdb\u884c\u5404\u79cd\u5e38\u89c1\u7684\u8ba1\u7b97\u3001\u8f6c\u6362\u3001\u5b57\u7b26\u4e32\u64cd\u4f5c\u3001\u65e5\u671f\u65f6\u95f4\u5904\u7406\u7b49\u4efb\u52a1\u3002\u4ee5\u4e0b\u662f SQLite \u4e2d\u4e00\u4e9b\u5e38\u7528\u7684\u51fd\u6570\uff0c\u5206\u4e3a\u4e0d\u540c\u7c7b\u522b\u8fdb\u884c\u8bf4\u660e\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">1. <strong>\u5b57\u7b26\u4e32\u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8fd9\u4e9b\u51fd\u6570\u5e2e\u52a9\u4f60\u5904\u7406\u548c\u64cd\u4f5c\u5b57\u7b26\u4e32\u6570\u636e\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LENGTH(str)<\/code><\/strong>: \u8fd4\u56de\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\uff08\u4ee5\u5b57\u7b26\u4e3a\u5355\u4f4d\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT LENGTH('Hello');  -- \u8fd4\u56de 5<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>UPPER(str)<\/code><\/strong>: \u5c06\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a\u5927\u5199\u5b57\u6bcd\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT UPPER('hello');  -- \u8fd4\u56de 'HELLO'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LOWER(str)<\/code><\/strong>: \u5c06\u5b57\u7b26\u4e32\u8f6c\u6362\u4e3a\u5c0f\u5199\u5b57\u6bcd\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT LOWER('HELLO');  -- \u8fd4\u56de 'hello'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>SUBSTR(str, start, length)<\/code><\/strong>: \u4ece\u5b57\u7b26\u4e32\u7684\u6307\u5b9a\u4f4d\u7f6e\u63d0\u53d6\u5b50\u5b57\u7b26\u4e32\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT SUBSTR('Hello, World', 1, 5);  -- \u8fd4\u56de 'Hello'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>TRIM(str)<\/code><\/strong>: \u53bb\u9664\u5b57\u7b26\u4e32\u4e24\u7aef\u7684\u7a7a\u683c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT TRIM('  Hello  ');  -- \u8fd4\u56de 'Hello'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>REPLACE(str, old, new)<\/code><\/strong>: \u66ff\u6362\u5b57\u7b26\u4e32\u4e2d\u7684\u6307\u5b9a\u5b50\u4e32\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT REPLACE('Hello, World', 'World', 'SQLite');  -- \u8fd4\u56de 'Hello, SQLite'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>CONCAT(str1, str2)<\/code><\/strong>: \u5c06\u591a\u4e2a\u5b57\u7b26\u4e32\u8fde\u63a5\u5728\u4e00\u8d77\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT CONCAT('Hello', ' ', 'World');  -- \u8fd4\u56de 'Hello World'<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. <strong>\u805a\u5408\u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u805a\u5408\u51fd\u6570\u7528\u4e8e\u5bf9\u6570\u636e\u8fdb\u884c\u805a\u5408\u8ba1\u7b97\uff0c\u901a\u5e38\u4e0e <code>GROUP BY<\/code> \u5b50\u53e5\u4e00\u8d77\u4f7f\u7528\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>COUNT(expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u4e2a\u8868\u8fbe\u5f0f\u7684\u884c\u6570\uff0c\u5e38\u7528\u4e8e\u7edf\u8ba1\u884c\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT COUNT(*) FROM users;  -- \u8fd4\u56de\u7528\u6237\u8868\u4e2d\u7684\u884c\u6570<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>SUM(expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u5217\u7684\u603b\u548c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT SUM(amount) FROM orders;  -- \u8ba1\u7b97\u8ba2\u5355\u91d1\u989d\u7684\u603b\u548c<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>AVG(expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u5217\u7684\u5e73\u5747\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT AVG(amount) FROM orders;  -- \u8ba1\u7b97\u8ba2\u5355\u91d1\u989d\u7684\u5e73\u5747\u503c<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>MAX(expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u5217\u7684\u6700\u5927\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT MAX(age) FROM users;  -- \u8fd4\u56de\u7528\u6237\u8868\u4e2d\u7684\u6700\u5927\u5e74\u9f84<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>MIN(expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u5217\u7684\u6700\u5c0f\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT MIN(age) FROM users;  -- \u8fd4\u56de\u7528\u6237\u8868\u4e2d\u7684\u6700\u5c0f\u5e74\u9f84<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>GROUP_CONCAT(expression, separator)<\/code><\/strong>: \u5c06\u7ec4\u5185\u7684\u591a\u4e2a\u503c\u8fde\u63a5\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u53ef\u4ee5\u6307\u5b9a\u5206\u9694\u7b26\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT GROUP_CONCAT(name, ', ') FROM users;  -- \u8fd4\u56de\u6240\u6709\u7528\u6237\u540d\uff0c\u7528\u9017\u53f7\u5206\u9694<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. <strong>\u6570\u5b66\u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u63d0\u4f9b\u4e86\u591a\u79cd\u6570\u5b66\u51fd\u6570\u6765\u8fdb\u884c\u6570\u503c\u8ba1\u7b97\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>ABS(x)<\/code><\/strong>: \u8fd4\u56de <code>x<\/code> \u7684\u7edd\u5bf9\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT ABS(-10);  -- \u8fd4\u56de 10<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>ROUND(x, d)<\/code><\/strong>: \u5bf9\u6570\u5b57 <code>x<\/code> \u56db\u820d\u4e94\u5165\u5230 <code>d<\/code> \u4f4d\u5c0f\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT ROUND(123.4567, 2);  -- \u8fd4\u56de 123.46<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>CEIL(x)<\/code><\/strong>: \u8fd4\u56de\u5927\u4e8e\u7b49\u4e8e <code>x<\/code> \u7684\u6700\u5c0f\u6574\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT CEIL(3.14);  -- \u8fd4\u56de 4<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>FLOOR(x)<\/code><\/strong>: \u8fd4\u56de\u5c0f\u4e8e\u7b49\u4e8e <code>x<\/code> \u7684\u6700\u5927\u6574\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT FLOOR(3.14);  -- \u8fd4\u56de 3<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>RANDOM()<\/code><\/strong>: \u8fd4\u56de\u4e00\u4e2a\u968f\u673a\u7684\u6574\u6570\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT RANDOM();  -- \u8fd4\u56de\u4e00\u4e2a\u968f\u673a\u6574\u6570<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>PI()<\/code><\/strong>: \u8fd4\u56de \u03c0 (\u5706\u5468\u7387) \u7684\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT PI();  -- \u8fd4\u56de 3.14159265358979<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">4. <strong>\u65e5\u671f\u548c\u65f6\u95f4\u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u63d0\u4f9b\u4e86\u4e00\u4e9b\u65e5\u671f\u548c\u65f6\u95f4\u5904\u7406\u51fd\u6570\uff0c\u80fd\u591f\u5bf9\u65e5\u671f\u3001\u65f6\u95f4\u8fdb\u884c\u8ba1\u7b97\u548c\u683c\u5f0f\u5316\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>DATE('now')<\/code><\/strong>: \u8fd4\u56de\u5f53\u524d\u7684\u65e5\u671f\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT DATE('now');  -- \u8fd4\u56de\u5f53\u524d\u65e5\u671f\uff08YYYY-MM-DD\uff09<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>TIME('now')<\/code><\/strong>: \u8fd4\u56de\u5f53\u524d\u7684\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT TIME('now');  -- \u8fd4\u56de\u5f53\u524d\u65f6\u95f4\uff08HH:MM:SS\uff09<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>DATETIME('now')<\/code><\/strong>: \u8fd4\u56de\u5f53\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT DATETIME('now');  -- \u8fd4\u56de\u5f53\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4\uff08YYYY-MM-DD HH:MM:SS\uff09<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JULIANDAY('now')<\/code><\/strong>: \u8fd4\u56de\u81ea\u516c\u5143\u524d4713\u5e741\u67081\u65e5\u4ee5\u6765\u7684\u5112\u7565\u65e5\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JULIANDAY('now');  -- \u8fd4\u56de\u5f53\u524d\u65f6\u95f4\u7684\u5112\u7565\u65e5\u6570<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>STRFTIME(format, time)<\/code><\/strong>: \u683c\u5f0f\u5316\u65e5\u671f\u548c\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT STRFTIME('%Y-%m-%d %H:%M:%S', 'now');  -- \u8fd4\u56de\u683c\u5f0f\u5316\u540e\u7684\u5f53\u524d\u65e5\u671f\u548c\u65f6\u95f4<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>CURRENT_TIMESTAMP<\/code><\/strong>: \u8fd4\u56de\u5f53\u524d\u7684\u65f6\u95f4\u6233\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT CURRENT_TIMESTAMP;  -- \u8fd4\u56de\u5f53\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4\uff08YYYY-MM-DD HH:MM:SS\uff09<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. <strong>\u6761\u4ef6\u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u4e5f\u6709\u4e00\u4e9b\u6761\u4ef6\u51fd\u6570\uff0c\u5141\u8bb8\u4f60\u6839\u636e\u7279\u5b9a\u6761\u4ef6\u6267\u884c\u64cd\u4f5c\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>IFNULL(expression, default)<\/code><\/strong>: \u5982\u679c\u8868\u8fbe\u5f0f\u4e3a <code>NULL<\/code>\uff0c\u5219\u8fd4\u56de\u9ed8\u8ba4\u503c\uff0c\u5426\u5219\u8fd4\u56de\u8868\u8fbe\u5f0f\u7684\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT IFNULL(NULL, 'Default Value');  -- \u8fd4\u56de 'Default Value'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>COALESCE(expression1, expression2, ...)<\/code><\/strong>: \u8fd4\u56de\u7b2c\u4e00\u4e2a\u975e <code>NULL<\/code> \u7684\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT COALESCE(NULL, NULL, 'First non-null value');  -- \u8fd4\u56de 'First non-null value'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>CASE WHEN condition THEN result ELSE default END<\/code><\/strong>: \u8fdb\u884c\u6761\u4ef6\u5224\u65ad\uff0c\u76f8\u5f53\u4e8e <code>if-else<\/code> \u8bed\u53e5\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT CASE WHEN age &gt;= 18 THEN 'Adult' ELSE 'Minor' END FROM users;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">6. <strong>\u5176\u4ed6\u5e38\u7528\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>NULLIF(x, y)<\/code><\/strong>: \u5982\u679c <code>x<\/code> \u548c <code>y<\/code> \u76f8\u7b49\uff0c\u8fd4\u56de <code>NULL<\/code>\uff0c\u5426\u5219\u8fd4\u56de <code>x<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT NULLIF(5, 5);  -- \u8fd4\u56de NULL\n  SELECT NULLIF(5, 6);  -- \u8fd4\u56de 5<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>TOTAL(expression)<\/code><\/strong>: \u8fd4\u56de\u6240\u6709\u884c\u4e2d <code>expression<\/code> \u7684\u603b\u548c\uff08\u7c7b\u4f3c <code>SUM<\/code>\uff0c\u4f46\u5904\u7406 <code>NULL<\/code> \u503c\u65f6\u4f1a\u5ffd\u7565\u5b83\u4eec\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT TOTAL(amount) FROM orders;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>RANDOMBLOB(n)<\/code><\/strong>: \u8fd4\u56de\u4e00\u4e2a\u968f\u673a\u7684\u5b57\u8282\u4e32\uff0c\u957f\u5ea6\u4e3a <code>n<\/code> \u5b57\u8282\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT RANDOMBLOB(10);  -- \u8fd4\u56de 10 \u5b57\u8282\u7684\u968f\u673a\u5b57\u8282\u4e32<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">7. <strong>\u5c0f\u7ed3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u63d0\u4f9b\u4e86\u591a\u79cd\u5185\u7f6e\u51fd\u6570\uff0c\u6db5\u76d6\u4e86\u5b57\u7b26\u4e32\u5904\u7406\u3001\u6570\u5b66\u8ba1\u7b97\u3001\u65e5\u671f\u65f6\u95f4\u3001\u805a\u5408\u8ba1\u7b97\u3001\u6761\u4ef6\u5224\u65ad\u7b49\u5e38\u89c1\u4efb\u52a1\u3002\u901a\u8fc7\u8fd9\u4e9b\u51fd\u6570\uff0c\u4f60\u53ef\u4ee5\u65b9\u4fbf\u5730\u8fdb\u884c\u6570\u636e\u8f6c\u6362\u3001\u8ba1\u7b97\u3001\u683c\u5f0f\u5316\u4ee5\u53ca\u6761\u4ef6\u64cd\u4f5c\uff0c\u4ece\u800c\u63d0\u9ad8\u6570\u636e\u5e93\u64cd\u4f5c\u7684\u6548\u7387\u548c\u7075\u6d3b\u6027\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite\u9664\u4e86\u6211\u524d\u9762\u63d0\u5230\u7684\u5e38\u7528\u51fd\u6570\uff0c\u8fd8\u6709\u4e00\u4e9b\u5176\u4ed6\u6709\u7528\u7684\u51fd\u6570\uff08\u5982\u4e0b\uff09\uff0c\u5728\u4e0d\u540c\u573a\u666f\u4e2d\u8fdb\u884c\u66f4\u591a\u7684\u6570\u636e\u5904\u7406\u548c\u67e5\u8be2\u64cd\u4f5c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. <strong>\u6392\u5e8f\u548c\u9650\u5236\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LIMIT n<\/code><\/strong>: \u7528\u4e8e\u9650\u5236\u67e5\u8be2\u7ed3\u679c\u7684\u8fd4\u56de\u884c\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT * FROM users LIMIT 5;  -- \u8fd4\u56de\u524d 5 \u884c\u6570\u636e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>OFFSET n<\/code><\/strong>: \u7528\u4e8e\u8bbe\u7f6e\u67e5\u8be2\u8fd4\u56de\u7ed3\u679c\u7684\u504f\u79fb\u91cf\u3002\u901a\u5e38\u4e0e <code>LIMIT<\/code> \u4e00\u8d77\u4f7f\u7528\u6765\u5b9e\u73b0\u5206\u9875\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT * FROM users LIMIT 5 OFFSET 10;  -- \u4ece\u7b2c 11 \u884c\u5f00\u59cb\u8fd4\u56de 5 \u884c\u6570\u636e<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>ORDER BY column<\/code><\/strong>: \u6309\u7167\u6307\u5b9a\u7684\u5217\u5bf9\u67e5\u8be2\u7ed3\u679c\u8fdb\u884c\u6392\u5e8f\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT * FROM users ORDER BY age DESC;  -- \u6309\u5e74\u9f84\u964d\u5e8f\u6392\u5e8f<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">9. <strong>NULL \u76f8\u5173\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>IS NULL<\/code><\/strong>: \u68c0\u67e5\u67d0\u4e2a\u8868\u8fbe\u5f0f\u662f\u5426\u4e3a <code>NULL<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT * FROM users WHERE age IS NULL;  -- \u67e5\u627e\u5e74\u9f84\u4e3a NULL \u7684\u8bb0\u5f55<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>IS NOT NULL<\/code><\/strong>: \u68c0\u67e5\u67d0\u4e2a\u8868\u8fbe\u5f0f\u662f\u5426\u4e0d\u662f <code>NULL<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT * FROM users WHERE age IS NOT NULL;  -- \u67e5\u627e\u5e74\u9f84\u4e0d\u4e3a NULL \u7684\u8bb0\u5f55<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>IFNULL(expression, default)<\/code><\/strong>: \u5982\u679c <code>expression<\/code> \u4e3a <code>NULL<\/code>\uff0c\u5219\u8fd4\u56de <code>default<\/code>\uff0c\u5426\u5219\u8fd4\u56de <code>expression<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT IFNULL(age, 0) FROM users;  -- \u5982\u679c age \u662f NULL\uff0c\u8fd4\u56de 0<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>COALESCE(expr1, expr2, ...)<\/code><\/strong>: \u8fd4\u56de\u7b2c\u4e00\u4e2a\u975e <code>NULL<\/code> \u7684\u8868\u8fbe\u5f0f\u503c\u3002\u5982\u679c\u6240\u6709\u8868\u8fbe\u5f0f\u90fd\u4e3a <code>NULL<\/code>\uff0c\u5219\u8fd4\u56de <code>NULL<\/code>\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT COALESCE(age, 30) FROM users;  -- \u5982\u679c age \u4e3a NULL\uff0c\u5219\u8fd4\u56de 30<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">10. <strong>\u6570\u5b66\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>EXP(x)<\/code><\/strong>: \u8fd4\u56de <code>e<\/code> \u7684 <code>x<\/code> \u6b21\u5e42\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT EXP(2);  -- \u8fd4\u56de e^2<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LN(x)<\/code><\/strong>: \u8fd4\u56de <code>x<\/code> \u7684\u81ea\u7136\u5bf9\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT LN(10);  -- \u8fd4\u56de 10 \u7684\u81ea\u7136\u5bf9\u6570<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LOG(x)<\/code><\/strong>: \u8fd4\u56de\u4ee5 10 \u4e3a\u5e95\u7684\u5bf9\u6570\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT LOG(10);  -- \u8fd4\u56de 10 \u7684\u4ee5 10 \u4e3a\u5e95\u7684\u5bf9\u6570<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>PI()<\/code><\/strong>: \u8fd4\u56de\u5706\u5468\u7387 \u03c0 \u7684\u8fd1\u4f3c\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT PI();  -- \u8fd4\u56de 3.14159265358979<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">11. <strong>\u65e5\u671f\u548c\u65f6\u95f4\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>DATE(timestring, modifier, modifier, ...)<\/code><\/strong>: \u4fee\u6539\u65f6\u95f4\u5b57\u7b26\u4e32\u5e76\u8fd4\u56de\u65b0\u7684\u65e5\u671f\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT DATE('now', '+1 day');  -- \u8fd4\u56de\u660e\u5929\u7684\u65e5\u671f<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>TIME(timestring, modifier, modifier, ...)<\/code><\/strong>: \u4fee\u6539\u65f6\u95f4\u5b57\u7b26\u4e32\u5e76\u8fd4\u56de\u65b0\u7684\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT TIME('now', '+1 hour');  -- \u8fd4\u56de\u5f53\u524d\u65f6\u95f4\u52a0 1 \u5c0f\u65f6<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>DATETIME(timestring, modifier, modifier, ...)<\/code><\/strong>: \u4fee\u6539\u65f6\u95f4\u5b57\u7b26\u4e32\u5e76\u8fd4\u56de\u65b0\u7684\u65e5\u671f\u548c\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT DATETIME('now', '+1 day', '+1 hour');  -- \u8fd4\u56de\u5f53\u524d\u65e5\u671f\u548c\u65f6\u95f4\u52a0 1 \u5929\u30011 \u5c0f\u65f6<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>STRFTIME(format, time)<\/code><\/strong>: \u6309\u6307\u5b9a\u683c\u5f0f\u8fd4\u56de\u65e5\u671f\u548c\u65f6\u95f4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT STRFTIME('%Y-%m-%d %H:%M:%S', 'now');  -- \u8fd4\u56de\u5f53\u524d\u7684\u65e5\u671f\u548c\u65f6\u95f4\uff08YYYY-MM-DD HH:MM:SS\uff09<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">12. <strong>\u805a\u5408\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>GROUP_CONCAT(expr, separator)<\/code><\/strong>: \u5c06\u7ec4\u5185\u7684\u591a\u4e2a\u5b57\u7b26\u4e32\u503c\u5408\u5e76\u4e3a\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u4f7f\u7528\u6307\u5b9a\u7684\u5206\u9694\u7b26\u5206\u9694\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT GROUP_CONCAT(name, ', ') FROM users;  -- \u8fd4\u56de\u6240\u6709\u7528\u6237\u540d\uff0c\u7528\u9017\u53f7\u5206\u9694<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>COUNT(DISTINCT expression)<\/code><\/strong>: \u7edf\u8ba1\u67d0\u4e2a\u5217\u4e0d\u540c\u503c\u7684\u6570\u91cf\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT COUNT(DISTINCT age) FROM users;  -- \u8fd4\u56de\u4e0d\u540c\u5e74\u9f84\u7684\u6570\u91cf<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>SUM(DISTINCT expression)<\/code><\/strong>: \u8ba1\u7b97\u67d0\u4e2a\u5217\u4e0d\u540c\u503c\u7684\u548c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT SUM(DISTINCT amount) FROM orders;  -- \u8fd4\u56de\u8ba2\u5355\u91d1\u989d\u7684\u603b\u548c\uff0c\u6392\u9664\u91cd\u590d\u7684\u91d1\u989d<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>MAX(DISTINCT expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u4e2a\u5217\u4e0d\u540c\u503c\u7684\u6700\u5927\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT MAX(DISTINCT amount) FROM orders;  -- \u8fd4\u56de\u8ba2\u5355\u91d1\u989d\u7684\u6700\u5927\u503c\uff0c\u6392\u9664\u91cd\u590d\u7684\u91d1\u989d<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>MIN(DISTINCT expression)<\/code><\/strong>: \u8fd4\u56de\u67d0\u4e2a\u5217\u4e0d\u540c\u503c\u7684\u6700\u5c0f\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT MIN(DISTINCT amount) FROM orders;  -- \u8fd4\u56de\u8ba2\u5355\u91d1\u989d\u7684\u6700\u5c0f\u503c\uff0c\u6392\u9664\u91cd\u590d\u7684\u91d1\u989d<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">13. <strong>JSON \u51fd\u6570<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u4e5f\u652f\u6301\u5904\u7406 JSON \u6570\u636e\u7c7b\u578b\uff0c\u4ee5\u4e0b\u662f\u4e00\u4e9b\u5e38\u7528\u7684 JSON \u51fd\u6570\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_OBJECT(key, value, ...)<\/code><\/strong>: \u521b\u5efa\u4e00\u4e2a JSON \u5bf9\u8c61\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_OBJECT('name', 'Alice', 'age', 30);\n  -- \u8fd4\u56de '{\"name\": \"Alice\", \"age\": 30}'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_ARRAY(value, ...)<\/code><\/strong>: \u521b\u5efa\u4e00\u4e2a JSON \u6570\u7ec4\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_ARRAY('apple', 'banana', 'cherry');\n  -- \u8fd4\u56de '&#91;\"apple\", \"banana\", \"cherry\"]'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_EXTRACT(json, path)<\/code><\/strong>: \u4ece JSON \u5bf9\u8c61\u4e2d\u63d0\u53d6\u6307\u5b9a\u8def\u5f84\u7684\u6570\u636e\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_EXTRACT('{\"name\": \"Alice\", \"age\": 30}', '$.name');\n  -- \u8fd4\u56de 'Alice'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_SET(json, path, value)<\/code><\/strong>: \u5728 JSON \u5bf9\u8c61\u4e2d\u8bbe\u7f6e\u6307\u5b9a\u8def\u5f84\u7684\u503c\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_SET('{\"name\": \"Alice\", \"age\": 30}', '$.age', 31);\n  -- \u8fd4\u56de '{\"name\": \"Alice\", \"age\": 31}'<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_ARRAY_LENGTH(json)<\/code><\/strong>: \u8fd4\u56de JSON \u6570\u7ec4\u7684\u957f\u5ea6\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_ARRAY_LENGTH('&#91;\"apple\", \"banana\", \"cherry\"]');\n  -- \u8fd4\u56de 3<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>JSON_TYPE(json)<\/code><\/strong>: \u8fd4\u56de JSON \u503c\u7684\u6570\u636e\u7c7b\u578b\uff08\u4f8b\u5982\uff1a<code>object<\/code>, <code>array<\/code>, <code>string<\/code>, <code>number<\/code>\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT JSON_TYPE('{\"name\": \"Alice\"}');\n  -- \u8fd4\u56de 'object'<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">14. <strong>\u5176\u4ed6\u5e38\u7528\u51fd\u6570<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>RANDOMBLOB(n)<\/code><\/strong>: \u8fd4\u56de\u4e00\u4e2a\u968f\u673a\u7684\u4e8c\u8fdb\u5236\u5927\u5bf9\u8c61\uff0c\u957f\u5ea6\u4e3a <code>n<\/code> \u5b57\u8282\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  SELECT RANDOMBLOB(10);  -- \u8fd4\u56de 10 \u5b57\u8282\u7684\u968f\u673a\u5b57\u8282\u4e32<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>LAST_INSERT_ROWID()<\/code><\/strong>: \u8fd4\u56de\u6700\u540e\u4e00\u6b21\u63d2\u5165\u7684\u884c\u7684 ID\uff08\u4ec5\u5728\u63d2\u5165\u540e\u6709\u6548\uff09\u3002<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>  INSERT INTO users(name, age) VALUES('Alice', 30);\n  SELECT LAST_INSERT_ROWID();  -- \u8fd4\u56de\u521a\u63d2\u5165\u8bb0\u5f55\u7684\u884c ID<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">15. <strong>\u603b\u7ed3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SQLite \u63d0\u4f9b\u4e86\u5e7f\u6cdb\u7684\u5185\u7f6e\u51fd\u6570\uff0c\u6db5\u76d6\u4e86\u5b57\u7b26\u4e32\u64cd\u4f5c\u3001\u6570\u5b66\u8ba1\u7b97\u3001\u65e5\u671f\u65f6\u95f4\u5904\u7406\u3001\u805a\u5408\u8ba1\u7b97\u3001JSON \u5904\u7406\u7b49\u591a\u79cd\u529f\u80fd\u3002\u901a\u8fc7\u7075\u6d3b\u5730\u4f7f\u7528\u8fd9\u4e9b\u51fd\u6570\uff0c\u53ef\u4ee5\u66f4\u9ad8\u6548\u5730\u5904\u7406\u6570\u636e\u5e93\u4e2d\u7684\u6570\u636e\u3002\u4f60\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u7684\u9700\u6c42\u9009\u62e9\u5408\u9002\u7684\u51fd\u6570\u6765\u63d0\u5347 SQL \u67e5\u8be2\u7684\u6548\u7387\u548c\u53ef\u8bfb\u6027\u3002\u66f4\u591a\u8be6\u7ec6\u5185\u5bb9\u8bf7\u5173\u6ce8\u5176\u4ed6\u76f8\u5173\u6587\u7ae0\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQLite \u63d0\u4f9b\u4e86\u591a\u79cd\u5185\u7f6e\u51fd\u6570\uff0c\u5e2e\u52a9\u4f60\u5728\u6570\u636e\u5e93\u64cd\u4f5c\u4e2d\u8fdb\u884c\u5404\u79cd\u5e38\u89c1\u7684\u8ba1\u7b97\u3001\u8f6c\u6362\u3001\u5b57\u7b26\u4e32\u64cd\u4f5c\u3001\u65e5\u671f\u65f6\u95f4\u5904\u7406\u7b49\u4efb\u52a1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76],"tags":[],"class_list":["post-2388","post","type-post","status-publish","format-standard","hentry","category-sqlite"],"_links":{"self":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/comments?post=2388"}],"version-history":[{"count":1,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2388\/revisions"}],"predecessor-version":[{"id":2389,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/posts\/2388\/revisions\/2389"}],"wp:attachment":[{"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/media?parent=2388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/categories?post=2388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.laixuexila.com\/index.php\/wp-json\/wp\/v2\/tags?post=2388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}