在mysql中更新數據與刪除數據及保存數據我們用到三個不同的命令,下面我來介紹在mysql中數據保存,刪除與更新實例.
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
- //Vevb.com
新聞熱點
疑難解答