MySQL高階SQL操作 資料新增

2021-10-09 01:38:31 字數 3051 閱讀 3636

二、資料查詢

高階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...