MySql 學習筆記 INSERT

2021-09-21 14:21:39 字數 881 閱讀 1873

insert:將一行或者多行插入到表中

insert into table(col1, col2...) //制定列名(若一一對應則可以忽略)

values(values1, values2...);//對應屬性值

插入多行:

insert (ignore) into table(col1, col2...) //制定列名, 可以選擇忽略錯誤繼續後面的插入

values(values1, values2...), (values1, values2...), ... ; //對應屬性值

不必為自動遞增列(auto_increment)賦值,系統會自動加一

使用select返回值來填充表:

insert into table_1

select c1, c2 from table_2

使用like複製表結構: create table like tablex;

完全複製表的操作:

1. creat table_2 like table_1

2.insert into table_2 select * from table_1;

但是不可以新增違反主鍵或者unique約束的行,否則報錯

(unique 約束唯一標識資料庫表中的每條記錄。

unique 和 primary key 約束均為列或列集合提供了唯一性的保證。)

on duplicate key update(當插入資料不存在(且符合unique約束和主鍵約束)時插入,否則按照其後面的語句進行更新)

insert into table (a,b,c) values (1,2,3) on duplicate key update c=c+1;

update table set c=c+1 where a=1;

mysql學習筆記 insert擴充套件

1 建立表 利用已有表,建立表 這樣建立的缺點 主鍵會丟失 建立表,表結構與資料與t emptest 一致 create table t emptest1 as select from t emptest 建立空表,表結構與t emptest 一致 create table t emptest1 a...

MySQL 提高Insert效能

插入乙個記錄需要的時間由下列因素組成,其中的數字表示大約比例 這不考慮開啟表的初始開銷,每個併發執行的查詢開啟。表的大小以logn b樹 的速度減慢索引的插入。加快插入的一些方法 有選擇地用create table建立表。執行flush tables語句或命令mysqladmin flush tab...

Mysql迴圈insert資料

開發自測時,資料庫需要造大量資料時,要用到mysql儲存過程相關知識,下面分享下,希望對小夥伴們有所幫助 create procedure test 建立儲存函式 begin declare i int default1 while i 5000 do 下面的insert語法要改成自己的表,同時構造...