介紹mysql中資料的插入,更新,刪除操作前,我先建乙個表。方便後面舉例子。這是乙個學生資訊表:
create
table tab_student(
name char(20),
stuid varchar(20),
rank int
);
建好以後,長成這樣:
語法形式如下(寫成一行就行,我寫兩行是為了看起來方便):
insert into table_name (att_1, att_2, ..., att_n)
values (val_1, val_2, ..., val_n);
以最初我們建立好的學生資訊表為例,現在插入學生alice,學號為01,排名2:
insert
into tab_student (name, stuid, rank) values ('alice', '01', 2);
完成插入後,可以按下面的語句查詢插入的資料記錄:
select * from tab_student;
得到的結果如下圖所示:
其實,除了上述這種方法外,mysql還提供了一種更加簡潔的插入資料的方式,即省略欄位名稱,直接插入值。語法形式如下:
insert into table_name values (val_1, val_2, ..., val_n);
但是注意,此時插入的值一定要與表中定義的字段保持順序上的一致。
除了插入完整的記錄,也可以在資料庫中插入資料記錄的一部分。當有些字段已經被設定了預設值或者可以由事先自動增加的約束生成(這部分內容可參考之前的博文 mysql基本操作一:資料庫和表 中「表的約束」部分)時,我們自然可以省略對這一部分欄位的插入。
insert into table_name (att_1, att_2, ..., att_k)
values (val_1, val_2, ..., val_k);
注:**寫成一行就行,我寫兩行是為了看起來方便
其實語法上與插入完整的資料記錄並沒有什麼分別,還是要求屬性值與屬性(字段)相對應,只不過可以只插入一部分字段。還是上面的例子,我現在插入bob的資料,但是省略他的排名:
insert
into tab_student (name, stuid) values ('bob', '02');
可以看到,此時,bob的排名被置為空。如果事先定義了這個欄位為自動增加或缺省,那就會顯示自動增加的值或預設值。
語法形式如下(寫成一行就行,我寫3行是為了看起來方便):
insert into table_name (att_1, att_2, ..., att_n)
values (val_11, val_12, ..., val_1n),
(val_21, val_22, ..., val_2n), ...;
給多個屬性值的元組即可,不多解釋了。
也可以插入多條資料記錄的一部分(寫成一行就行,我寫3行是為了看起來方便):
insert into table_name (att_1, att_2, ..., att_k)
values (val_11, val_12, ..., val_1k),
(val_21, val_22, ..., val_2k), ...;
道理與插入單條資料記錄的一部分一樣,不舉例子了。
mysql提供了可以將另乙個表中的查詢結果插入本表,以實現資料記錄的複製。語法形式如下:
insert into table_name1 (att_11, att_12, ..., att_1n)
select (att_21, att_22, ..., att_2n) from table_name2 where ... ;
其實從select
開始後面的就是乙個查詢語句,我們可以把從table_name2
中的一條或多條資料(可以看做是屬性元組)插入table_name1
。
用update
語句更新資料。語法形式如下:
update table_name set att_1 = val_1, att_2 = val_2 where ....;
set
後面跟屬性=屬性值
的等式,where
語句用來設定要被更新的資料記錄的條件。
例如,乙個學生**資料如下:
我們現在將alice
的排名改為3:
update tab_student set rank = 3
where name = 'alice';
那**變成了如下的樣子:
語法形式與更新特定的資料記錄是一致的,為了能更新所有的資料記錄,只需要去掉where
語句即可,或者令where
後面的條件滿足表中所有的資料記錄。
用關鍵字delete
刪除資料記錄。注意刪除資料庫或者表我們用的是關鍵字drop
。刪除資料記錄的語法形式如下:
delete
from table_name where ....;
其中,where
後面跟的是要被刪除的資料所滿足的條件。比方說上面那個學生表的例子,我現在要刪除bob的資料,那麼應該寫成這樣:
delete
from tab_student where name = 'bob';
與前面說的更新所有資料記錄的道理是一樣的,不要where
語句或者令where
語句的條件滿足所有的資料記錄。 MySQL資料庫 插入記錄的基本操作
中括號內為可省略字元 第一種插入方式 語法結構 insert into 表名 列名,1.列名可以省略,當列名省略時,即所有欄位都需要賦值 2.插入值時,可以用表示式 函式等 3.同時插入多條記錄,記得逗號 例項 假設前提條件已滿足 insert users values default,lucy 6...
MySQL資料庫基本操作 三)
一 表結構修改 alter 了解 修改表名 alter table tb name rename to new name 修改欄位名 alter table tb name change name new name data type 修改字段型別 alter table tb name modif...
mysql資料的基本操作
首發日期 2018 04 11 給某些字段插入資料 與上面一樣有單條和多條的用法 insert into 表名 字段列表 values 值列表 use test create table student id int primary keyauto increment,name varchar 15...