四、向表中插入數據insert


1、insert into 語句向表中插入數據。

命令:  insert into <表名> values ( 值1 )[, ( 值n )];                    //向表中所有列插入數據,有多少列就得有多少值

             insert into <表名> [(<字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];                        //向表中對應字段插入相應的值,一一對應,不寫出的字段就為空

注:字段名需要使用括號()括起來,否則運行報錯

MariaDB [test]> insert into t1 values(0,"w","男");     #向表中所有列插入數據
Query OK, 1 row affected, 1 warning (0.00 sec)

MariaDB [test]> select * from t1;
+----+------+-----+
| id | name | sex |
+----+------+-----+
|  1 | q    | 女  |
|  2 | w    | 男  |
+----+------+-----+
2 rows in set (0.00 sec)

MariaDB [test]> insert into t1 (name) values ("er");      #向表中對於的列插入數據                
Query OK, 1 row affected (0.01 sec)

MariaDB [test]> select * from t1
    -> ;
+----+------+------+
| id | name | sex  |
+----+------+------+
|  1 | q    |   女 |
|  2 | w    |   男 |
|  3 | er   | male |
+----+------+------+
3 rows in set (0.00 sec)

2、插入數據時時需注意:

  • 對表中每個字段必須提供一個值
  • 若某個字段沒有值,可以使用null值
  • 各個字段必須按照表定義時的次序出現
  • 對於自動增量的字段,可指定一個 null 值或者0,(它會被MySQL忽略,但必須給值)
  • 盡量不要使用沒有明確給出字段名的列表的 insert into 語句

3、省略字段的情況

 在insert 操作中省略某些字段,需要滿足以下條件:

  1)該字段定義為允許 null 值(無值或空值)

  2)表定義時給出默認值

若不滿足上面的條件之一,則必須給值,否則插入數據時會報錯

4、插入多行數據

插入多行數據可以用以下兩種方式:

(1)使用多條 insert 語句,每條語句用一個分號結束;

(2)如果每條 insert 語句的字段名和次序相同,則可以一次插入多組值,組值之間用逗號(,)隔開,每組值用一對括號括起來

語法: 

    insert into 表名 (列1,列2...)values (組值1),(組值2),(...);

5、插入檢索出來的數據

   由一條 insert 語句和一條 select 語句組成,即  insert    select   模式

語法:

   insert into 表1 (字段) select 字段  from  表2 where 條件;

  • select 語句的第一列插入 insert  into 表字段中指定的第一列,其他字段也是一一對應插入
  • select 語句中的字段名不需要與insert  into 表字段名相同
  • 需要滿足插入數據的字段值匹配原則

6、提高MySQL性能

降低 insert 語句優先級,先執行其他select 語句

語法 :

      insert low_priority into 表名(字段名) values (值);


免責聲明!

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



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