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語法要改成自己的表,同時構造...