mysql命令5——插入、更新與刪除數據

mysql命令5——插入、更新與刪除數據

1. 插入數據

在使用數據庫之前,數據庫中必須要求數據,mysql使用insert語句向數據庫 表中插入新的數據記錄。可以插入的方式有:插入完整的記錄、插入記錄的一部分、插入多條記錄、插入另一個查詢的結果。

1. 爲表的所有字段插入數據(插入完整記錄)
語法格式:

insert into  table_name (column_list) values (value_list);
# "table_name" 指定要插入數據的表名,
# "column_list" 指定要插入數據的那些列,
# “value_list” 指定每個列應對應插入的數據。
# 注意: 使用該語句時字段列和數據值的數量必須相同。

# 1. 指定字段名
mysql> insert into person (id,name,age) 
	->values (1,'zhangsan',20);
# 2. 不指定字段名 需按照定義字段的順序,插入
mysql> inser into person values(2,'lisi',16);

提示
雖然使用insert插入數據時可以忽略數據的列名稱,但是值如果不包含列名稱,那values關鍵字後面的值不僅要求完整而且順序必須和表定義時列的順序相同。如果表的結構被修改,對列進行增加、刪除或者位置改變操作,這些操作將使得用這種方式插入數據時的順序也同時改變。如果指定列名稱,則不會收到表結果改變的影響。

2. 同時插入多條記錄

insert語句同時向數據表插入多條記錄時,每個值列表之間用逗號分隔開,基本語法格式如下:

insert into table_name (column_list) values (value_list1),(values_list2),  ...,(values_listn);

使用insert同時插入多條記錄時,mysql會返回一些在執行插入時沒有的額外信息,這些包含數的字符串的意思分別是:

  • Records:表明插入的記錄條數。
  • Duplicates:表明插入時被忽略的記錄,原因可能時這些記錄包含了重複的主鍵值。
  • Warnings:表明有問題的數據值,例如發生數據類型轉換。
    比如:
mysql> insert into person
	-> values (2,'hanry',21),
	->(null,'maya'17);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  warnings:0

3. 將查詢結果插入到列表中

語法規則:

insert into table_name1 (column_list1) select (column_list2) from table_name2 where (condition)
# "table_name1" 指定插入數據的表;
# "column_list1" 指定待插入表中插入數據的哪些列;
# "talbe_name2" 指定插入數據是從哪個表中查詢出來;
# "column_list2" 指定數據來源表的查詢列,該列表必須和column_list列表中的字段個數相同,數據類型相同;
# "condition" 指定select語句的查詢條件。

4. 更新數據

語法格式:

update table_name
set 字段名1 = value1,字段名2=value, ......, 字段名3=valuen
where (condition);

#在person表中,更新id值爲11的記錄,將age字段值改爲15,將name字段值改爲liming。
update person set age=15,name='liming' where id=11;
# 保證update以where子句結束,通過where子句指定被更新的記錄所需要滿足的條件,如果忽略where子句,mysql將更新表中所有行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章