陽江網(wǎng)站建設(shè)公司百度網(wǎng)站官網(wǎng)入口
文章目錄
- 創(chuàng)建表
- 插入數(shù)據(jù)
- 清空數(shù)據(jù)表
- 數(shù)據(jù)遷移和篩選
- 查詢數(shù)據(jù)
- 結(jié)論
創(chuàng)建表
首先,代碼中定義了兩個表格:dim_prod_hierarchy_info 和 app_abtest_product_info,都位于 test 數(shù)據(jù)庫中。
- dim_prod_hierarchy_info 表用于存儲產(chǎn)品層級信息,有三列:hier_node_level_1_name, hier_node_level_2_name, hier_node_level_3_name。這些列分別存儲產(chǎn)品的不同層級名稱。
- app_abtest_product_info 表用于存儲產(chǎn)品信息,也有三列:prod_level_1, prod_level_2, prod_level_3,與第一個表的列功能類似。
sql:
CREATE TABLE test.dim_prod_hierarchy_info (hier_node_level_1_name VARCHAR(255),hier_node_level_2_name VARCHAR(255),hier_node_level_3_name VARCHAR(255)
);CREATE TABLE test.app_abtest_product_info (prod_level_1 VARCHAR(255),prod_level_2 VARCHAR(255),prod_level_3 VARCHAR(255)
);
插入數(shù)據(jù)
接著,代碼通過 INSERT INTO 語句向 dim_prod_hierarchy_info 表中插入了幾行數(shù)據(jù)。這些數(shù)據(jù)代表不同類別的產(chǎn)品及其層級。
代碼如下:
INSERT INTO test.dim_prod_hierarchy_info (hier_node_level_1_name, hier_node_level_2_name, hier_node_level_3_name) VALUES
('SmartPhone', 'Galaxy S21', 'S21 Ultra'),
('Tablet', 'Galaxy Tab', 'Tab S7'),
('SmartWatch', 'Galaxy Watch', 'Watch 3'),
('Earbuds', 'Galaxy Buds', 'Buds Live');
清空數(shù)據(jù)表
在向 app_abtest_product_info 表插入數(shù)據(jù)之前,代碼使用 DELETE FROM 語句刪除了該表中的所有現(xiàn)有數(shù)據(jù)。這確保了表中沒有舊數(shù)據(jù)。
DELETE FROM test.app_abtest_product_info WHERE 1=1;
數(shù)據(jù)遷移和篩選
最后,使用 INSERT INTO … SELECT 語句,從 dim_prod_hierarchy_info 表中選取特定的數(shù)據(jù)行,并將這些數(shù)據(jù)插入到 app_abtest_product_info 表中。這個查詢只選擇那些符合特定條件的行:hier_node_level_1_name 字段必須是預(yù)定義的產(chǎn)品類別之一,且 hier_node_level_3_name 不能為空。
INSERT INTO test.app_abtest_product_info(prod_level_1, prod_level_2, prod_level_3)
SELECT hier_node_level_1_name, hier_node_level_2_name, hier_node_level_3_name
FROM test.dim_prod_hierarchy_info
WHERE hier_node_level_1_name IN ('SmartPhone', 'Tablet', 'SmartWatch', 'Earbuds')AND hier_node_level_3_name IS NOT NULL
GROUP BY hier_node_level_1_name, hier_node_level_2_name, hier_node_level_3_name;
查詢數(shù)據(jù)
最后,使用一個簡單的 SELECT * FROM 查詢來查看 dim_prod_hierarchy_info 表中的數(shù)據(jù)。
代碼如下:
SELECT * FROM test.dim_prod_hierarchy_info;
結(jié)論
通過這個示例,用戶可以學(xué)習(xí)如何創(chuàng)建和操作SQL表,包括如何插入、刪除和遷移數(shù)據(jù)。這是數(shù)據(jù)庫管理和數(shù)據(jù)分析中的一個重要技能,可以應(yīng)用于各種實際場景。