首頁  >  文章  >  資料庫  >  淺談MySQL漂流記(六)

淺談MySQL漂流記(六)

黄舟
黄舟原創
2017-03-08 13:36:001012瀏覽

回顧之前的MySQL漂流記(一):

增加數據:
這裡我們要說一下,如果增加多個數據,我們應該怎麼做?
語法:insert  into 表名values(…,…,…)
Case:  insert  into  table04  values('wangwu',19,'beijing'),('gaojin',31,'nanjing');
其中,values寫的是對應建表時的字段,必須按照建表時候的次序一次賦值,如果此時你忘記了建表時字段的順序,沒有關係,使用:
語法:describe表名
可以幫助我們查看建表時的順序
淺談MySQL漂流記(六)

可以給出要賦值的那個列,然後再列出值。這對於希望建立只有幾個欄位需要初始設定的記錄是很有用的:

(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漂流記(六)

回顧之前的SQL漂流記(一):

增加數據:
這裡我們要說一下,如果增加多條數據,該怎麼做?
語法:insert  into 表名values(…,…,…)
Case:  insert  into  table04  values('wangwu',19,'beijing'),('gaojin',31,'nanjing');
其中,values寫的是對應建表時的字段,必須按照建表時候的次序一次賦值,如果此時你忘記了建表時字段的順序,沒有關係,使用:
語法:describe表名
可以幫助我們查看建表時的順序
淺談MySQL漂流記(六)

可以給出要賦值的那個列,然後再列出值。這對於希望建立只有幾個欄位需要初始設定的記錄是很有用的:

(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漂流記(六)


以上是淺談MySQL漂流記(六)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn