mySQL資料庫表的操作
阿新 • • 發佈:2021-03-17
建立資料庫表
INNODB是MySQL的預設引擎,可以不去設定。
MySQL預設的字符集是 latin1,不支援中文,需要設定為CHARSET=utf8
/*
目標:建立學生表,使用SQL建立
學號int,登入密碼varchar(20) 姓名,性別varchar(3),出生日期(datetime)
家庭住址,email
注意點:使用英文(),表的名稱和欄位儘量用``.括起來
AUTO_INCREMENT 自增
所有字串都使用""括起來
所有語句後面加上, 最後一個欄位不用加,
COMMENT 註釋
PRIMARY KEY(`id`) 主鍵 ,一般一個表只有一個主鍵
*/
CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT "學號",
`name` VARCHAR(3) NOT NULL DEFAULT "匿名" COMMENT "姓名",
`psd` 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(30) DEFAULT NULL COMMENT "郵箱",
PRIMARY KEY(`id`)
)ENGINE =INNODB DEFAULT CHARSET=utf8
格式
CREATE TABLE [IF NOT EXISTS] 表名(
'欄位名' 列型別 [屬性] [索引] [註釋],
'欄位名' 列型別 [屬性] [索引] [註釋],
'欄位名' 列型別 [屬性] [索引] [註釋],
...
'欄位名' 列型別 [屬性] [索引] [註釋],
PRIMARY KEY(`欄位名`)
)ENGINE =INNODB DEFAULT CHARSET=utf8
檢視以前寫的建立表和資料庫的語句
檢視以前寫的建立資料庫的語句
檢視以前寫的建立表的語句
我們把它複製出來
CREATE TABLE `student` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '學號',
`name` varchar(3) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`psd` 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(30) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
可以發現和上面一模一樣。
修改和刪除資料庫表字段
修改
ALTER TABLE `student` RENAME AS `student01` -- 修改表名
ALTER TABLE `student01` ADD age INT(2) -- 修改表的欄位
-- 修改表的欄位(重新命名,修改約束!)
ALTER TABLE `student01` MODIFY age VARCHAR(10); -- 修改約束
ALTER TABLE `student01` CHANGE age age INT(10); -- 欄位重新命名
/*
MODIFY :不能重新命名欄位,只用於修改欄位型別和約束
CHANGE :用來重新命名欄位
*/
ALTER TABLE `student01` DROP age -- 刪除欄位
刪除
所有的建立和刪除操作儘量加上判斷,以免報錯~
-―冊除表(如果表存在再冊除)
DROP TABLE IF EXISTS teacher;