回顧之前的MySQL漂流記(一):
增加數據:
這裡我們要說一下,如果增加多個數據,我們應該怎麼做?
語法:insert into 表名values(…,…,…)
Case: insert into table04 values('wangwu',19,'beijing'),('gaojin',31,'nanjing');
其中,values寫的是對應建表時的字段,必須按照建表時候的次序一次賦值,如果此時你忘記了建表時字段的順序,沒有關係,使用:
語法:describe表名
可以幫助我們查看建表時的順序
可以給出要賦值的那個列,然後再列出值。這對於希望建立只有幾個欄位需要初始設定的記錄是很有用的:
(1)insert test04(name) values('Jack');
(2)insert test01_01(name) values('Jack'),('baidu');
(3)insert test01_01 set name='Tencent';
//使用(3)這種形式的insert 語句不能插入多行
insert…into…select..語句:
之前我們介紹過可以用select語句建立表格,現在我們用insert…into…select語句來為我們提供便利:
#使用insert into … select語句滿足下列條件:
1:查詢不能包含一個order by子句
2:insert語句的目的表不能出現在select查詢部分的from子句,因為這在ANSI SQL中被禁止讓從你正在插入的表中select.問題是select將可能發現在同一個運行期間內先前被插入的記錄。當使用子選擇子句時,情況能很容易混淆
語法範例:
1)insert into table01_01 select * from table01_01;//相當於拷貝,表結構完全一致
#2)insert into table01_01(name) select name from table04;//拷貝時–只取某個值加
回顧之前的SQL漂流記(一):
增加數據:
這裡我們要說一下,如果增加多條數據,該怎麼做?
語法:insert into 表名values(…,…,…)
Case: insert into table04 values('wangwu',19,'beijing'),('gaojin',31,'nanjing');
其中,values寫的是對應建表時的字段,必須按照建表時候的次序一次賦值,如果此時你忘記了建表時字段的順序,沒有關係,使用:
語法:describe表名
可以幫助我們查看建表時的順序
可以給出要賦值的那個列,然後再列出值。這對於希望建立只有幾個欄位需要初始設定的記錄是很有用的:
(1)insert test04(name) values('Jack');
(2)insert test01_01(name) values('Jack'),('baidu');
(3)insert test01_01 set name='Tencent';
//使用(3)這種形式的insert 語句不能插入多行
insert…into…select..語句:
之前我們介紹過可以用select語句建立表格,現在我們用insert…into…select語句來為我們提供便利:
#使用insert into … select語句滿足下列條件:
1:查詢不能包含一個order by子句
2:insert語句的目的表不能出現在select查詢部分的from子句,因為這在ANSI SQL中被禁止讓從你正在插入的表中select.問題是select將可能發現在同一個運行期間內先前被插入的記錄。當使用子選擇子句時,情況能很容易混淆
語法範例:
1)insert into table01_01 select * from table01_01;//相當於拷貝,表結構完全一致
#2)insert into table01_01(name) select name from table04;//拷貝時–只取某個值加
以上是淺談MySQL漂流記(六)的詳細內容。更多資訊請關注PHP中文網其他相關文章!