1. 程式人生 > 實用技巧 >資料庫欄位屬性及如何建表

資料庫欄位屬性及如何建表

2.3、資料庫的欄位屬性(重點)

Unsigned:

  • 無符號的整數
  • 聲明瞭該列不能為負數

zerofill:

  • 0填充的
  • 不足的位數,使用0來填充,int(3) ,5 ---005

自增:

  • 通常理解為自增,自動在上一條記錄的基礎上+1(預設)
  • 通常用來設計唯一的主鍵~ index,必須是整數型別
  • 可以自定義設計主鍵自增的起始值和步長

非空 : NULL not null

  • 假設設定為not null ,如果不給它賦值,就會報錯!
  • NULL,如果不填寫值,預設就是null!

預設:

  • 設定預設值!
  • sex,預設值為男,如果不指定該列的值,則為預設值

拓展

/*  每一個表都必須存在以下5個欄位
   id   主鍵
   version	樂觀鎖
   is_delete	偽刪除
   gmt_create	建立時間
   gmt_update   修改時間
*/

2.4、建立資料庫表

-- AUTO INCREMENT 自增
-- 字串使用單引號括起來!
-- 所有的語句後面加,(英文的),最後一個不用加
-- PRIMARY KEY主鍵,一般一個表只有一個唯一.的主鍵! 
DROP TABLE student
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT  '學號',
`name` VARCHAR(30) NOT NULL DEFAULT  '無名氏' COMMENT  '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
`sex` VARCHAR(3) NOT NULL DEFAULT '男' COMMENT  '性別',
`birthday` DATETIME DEFAULT NULL COMMENT  '出生日期',
`adress` VARCHAR(20) DEFAULT NULL COMMENT  '家庭住址',
`email` VARCHAR(20) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`) 	
)ENGINE INNODB DEFAULT CHARSET utf8;
COMMIT;

​ 格式:

CREATE TABLE [IF NOT EXISTS] `表名`(
	`欄位名` 型別 [屬性] [索引] [註釋],
    `欄位名` 型別 [屬性] [索引] [註釋],
    .....
    `欄位名` 型別 [屬性] [索引] [註釋],
    `欄位名` 型別 [屬性] [索引] [註釋]
)[表型別][字符集設定][註釋];