Java每日總結11(MySQL)
1.建立資料庫表:
-- 使用英文的(),表的名稱和欄位儘量用``括起來,AUTO_INCREMENT是自增
-- 註釋是COMMENT,字串使用單引號括起來,所有語句後邊加,(最後一個欄位除外)
-- 預設是 DEFAULT
-- PRIMARY KEY 主鍵,一般一個表只有唯一的一個主鍵!
-- 常用命令:DESC `XXX` 顯示錶的結構
CREATE TABLE IF NOT EXISTS `students`
(
`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(20) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY(`id`)
)ENGINE =INNODB DEFAULT CHARSET=utf8
格式:
CREATE TABLE IF NOT EXISTS `表名` ( '欄位名' 列型別 [屬性][索引][註釋],
'欄位名' 列型別 [屬性][索引][註釋],
……………………
'欄位名' 列型別 [屬性][索引][註釋],
)[表型別][字元型設定][註釋]
2.資料表的型別:
(1)關於INNODB(預設使用) 和 MYISAM(早些年使用)引擎的對比:
MYISAM | INNODB | |
事務支援 | 不支援 | 支援 |
資料行鎖定 | 不支援 | 支援 |
外來鍵約束 | 不支援 | 支援 |
全文索引 | 支援 | 不支援 |
表空間的大小 | 較小 | 較大,約為2倍 |
常規使用操作:
MYISAM: 節約空間,速度較快
INNODB: 安全性高,事務的處理,多表多使用者操作
在物理空間存在的位置:
所有的資料庫檔案都在data目錄下,本質還是檔案的儲存。
MySQL引擎在物理檔案上的區別:
INNODB在資料庫表中只有一個*.frm檔案,以及上級目錄下的ibdata1檔案
MYSIAM對應檔案:
①*.frm -表結構的定義檔案
②*.MYD -資料檔案(data)
③*.MYI 索引檔案(index)
3.修改刪除表
(1)修改表和欄位名:
-- 修改表名 ALTER TABLE 原表名 RENAME AS 新表名; -- 增加表的欄位 ALTER TABLE 表名 ADD新加欄位(列)名 列屬性; -- 修改表的欄位(重新命名、修改約束) -- 修改約束: ALTER TABLE 表名 MODIFY 欄位名 新的約束; -- 欄位重新命名 ALTER TABLE 表名 CHANGE 原欄位名 新欄位名 列屬性;
注意,modify只能用來改約束;change只能用來改列屬性
(2)刪除
-- 刪除表的欄位 ALTER TABLE 表名 DROP 欄位名
-- 刪除表
DROP TABLE IF EXISTS表名