程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySQL基本SQL語句之數據插入、刪除數據和更新數據

MySQL基本SQL語句之數據插入、刪除數據和更新數據

編輯:MYSQL入門知識
 

一、INSERT插入數據:

方法一:批量插入

基本語法:

INSERT INTO tb_name (col1, col2, ...) VALUES (val1, val2, ...)[,(val1, val2, ...),...]
字符型:單引號
數值型:不需要引號
日期時間型:不需要引號
空值:NULL,不能寫成 ''

如向tutors表插入兩行數據:

mysql> INSERT INTO tutors(Tname,Gender,Age) VALUES('Sam','M',28),('Barlow','M',27);
Query OK, 2 rows affected (0.03 sec)
Records: 2 Duplicates: 0 Warnings: 0

方法二:一次插入一行

基本語法:

INSERT INTO tb_name SET col_name={expr | DEFAULT}, ...

如向tutors表插入一行數據:

mysql> INSERT INTO tutors SET Tname='Winne',Gender='F',Age=25;
Query OK, 1 row affected (0.04 sec)

圖片

方法三:將查詢結果插入到表

基本語法:

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

如下將students表中Age大於20的插入到tutors表中:

mysql> SELECT Name,Gender,Age FROM students WHERE Age > 20;
+-------------+--------+------+
| Name | Gender | Age |
+-------------+--------+------+
| DingDian | M | 25 |
| HuFei | M | 31 |
| Xuzhu | M | 26 |
| LingHuchong | M | 22 |
+-------------+--------+------+
4 rows in set (0.19 sec)

mysql> INSERT INTO tutors(Tname,Gender,Age) SELECT Name,Gender,Age FROM students WHERE Age > 20;
Query OK, 4 rows affected (0.09 sec)
Records: 4 Duplicates: 0 Warnings: 0

圖片

二、REPLACE插入數據

使用INSERT插入數據時,如果違反約束,會導致插入失敗。如students表要求Name字段不能相同,那使用INSERT插入已經存在的Name時,就會失敗。使用REPLACE插入數據,可以在此種情況下,使用新數據替換原數據,而如果不違反約束關系,則與INSERT一樣正常插入數據。

REPLACE基本語法與INSERT完全一樣:

方法一:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...

方法二:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
SET col_name={expr | DEFAULT}, ...

方法三:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
[PARTITION (partition_name,...)]
[(col_name,...)]
SELECT ...  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved