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

2022-08-09 00:24:19 字數 2955 閱讀 6771

知識點1----alter

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

alter

table my_contacts  --

表名稱add

column id int

notnull 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;

知識點2delete

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

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''

else

'rice

'end

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

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

update

my_foods

set foods_num = foods_num +

1where breakfast in ('

bread

','milk

');

SQL基礎 刪除和修改表

你應該在建立表之前仔細設計它們,因為你在改變乙個已經存在的表時會受到很大的限制。例如,一旦已經建立了乙個表,你就不能刪除表中的字段或者改變欄位的資料型別。在這種情況你所能做的是刪除這個表,然後重頭開始 參見第十一章 中級sql 中的 使用sql建立記錄和表 一節 要刪除乙個表,你可以使用sql語句d...

SQL基礎 刪除和修改表

你應該在建立表之前仔細設計它們,因為你在改變乙個已經存在的表時會受到很大的限制。例如,一旦已經建立了乙個表,你就不能刪除表中的字段或者改變欄位的資料型別。在這種情況你所能做的是刪除這個表,然後重頭開始 參見第十一章 中級sql 中的 使用sql建立記錄和表 一節 要刪除乙個表,你可以使用sql語句d...

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

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