在之前的章節中,其實我們主要學習了如何去建立一張表,那在本節課程中,我們將要學習如何去管理一張表。
新增刪除表字段
語法:
新增字段
alter
table tb_name add 欄位名稱 字段屬性 [完整性約束條件]
[first(將某個欄位加到起始位置)|
after 欄位名稱]
刪除字段
alter
table tb_name drop 欄位名稱
示例:
新增
alter
table
user
add user_name varchar(60
)not
null
after id
刪除alter
table
user
drop email
動態新增刪除預設值
語法:
新增預設值:
alter
table tb_name alter 欄位名稱 set
default 預設值;
刪除預設值:
alter
table tb_name alter 欄位名稱 drop
default
示例:
-- 給email欄位新增預設值 0-未填寫
alter
table
user
alter email set
default
'0-未填寫'
;-- 刪除age欄位的預設值
alter
table user2
alter age drop
default
動態修改欄位的屬性和型別
語法:
修改字段型別,字段屬性
alter
table tb_name
modify 欄位名稱 字段型別 [字段屬性]
[first
|after 欄位名稱]
修改欄位名稱,字段型別,字段屬性
alter
table tb_name
change 原欄位名稱 新字段名稱 字段型別 字段屬性 [
first
|after 欄位名稱]
示例:
-- 修改字段型別,字段屬性
alter
table
user
modify username varchar20)
notnull
unique
-- 修改欄位名稱,字段型別,字段屬性
alter
table
user
change username user_name varchar(20
)not
null
動態新增和刪除主鍵新增主鍵
alter
table tb_name add
primary
key(欄位名稱)
刪除主鍵
alter
table tb_name drop
primary
key;
示例:
-- 新增主鍵
alter
table
user
addprimary
key(id)
;-- 刪除主鍵
alter
table
user
drop
primary
key;
注意:如果對主鍵設定自增約束後,是不能直接刪除主鍵的,需要先刪除自增約束。
動態新增和刪除唯一約束
語法:
新增唯一
alter
table tb_name add
unique
key|
index
[index_name]
(欄位名稱);
刪除唯一
alter
table tb_name drop
index index_name;
注意:當我們想要刪除唯一約束的時候,需要借助唯一約束的名字,可以通過show create table tb_name語句檢視表的詳細資訊。當沒有給唯一欄位的約束起名字時,系統預設將欄位名設定為唯一字段索引名稱。
示例:
-- 新增唯一索引
alter
table
user
addunique
key(username)
;-- 或
alter
table
user
addunique
index uni_email(email)
;--uni_加欄位名稱
-- 刪除時則:
alter
table
user
drop
unique
index uni_email;
修改表名稱修改資料表名稱:
alter
table tb_name rename[to
|as] new _tb_name
或rename
table tb_name to new_tb_name
示例:
alter
table
user
rename
to user666;
mysql 5.5之後預設使用innodb儲存引擎。
什麼是儲存引擎
「儲存引擎」從字面理解,「儲存」的意思的儲存資料。
「引擎」一詞**於發動機,它是發動機中的核心部分。在軟體工程領域,相似的稱呼有「遊戲引擎」、「搜尋引擎」,它們都是相應程式或系統的核心元件。
所以從這裡可以看出「儲存引擎」似乎也是資料庫的核心。儲存引擎是mysql有別於其他資料庫管理系統的最大特色,比如它的兄弟oracle中就沒有專門的儲存引擎的概念,我們知道關係型資料庫的資料是存在表裡的,可以將表理解為由行和列組成的**,類似於excel的電子**的形式,每個**就是乙個資料。
表是在儲存資料的同時,還要組織資料的儲存結構,而這些資料的組織結構就是由儲存引擎決定的。
但是,對於使用者和應用程式來說同一張表的資料,無論用什麼引擎來儲存,使用者看到的資料都是一樣的。不同的引擎訪問、引擎功能,占用的空間大小,讀取效能等可能有區別。
簡單來說,儲存引擎就是資料的儲存結構,由實際業務決定。
常用引擎
對於日常工作來說,常用的儲存引擎只有四種:預設的innodb、myisam和memory。
acid指的是:原子性(atomiocity)、一致性(consistency)、隔離性(isolation)、永續性(durability)。這也是mysql資料庫的特性
RABC許可權管理學習
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
記憶體管理學習筆記
1.棧 堆和靜態區 靜態區 儲存自動全域性變數和static變數 包括全域性靜態變數和區域性靜態變數 靜態區的內容在整個程式的生命週期內都存在。棧 儲存區域性變數。棧上的內容只在函式的範圍內存在,當函式執行結束,這些內容也會自動被銷毀。其特點是效率高,但是空間大小有限。堆 由malloc系列函式或n...
cocos記憶體管理學習
口訣 1.誰建立,誰釋放。通過new或者clone建立的物件,必須呼叫release或者autorelease。2.new,clone以外的方法建立的物件都被宣告了autorelease。3.誰retain,誰release。無論這個物件是如何生成的,只要呼叫了retain就要呼叫release。正...