萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql中插入數據Insert into語句用法

mysql中插入數據Insert into語句用法

在mysql中要向數據庫中保存數據我們最常用的一種方法就是直接使用Insert into語句來實現了,下面我來給大家詳細介紹Insert into語句用法

INSERT用於向一個已有的表中插入新行。INSERT…VALUES語句根據明確指定的值插入行。讓我們先來看一下insert語句標准的定義,放在[]內的都是可以省略的:

語法

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]

    [INTO] tbl_name [(col_name,...)]

    VALUES ({expr | DEFAULT},...),(...),...

    [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

實例

create table links (name varchar(255) not null default '', address varchar(255) not null default '');

最簡單的插入方法

 代碼如下 復制代碼

Mysql>insert into worker values(‘tom’,’[email protected]’),(‘paul’,’[email protected]’);

insert into links values('jerichen','gdsz');

批量保存數據

假如我們想一次性的往數據庫裡插入多條數據咋辦?一定要寫多條語句嗎?肯定是不會的,因為MySQL設計的還是很人性的。其提供insert語句的一種非標准格式,即,values(字段值1,字段值2,字段值3),(另一個字段1的值,另一個字段2的值,另一個字段3的值);

# 同時插入兩條數據,看語法說明,那個into被我省略了

 代碼如下 復制代碼 insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');


使用INSERT…SELECT語句插入從其他表選擇的行

當我們在上一節學習創建表時,知道可以使用select從其它表來直接創建表,甚至可以同時復制數據記錄。如果你已經擁有了一個表,你同樣可以從select語句的配合中獲益。

從其它表中錄入數據,例如:

 代碼如下 復制代碼

mysql>insert into tbl_name1(col1,col2) select col3,col4 from tbl_name2;

你也可以略去目的表的列列表,如果你每一列都有數據錄入。

 代碼如下 復制代碼

mysql>insert into tbl_name1 select col3,col4 from tbl_name2;

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

查詢不能包含一個ORDER BY子句。


關於insert語句的幾點說明:

其實也不是啥說明了,都是書上面的例子,不過懶的敲了,而且感覺沒有啥太大意義,都是需要大家理解的。給不給例子是一樣的。

1. 因為之前我在日志中介紹創建表結構的時候,字段是可以有默認值的,在MySQL4.0.3及更高版本都支持一個DEFAULT關鍵字,在我們使用 insert 語句的時候,可以使字段的值等於DEFAULT關鍵字,來使其等於數據庫創建的時候的default值。

2. AUTOINCREMENT自增字段,這個我們是不用給出值的,因為系統會自動為該字段來進行自增,但是如果您願意,也是可以傳值的,看您心情。

3. UNIQUE這個我們也說過,就是字段唯一的意思,比如說用戶的id設置UNIQUE,已經存在一條用戶id為1的數據,如果此時您再想插入一條用戶id為1的數據是不會成功的,系統會出錯的。

4. 如果數據庫字段允許存在NULL值的話,我們在insert插入語句中,也是可以將字段值設為NULL的。

copyright © 萬盛學電腦網 all rights reserved