二、資料查詢
高階sql操作:利用sql指令的變化實現一些複雜業務的資料操作。
目標:了解批量插入的語法,掌握批量插入的應用
批量插入:是一種優化資料逐條插入的方式
批量插入資料的語法與簡單資料插入的語法差不多
批量插入分為兩種
全欄位批量插入
insert into 表名 values(值列表1),(值列表2),...(值列表n);
部分字段批量插入(注意字段預設值)
insert into 表名 (字段列表) values (值列表1),(值列表2),...(值列表n);
小結1、批量插入可以針對性解決資料的批量匯入之類的業務
2、批量插入可以一次性解決多條資料插入,能夠有效降低客戶端占用問題,提公升資料操作效率
--全欄位批量插入
insert
into table_a values
('tom'
,'computer',90
),('lily'
,'computer',92
);--部分字段批量插入
insert
into table_a (stu_name,course)
values
('tony'
,'english'),
('ray'
,'math'
);
目標:了解蠕蟲複製的語法和原理,能夠利用蠕蟲複製實現資料的快速增長。
蠕蟲複製:從已有表中複製資料直接插入到另外一張表(同一張表)
蠕蟲複製的目標是快速增加表中的資料
蠕蟲複製語法
insert
into 表名 [
(字段列表)
]select 字段列表 from 表名;
注意事項
--蠕蟲複製a表資料到b表
insert
into table_b select
*from table_a;
---選擇欄位時,注意匹配
insert
into stu_b (stu_name,course,score)
select stu_name,course,score from stu_a;
目標:了解主鍵衝突的原理,掌握主鍵衝突的解決方案概念
主鍵衝突:在資料進行插入時包含主鍵指定,而主鍵在資料表已經存在
1、忽略衝突:保留原始記錄
insert
ignore
into 表名 [
(字段列表)
]values
(值列表)
;
eg:
-- username為 primary key,先插入資料
insert
into t_36 values
('username'
,'password'
,12345678);
-- 當發生衝突時,衝突忽略,不能覆蓋
insert
ignore
into t_36 values
('username'
,'12345678'
,12345678
);
2、衝突更新:衝突後部分字段變成更新insert
into 表名 [
(字段列表)
]values
(值列表)
onduplicate
keyupdate 字段 = 新值[
,字段=新值...
];
eg:
-- username為 primary key,先插入資料
insert
into t_37 values
('username'
,12345678);
# 當前時間戳
# 衝突更新(替換部分字段資料)
insert
into t_37 values
('username'
,12345678)on
duplicate
keyupdate logintime = unix_timestamp();
# 當前時間戳.
如果主鍵不衝突:新增
如果主鍵衝突:更新指定字段
上述方式適用於字段較多,但是可能衝突時資料變化的字段較少
3、衝突替換:先刪除原有記錄,後新增記錄
--效率沒有insert高(需要檢查是否衝突)
replace
into 表名 [
(字段列表)
]values
(值列表)
;
eg:
-- username為 primary key,先插入資料
insert
into t_38 values
('username'
,unix_timestamp);
# 替換插入
replace
into t_38 values
('username'
,unix_timestamp())
;
replace遇到主鍵重複就會先刪除、後新增
如果有較多字段需要更新:建議使用替換
4、小結
1、主鍵衝突的解決方案有三種,但是需要根據具體的業務來選擇合適的方式
目標:了解分組的概念和原理,掌握分組統計的應用group by子句:分組統計,根據某個欄位將所有的結果分類,並進行資料統計分析
MySQL基本操作 資料操作
刪除資料 更新字段 1.插入指定字段值 insert into 表名 字段列表 values 對應字段值列表 2.向表中所有字段插入資料 insert into 表名 values 按表結構寫對應資料 insert into my teacher values liwei 20 1.查詢表中全部資料...
Excel操作資料1
生成excel的方法為呼叫本地office com元件,操作excel。新建專案後,新增對應office版本的microsoft.office.interop.excel 的引用,如圖 1 1所示。新增microsoft.office.interop.excel引用 為方便起見,這裡以乙個示例程式說...
Python資料操作 資料清理
資料丟失在現實生活中是乙個問題。機器學習和資料探勘等領域由於資料缺失導致資料質量差,因此在模型 的準確性方面面臨嚴峻的問題。在這些領域,缺失值處理是使模型更加準確和有效的關鍵。現在來看看如何使用pandas庫處理缺失值 如na或nan 使用pandas庫處理資料中的缺失值 import pandas...