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表名