1. 程式人生 > 其它 >建立資料庫表、資料表的型別

建立資料庫表、資料表的型別

建立資料庫表、資料表的型別

建立資料庫表

-- 目標:建立一個school資料庫
-- 建立學生表(列,欄位)  使用SQL建立
-- 學號int,登陸密碼varchar(20),姓名,性別varchar(2),出生日期(datatime),家庭地址,email

-- 注意點:使用英文的()  ,  表的名稱 和 欄位  儘量使用 ``括起來
-- AUTO INCREMENT 自增
-- 字串使用 單引號括起來!
-- 所有的語句後面加 ,(英文的)  ,最後一個不用加
-- PRIMARY KEY 主鍵,一般一個表只有一個唯一的主鍵!

CREATE TABLE IF NOT EXISTS `student` (
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '學號',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(30) 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

格式

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

常用命令

SHOW CREATE DATABASE school; -- 檢視建立資料庫的語句
SHOW CREATE TABLE student; -- 檢視student資料表的定義語句 
DESC student; -- 顯示錶的結構

資料表的型別——MYISAM和INNODB的區別

-- 關於資料庫引擎
/*
INNODB 預設使用
MYISAM 早些年使用的
*/

常規使用操作

  • MYISAM 節約空間,速度較快
  • INNODB 安全性高,事務的處理,多表多使用者操作

在物理空間儲存的位置

所有的資料庫檔案都存在data目錄下,一個資料夾就對應一個數據庫

本質 檔案的儲存

MySQL引擎在物理檔案上的區別

  • INNODB在資料庫表只有一個*.frm檔案,以及上級目錄下的ibdata1檔案
  • MYISAM對應檔案
    • *.frm 表結構的定義檔案
    • *.MYD 資料檔案(data)
    • *.MYI 索引檔案(index)

設定資料庫表的字元編碼

CHARSET=utf8

不設定,MySQL預設的字元編碼:Latin1 ,不支援中文

在my.ini中配置預設的編碼

character-set-server=utf8