Mysql常用sql語句(22)- insert 插入數據


測試必備的Mysql常用sql語句系列

https://www.cnblogs.com/poloyy/category/1683347.html

 

前言

  • 終於講完基礎的查詢語句了...這篇講的就是插入數據
  • insert 屬於DML語句(數據操縱語句)

 

insert ... values 的語法格式

INSERT INTO <表名> [ <列名1> [ , … <列名n>] ]
VALUES (值1) [… , (值n) ];

語法格式說明

  • <列名>:可以不指定,默認指定表的所有列名
  • values:字段有多少個,值就要有多少個,且順序要對應,否則會報錯

 

insert .. set 的語法格式

這個用的不多哈,了解為主;

INSERT INTO <表名>
SET <列名1> = <值1>,
        <列名2> = <值2>,
        …

 

兩種語法格式的區別

 insert .. values 可以插入任意行數據,而 insert ... set 每次只能插入一行數據

 

看看 emp 表的結構,方便后面栗子演示

 

栗子一:不指定字段,添加記錄

INSERT INTO emp
VALUES
    ( "20", "員工1", 3, 1, 1 );

 

栗子二:指定所有字段,添加記錄

INSERT INTO emp ( id, NAME, dept_id, leader, is_enable )
VALUES
    ( "20", "員工1", 3, 1, 1 );

上面兩個栗子添加的記錄數據是一樣的哦,只是一個指定了所有字段,另一個是不指定任何字段

知識點

  • 指定多個字段時,字段的順序可以隨意,不需要按照表定義的順序來寫,但要保證 values 的順序和字段的順序相同
  • 指定的字段不用加單引號或者雙引號,否則會報錯

常見錯誤寫法

特別在寫代碼的時候,經常需要字符串連接,一不留意就會用引號把字段名括起來,這樣是不對的哦!

INSERT INTO emp ( 'id', 'name' )
VALUES
    ( "20", "員工1");

報錯截圖

 

栗子三:復制表數據來插入

INSERT INTO emp ( id, NAME, dept_id, leader, is_enable ) SELECT
15,
NAME,
dept_id,
leader,
is_enable 
FROM
    emp 
WHERE
    id = 1;

主要的語法格式

insert into <表名> [<字段名>,<字段名>..] select ....

注意:如果是復制表數據的話,不用加 values()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM