SQL修改表內的資料,刪除列的例項教程

2021-12-30 11:46:14 字數 2385 閱讀 4056

知識點1----alter

下列**意義:向已存在的表my_foods中新增自動排列的列 作為主鍵

alter table my_contacts  --表名稱

add column id int not null auto_increment first,   --新的 列 id,自動排列,該列於第一位

add primary key (id);  --要求新命名的id列作為主鍵如果不需要作為主鍵,則去掉 primary key 即可!

排序關鍵字:

first - --把 列id 安置於所有其他列的前面

last -- 把列 id 安置於其他列的後面

second -- 把列 id 安置為 第二個列

after(column1) -- 將列 id 放在 column1 後面

before(column2) -- 將列 id 放在 column2 前面

功能關鍵字:

add --- 在當前表中增加一列——可自選型別(見始端)

change---可以同時改變現有的列名稱和資料型別

alter table my_contacts

change column breakfast morning_foods varchar(20);   -- 舊名稱breakfast改為 morning_foods ,新的型別為 varchar(20)modify ---修改現有列的資料型別或者位置

alter table my_contacts

modify column morning_foods after id;drop -- 從表中刪除某列

alter table my_foods

drop column morning_foods;rename to ----給表重新命名

alter table my_contacts

rename to contacts;知識點2 delete

----刪除單一行或者所有行的值

delete from my_foods --my_foods是要刪除的行所在的表

where breakfast = 'bread';delete 與 select 區別:delete不需要指定刪除的物件,因為他很殘忍,會把整行的所有列都刪除。

所以,delete不能單一刪除某一列中值或者某一列的所有值;但是可以刪除一行或者多行(根據where語句來定)。where子句中的搭配關鍵字,類似select的使用方法,如like、in、between,都可以在此處使用,而且所有條件都能更準確地要求rdbms刪除特定行。

要是想修改某一行的某一列值,可以使用delete和insert配合來完成:先確定需要改變的值是你真正需要的值(因為刪除掉的難以恢復),然後插入資料,刪除原來的資料

select *from my_foods

where breakfast = 'milk';

insert into my_foods

values('bread+milk');

delete from my_foods

where breakfast = 'milk';這樣做的缺點是:需要把全部的行的相同資料重新輸入一次,效率降低!update可以化簡這個問題!

知識點3 update

--改變單一列或者所有列的值(不加上where就會把那一列的所有資料都修改為新的值)

update my_foods

set breakfast = 'bread'要是需要更新單一行或者多行,一切都需要交給where來決定

update my_foods ---選擇更新的表

set breakfast = 'bread'    --設定列 的值為什麼

where breakfast = 'milk';    --定位要是需要用到多個update,可以用一下方法(加入case關鍵字!!):

update my_foods --表名稱

set breakfast = --指定的列值將根據下列條件做適當的更新

case

when lunch = 'fish' --當lunch 的值為 『fish』時,將breakfast的值修改為meat!

then 'meat'

when lunch = 'fruit'

then 'apple'

else 'rice'

end附:case語句可以適用於 select ,insert, delete,update語句中!

當然,set 不但可以對各種資料型別賦值,也可以套用一些基礎的運算,函式等等。

update my_foods

set foods_num = foods_num +1where breakfast in ('bread','milk');

SQL基礎篇 修改表內的資料,刪除列

知識點1 alter 下列 意義 向已存在的表my foods中新增自動排列的列 作為主鍵 alter table my contacts 表名稱add column id int notnull auto increment first,新的 列 id,自動排列,該列於第一位 add primar...

sql新增 刪除表中的列

新增沒有預設值 alter table test add bazaartype char 1 有預設值的新增列 alter table test add bazaartype char 1 default 0 刪除沒有預設值的列 alter table test drop column bazaar...

sql新增 刪除表中的列

新增沒有預設值 alter table test add bazaartype char 1 有預設值的新增列 alter table test add bazaartype char 1 default 0 刪除沒有預設值的列 alter table test drop column bazaar...