一.mysql定义
关系型数据库管理系统.关联数据库将数据保存在不同的表中,而不是放在一个大仓库里,这样就提升了速度和其灵活性.
二.表的类型
ISAM表
–索引顺序存储方法.
MyISAM表
–替代ISAM表.MyISAM索引比ISAM表小得多,相通会使用更少的资源来执行带有索引的select语句.
MERGE表
–merge 表示相通的MyISAM表的合并
–优点:速度更快,表的尺寸小
–缺点:对于某些搜索(eq_ref),速度很慢
HEAP表
–存储在内存里,速度最快的表
–数据可能会在出现问题后丢失,而且不能保存太多数据
InnoDB表
–是事务安全的表类型
–MyISAM表中在插入式整个表被锁定.InnoDB只锁定该记录.所有如果执行大量的update和insert,应该使用InnoDB;如果主要用来执行select,应该是MyISAM.
BDB表
–伯克利数据库.接口不稳定.
三.Mysql中的数据类型
1.数值型 2.字符(串)型 3.日期和时间型
{
(1) 数值类型
(2)字符串类型
(3)日期和时间型
}
四.sql语言的分类
五.约束:
{
–1.primary key 主键约束
–2.foreign key 外键约束
–3.default 默认约束
–4.unique 唯一约束
–5.check 检测约束
–6.not null 不为空约束
}
约束的格式和基本操作
- 1.主键约束
{
定义主键:
–方法1:列名 primary key
–方法2:alter table 表名 add constraint 逻辑名 primary key
–方法3:primary key(列名)
删除主键:
–alter table 表名 drop primary key
}
- 2.外键约束
-{
定义外键:
–方法1:列名 references 主表(列名)
–方法2:constraint 逻辑名 foreign key(列名) references 主表(列名)
–方法3:foreign key references 主表(列名)
删除外键
–alter table 表名 drop foreign key 逻辑名
} - 3.唯一约束
{
定义:
–方法1:列名 unique
–方法2:constraint 逻辑名 unique(列名)
–方法3:alter table 表名 add constraint 逻辑名 unique(列名)
删除:
–alter table 表名 drop unique
} - 4.非空约束
{
定义:
–方法1:列名 not null
–方法2:alter table 表名 change 旧列名 新列名 varchar(20) not null
删除:
–alter table 表名 change 旧列名 新列名 varchar(20) null
} 5.检查约束
{
定义:
–列名 check(sex=’男’ or sex=’女’)
–列名 check(email like ‘%@%’)
删除:
–手动删除,代码不可实现}