MySQL入門基礎2
重置自增初始值:
1、ALTER TABLE s AUTO_INCREMENT=0;
2、TRUNCATE TABLE s; -- 清空資料表
3、刪除表,重新建表
約束的分類:
主鍵約束:primary Key 唯一性,非空性
預設約束:Default xx資料的預設值
唯一約束:Unique Key唯一性,可以空,但只能有一個
外來鍵約束:Foreign Key 需要建立兩表間的關係並引用主表的列,保持資料的一致性,完整性,實現一對一,一對多關係(不建議使用,提高維護成本)
檢查約束:check 對該列資料的範圍、格式的限制(如:年齡,性別等)
新增約束
-- 增加主鍵約束
ALTER TABLE member ADD CONSTRAINT pk_member_id PRIMARY KEY(id);
-- 新增唯一約束
ALTER TABLE member ADD UNIQUE(regName);
-- 新增外來鍵約束
ALTER TABLE loan ADD CONSTRAINT fk_id FOREIGN KEY(memberID) REFERENCES member(id);
-- 新增預設約束
ALTER TABLE member ADD create_time DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE member ALTER type SET DEFAULT 2;
刪除約束
-- 刪除主鍵約束
ALTER TABLE member DROP PRIMARY KEY;
-- 刪除唯一約束
SHOW INDEX FROM member;
ALTER TABLE member DROP INDEX regName;
-- 刪除外來鍵約束
SHOW CREATE TABLE loan;
ALTER TABLE loan DROP FOREIGN KEY loan_ibfk_1;
-- 刪除預設約束
ALTER TABLE member ALTER type DROP DEFAULT;