列屬性是指定義或創建一個列的時候,可以給列額外增加的“附加特性”。
形式如下:
```
create table 表名 (列名 列類型 [列屬性...] );
```
說明:
1,一個列可以有多個列屬性;
2,多個列屬性空格隔開就行;
列屬性包括以下這些:
* null,not null
設定為空,或非空,表明該列數據是否可為空值(null)。
* default
用于設定列默認值(不給值或給空值null并not null,就會自動使用該值)。
使用形式:default 默認值 。
* primary key
用于設定主鍵。
主鍵就是一個表中數據的“關鍵值”,通過該關鍵值就可以找到該特定的數據行。
一個表的主鍵值不能重復(相等),比如文章表中的文章編號id,比如用戶表中的用戶名。
主鍵字段必須有值(不能為空)。
一個表只能有一個主鍵(但一個主鍵可以是1個字段或2個以上的字段聯合構成)
* auto_increment
用于設定一個整數字段的值是“自增長的”,通常用于一個表中的數據行的編號(比如文章編號)。
默認情況下自增長值從1開始。
一個表只能設定一個字段為自增長特性。
* unique key
用于設定“唯一鍵”的特性。
唯一鍵表示一個表中的某字段的值是“唯一的”,“不重復的”。
唯一鍵有點類似primay key,但其值可以為空(null)。
一個表可以有多個唯一鍵。
* comment
用于設定字段的說明性內容,類似注釋,但又不是注釋(屬于有效的代碼)。
使用形式: comment ‘文字內容’
演示1:

演示:
創建一個表,并用上以上所有字段屬性。字段可包括:id, kecheng, keshi, intro.

聯合主鍵演示:

## 昨日回顧:
```
create table 表名(
字段名1 類型 [字段附加屬性],
字段名2 類型 [字段附加屬性],
....
primary key(xx1, xx2, ......),
unique key(xx1, xx2, .... )
)
charset= utf8/gbk -- 表中存儲數據的字符編碼
engine=InnoDB/MyIsam/BDB/Memory -- 表類型/存儲引擎
```
### 類型:
#### 數字類型:
* 整數:int, tinyint, smallint, mediumint, bigint
* 小數:float , double, decimal(M, D);
#### 時間類型:
time, date, datetime, year, timestamp,
#### 字符類型:
* char: 定長字符,最大可設定255(字符個數)
* varchar: 變長字符,最大可設定為65532個字符
* text:長文本,不能設定長度,其中最長能存儲65535個字符
* enum:單選型字符,枚舉字符,
* enum(‘選項1’,’選項2’,’選項3’,....),他們每個選項對象的索引值為:1,2,3,4,5,6 ,.....
* set:多選型字符,
* set(‘選項1’,’選項2’,’選項3’,....),他們每個選項對象的索引值為:1,2,4,8,16 ,.....
### 屬性:
* not null 設定為非空數據
* default 默認值
* primary key 主鍵,一個表只能設置一個
* unique key 唯一鍵
* auto_increment 自增 用于整數,并且一個表只能設置一個
* comment ‘說明文字’
- 1、數據庫介紹
- 1.1.主流數據庫
- 1.2.MySQL數據庫概覽
- 1.3.關系數據庫
- 2、訪問mysql數據庫服務器
- 2.1.開啟/關閉數據庫服務
- 2.2.客戶端連接數據庫服務器
- 3、數據庫操作
- 3.1.查看所有數據庫
- 3.2.創建新數據庫
- 3.3.查看數據庫創建信息
- 3.4.刪除現有數據庫
- 3.5.修改現有數據庫
- 3.6.選擇(使用)某個數據庫
- 4、數據表操作
- 4.1.創建數據表初步
- 4.2.查看所有數據表
- 4.3.查看數據表結構
- 4.4.查看數據表的創建語句
- 4.5.刪除數據表
- 4.6.修改數據表
- 5、數據操作初步
- 5.1.插入數據
- 5.2.查詢數據
- 5.3.刪除數據
- 5.4.修改數據
- 6、MySQL數據類型
- 6.1.數據類型(列類型)總覽
- 6.2.整型
- 6.3.小數型
- 6.4.日期時間型
- 6.5.字符串型
- 7、列屬性
- 8、實體與實體的關系
- 8.1.基本概念
- 8.2.一對一關系
- 8.3.一對多關系
- 8.4.多對多關系
- 9、高級查詢
- 9.1.高級查詢語法概述
- 9.2.查詢結果數據及select選項
- 9.3.where子句
- 9.4.mysql運算符
- 9.5.group by子句
- 9.6.having子句
- 9.7.order by子句
- 9.8.limit 子句
- 10、高級插入
- 10.1.同時插入多行記錄
- 10.2.插入查詢的結果數據
- 10.3.set語法插入數據
- 10.4.蠕蟲復制
- 10.5.插入時主鍵沖突的解決辦法
- 11、高級刪除
- 11.1.按指定順序刪除指定數量的數據
- 11.2.truncate清空
- 12、高級更新
- 13、聯合(union)查詢
- 13.1.聯合查詢概念
- 13.2.聯合查詢語法
- 14、連接(join)查詢
- 14.1.連接查詢概述
- 14.2.交叉連接(cross join)
- 14.3.內連接(inner join)
- 14.4.外連接
- 14.5.自連接
- 15、子查詢(subquery)
- 15.1.子查詢的概念
- 15.2.標量子查詢
- 15.3.列子查詢
- 15.4.行子查詢
- 15.5.表子查詢
- 15.6.有關子查詢的特定關鍵字
- 15.7.exists子查詢
- 16、數據管理
- 16.1.數據備份
- 16.2.數據還原(數據恢復)
- 17、用戶管理:
- 17.1.查看用戶
- 17.2.創建用戶
- 17.3.刪除用戶
- 17.4.修改/設置用戶密碼
- 17.5.授予用戶權限
- 17.6.取消用戶授權