自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL INSERT INTO語句的正確用法

數(shù)據(jù)庫 MySQL
此文章主要向大家描述的是MySQL INSERT INTO語句的實(shí)際用法與MySQL INSERT INTO語句的正確操作步驟,以下就是文章的詳細(xì)內(nèi)容。

以下的文章主要介紹的是MySQL INSERT INTO語句的實(shí)際用法以及MySQL INSERT INTO語句中的相關(guān)語句的介紹,MySQL INSERT INTO語句在實(shí)際應(yīng)用中是經(jīng)常使用到的語句,所以對其相關(guān)的內(nèi)容還是多多掌握為好。

  1. INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  
  2. [INTO] tbl_name [(col_name,...)]  
  3. VALUES (expression,...),(...),... 

MySQLINSERT INTO SELECT語句:

  1. INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  
  2. [INTO] tbl_name [(col_name,...)]  
  3. SELECT ... 

INSERT INTO語句:

  1. INSERT [LOW_PRIORITY | DELAYED] [IGNORE]  
  2. [INTO] tbl_name  
  3. SET col_name=expressioncol_name=expression, ... 

INSERT把新行插入到一個(gè)存在的表中,INSERTINTO... VALUES形式的語句基于明確指定的值插入行,MySQLINSERT INTO SELECT形式插入從其他表選擇的行,有多個(gè)值表的INSERT INTO... VALUES的形式在MySQL 3.22.5或以后版本中支持,col_name=expression語法在MySQL 3.22.10或以后版本中支持。

tbl_name是行應(yīng)該被插入其中的表。列名表或SET子句指出語句為那一列指定值。

如果你為INSERT ... VALUES或INSERT ... SELECT不指定列表,所有列的值必須在VALUES()表或由SELECT提供。如果你不知道表中列的順序,使用DESCRIBE tbl_name來找出。

任何沒有明確地給出值的列被設(shè)置為它的缺省值。例如,如果你指定一個(gè)列表并沒命名表中所有列,未命名的列被設(shè)置為它們的缺省值。缺省值賦值在7.7 CREATE TABLE句法中描述。

 

一個(gè)expression可以引用在一個(gè)值表先前設(shè)置的任何列。例如,你能這樣:

  1. MySQL> INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2); 

但不能這樣:

  1. MySQL> INSERT INTO tbl_name (col1,col2) VALUES(col2*2,15); 

如果你指定關(guān)鍵詞LOW_PRIORITY,INSERT的執(zhí)行被推遲到?jīng)]有其他客戶正在讀取表。在這種情況下,客戶必須等到插入語句完成后,如果表頻繁使用,它可能花很長時(shí)間。這與INSERT DELAYED讓客馬上繼續(xù)正好相反。

如果你在一個(gè)有許多值行的INSERT中指定關(guān)鍵詞IGNORE,表中任何復(fù)制一個(gè)現(xiàn)有PRIMARY或UNIQUE鍵的行被忽略并且不被插入。如果你不指定IGNORE,插入如果有任何復(fù)制現(xiàn)有關(guān)鍵值的行被放棄。你可用C API函數(shù)MySQL_info()檢查多少行被插入到表中。

 

如果MySQL用DONT_USE_DEFAULT_FIELDS選項(xiàng)配置,INSERT語句產(chǎn)生一個(gè)錯(cuò)誤,除非你明確對需要一個(gè)非NULL值的所有列指定值。見4.7.3 典型configure選項(xiàng)。

 

MySQLINSERT INTO ... SELECT語句滿足下列條件:

 

查詢不能包含一個(gè)ORDER BY子句。

 

INSERT語句的目的表不能出現(xiàn)在SELECT查詢部分的FROM子句,因?yàn)檫@在ANSI SQL中被禁止讓從你正在插入的表中SELECT。(問題是SELECT將可能發(fā)現(xiàn)在同一個(gè)運(yùn)行期間內(nèi)先前被插入的記錄。當(dāng)使用子選擇子句時(shí),情況能很容易混淆)

 

AUTO_INCREMENT列象往常一樣工作。

 

如果你使用INSERT ... SELECT或INSERT ... VALUES語句有多個(gè)值列表,你可以使用C API函數(shù)MySQL_info()得到查詢的信息。信息字符串的格式如下:

 

Records: 100 Duplicates: 0 Warnings: 0

Duplicates指出不能被插入的行的數(shù)量,因?yàn)樗麄兣c現(xiàn)有的唯一的索引值重復(fù)。Warnings指出在出現(xiàn)某些問題時(shí)嘗試插入列值的次數(shù)。在下列任何條件下都可能發(fā)生錯(cuò)誤:

 

插入NULL到被聲明了NOT NULL的列,列被設(shè)置為它的缺省值。

將超出列范圍的值設(shè)置給一個(gè)數(shù)字列,值被剪切為范圍內(nèi)適當(dāng)?shù)亩它c(diǎn)值。

 

將數(shù)字列設(shè)成例如'10.34 a'的值,拖尾的垃圾被剝?nèi)ゲ⑷匀皇菙?shù)字部分被插入。如果值根本不是一個(gè)數(shù)字,列被設(shè)置到0。

 

把一個(gè)字符串插入到超過列的最大長度的一個(gè)CHAR、VARCHAR、TEXT或BLOB列中。值被截?cái)酁榱械淖畲箝L度。

 

把一個(gè)對列類型不合法的值插入到一個(gè)日期或時(shí)間列。列被設(shè)置為該列類型適當(dāng)?shù)?ldquo;零”值。

 

對于INSERT語句的DELAYED選項(xiàng)是MySQL專屬的選項(xiàng)-如果你客戶有不能等到INSERT完成,它是很有用的。當(dāng)你為日記登錄使用MySQL時(shí),而且你也周期性地運(yùn)行花很長時(shí)間完成的SELECT語句,這是一個(gè)常見的問題。DELAYED在面MySQL 3.22.15中被引入,它是MySQL對 ANSI SQL92 的一個(gè)擴(kuò)展。

 

當(dāng)你使用INSERT DELAYED時(shí),客戶將馬上準(zhǔn)備好,并且當(dāng)表不被任何其他的線程使用時(shí),行將被插入。

另一個(gè)使用INSERT DELAYED的主要好處是從很多客戶插入被捆綁在一起并且寫進(jìn)一個(gè)塊。這比做很多單獨(dú)的插入要來的快。

以上的相關(guān)內(nèi)容就是對MySQL INSERT INTO語句的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL導(dǎo)入導(dǎo)出.sql文件實(shí)踐演練
  2. MySQL數(shù)據(jù)庫中的5種數(shù)據(jù)類型簡介
  3. 對MySQL DELETE語法的詳細(xì)解析
  4. MySQL show的實(shí)際操作用法
  5. MySQL 游標(biāo)的具體使用方案
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-05-25 15:24:38

MySQL updat

2010-05-11 10:12:50

mysql數(shù)據(jù)庫sql

2010-05-18 19:03:21

linux MySQL

2010-05-31 11:13:00

MySQL Date函

2010-10-08 14:23:08

MySQL中INSER

2010-01-21 18:35:56

VB.NET Impo

2010-06-11 14:55:17

2010-11-24 17:36:02

MySQL條件查詢語句

2010-10-15 11:16:52

MySQL Show語

2010-11-26 15:32:24

MySQL decla

2011-07-22 16:59:30

MySQL數(shù)據(jù)庫嵌套查詢

2010-05-18 14:04:51

MySQL語句

2010-05-20 08:47:21

MySQL數(shù)據(jù)庫

2010-10-27 15:03:47

Oracle with

2010-09-07 13:50:41

SQL語句

2010-04-26 15:30:45

Oracle join

2010-04-30 11:58:45

Oracle sequ

2010-04-30 10:47:26

Oracle Nvl函

2010-04-30 17:58:55

Oracle trun

2010-06-01 16:02:00

MySQL 常用語句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號