開始
目標:建立一個school資料庫
建立學生表(列,欄位)
學號int,登陸密碼varchar(20),姓名,性別varchar(2),出生日期(datatime),家庭住址,email
- 格式
create table [if not exists] `表名`(
`欄位名` 列型別 [屬性] [索引] [註釋],
......
`欄位名` 列型別 [屬性] [索引] [註釋]
)[表型別][表字符集設定][註釋]
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(2) not null default '女' comment '性別',
`birthday` datetime default null comment '出生日期',
`address` varchar(100) default null comment '家庭住址',
`email` varchar(50) default null comment '郵箱',
primary key (`id`)
)engine=innodb default charset=utf8;
show create database school --檢視建立資料庫的語句
show create table student --檢視student資料表的定義語句
desc student --顯示錶結構
關於資料庫引擎
- INNODB 預設使用
- MYISAM 早些年使用
MYISAM | INNODB | |
---|---|---|
事務支援 | 不支援 | 支援 |
資料行鎖定 | 不支援 | 支援 |
外來鍵約束 | 不支援 | 支援 |
全文索引 | 支援 | 不支援 |
表空間大小 | 較小 | 較大,約2倍 |
常規使用:
- MYISAM 節約空間,速度快
- INNODB 安全性高,事務處理,多表多使用者操作
在物理空間存在的位置
所有的資料庫檔案都存在 data 目錄下,一個資料夾就對應一個資料庫。
本質還是檔案的儲存!
MySQL引擎在物理檔案上的區別
- InnoDB 在資料庫中只有一個*.frm檔案,以及上級目錄下的ibdata1檔案
- MYISAM對應的檔案
- *.sdi 表結構的定義檔案
- *.MYD 資料檔案(data)
- *.MYI 索引檔案(index)
設定資料庫表的字符集編碼
charset=utf8
不設定的話,會是mysql預設的字符集編碼(不支援中文)
預設是Latin1,不支援中文
在my.cof
中配置預設的編碼
character-set-server=utf8
本作品採用《CC 協議》,轉載必須註明作者和本文連結