MySQL入門插入、刪除和更新資料sql語句

來源:互聯網
上載者:User

insert 語句的定義:

insert 語句一次插入一條資料

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

insert 語句一次插入多條資料:

1,欄位值2,欄位值3),(另一個欄位1的值,另一個欄位2的值,另一個欄位3的值);

# 同時插入兩條資料,看文法說明,那個into被我省略了
insert links (name,url) values('jerichen','gdsz'),('alone','gdgz');


UPDATE tbl_name SET 要更改的列

例如,在pet表中,我們發現寵物Whistler的性別沒有指定,因此我們可以這樣修改這個記錄:

mysql> update pet set ***=’f’ where name=” Whistler”;


delete刪除記錄


DELETE 語句有如下格式:

DELETE FROM tbl_name WHERE 要刪除的記錄

基礎的我們都看了,下面看執行個體

一、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_
ame 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 ...


三、DELETE刪除資料:


基本文法:
DELETE FROM tb_name WHERE condition;

WHERE子句用法同SELECT中的WHERE
如下刪除tutors表中Age小於30的行:

mysql> DELETE FROM tutors WHERE Age < 30;
Query OK, 6 rows affected (0.07 sec)
需要注意的是,刪除資料後,AUTOINCREMENT計數器中對應資料並不會刪除。

如果需要清空一張表,並重設AUTOINCREMENT計數器,可以使用如下命令:

TRUNCATE tb_name

四、UPDATE更新資料

基本文法:
UPDATE tb_name SET col1=..., col2=... WHERE
如下將students表中xuzhu的Age改為20:

mysql> UPDATE students SET Age=20 WHERE Name='Xuzhu';
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.