知識點1----alter
下列**意義:向已存在的表my_foods中新增自動排列的列 作為主鍵
altertable 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--- 可以同時改變現有的列名稱和資料型別
altertable
my_contacts
change
column breakfast morning_foods varchar(20); --
舊名稱breakfast改為 morning_foods ,新的型別為 varchar(20)
modify ---修改現有列的資料型別或者位置
altertable
my_contacts
modify
column morning_foods after id;
drop -- 從表中刪除某列
altertable
my_foods
drop
column morning_foods;
rename to ----給表重新命名
altertable
my_contacts
rename
to contacts;
知識點2delete
----刪除單一行或者所有行的值
deletefrom 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就會把那一列的所有資料都修改為新的值)
updatemy_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 不但可以對各種資料型別賦值,也可以套用一些基礎的運算,函式等等。
updatemy_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...