Mysql一些数据类型和join查询

一、MySQL常用存储引擎及数据类型

1.InnoDB存储引擎特点:

1)给MySQL数据库提供事物,包括回滚,包括修复能力,多版本并发控制事物安全。
2)支持外界元素。
3)创建表结构是存储在“.fim”文件中,数据和索引,数据分别存储在innodb表空间中。
4)缺点是读写读取效率比较低,占用的空间也比较大。
2.MyISAM存储引擎特点:
(1)创建表时会存储为3个文件,文件的名字与表名相同,分别是 “fim fid fii”,fim存储表结构,fid存储表数据,fii存储表索引分别保存在这三个文件中。
(2)Myisam的表支持三种存储格形分别是:静态型,动态型,压缩型。
(3)静态是myisam默认存储格式,字段是固定长度;动态包括变长字段,字段长度是不固定的;压缩型要选择工具dimpaik创建占用磁盘空间比较小。
(4)Myisam的优势在于磁盘空间比较小,处理速度快。
(5)缺点是不支持事物,没有事物的完整性,安全性以及事物的并发性处理。

2、枚举类型

只能插入规定的值,数值(从1开始),或者null


3、set集合


4、MySQL时间类型


5、Mysql完整性约束条件
   PRIMARY KEY主键(唯一来标识的,每一个表都一个,自动非空)
    AUTO_INCREMENT自增长
    FOREIGN KEY外键
    NOT NULL非空
    UNIQUE KEY唯一

     DEFAULT默认值

二、7种join

(1)select * from tbl_dept a inner join tbl_emp b on a.id=b.deptId;

(2)select * from tbl_dept a left join tbl_emp b on a.id=b.deptId;

(3)select * from tbl_dept a right join tbl_emp b on a.id=b.deptId;

(4)select * from tbl_dept a left join tbl_emp b on a.id=b.deptId where b.deptId is null;

(5)select * from tbl_dept a right join tbl_emp b on a.id=b.deptId where a.id is null;

(6)select * from tbl_dept a right join tbl_emp b on a.id=b.deptId 
        union 

         select * from tbl_dept a left join tbl_emp b on a.id=b.deptId;

(7)select * from tbl_dept a right join tbl_emp b on a.id=b.deptId where a.id is null 

    union 

    select * from tbl_dept a left join tbl_emp b on a.id=b.deptId where b.deptId is null;

注:小表驱动大表


猜你喜欢

转载自blog.csdn.net/nihao_pcm/article/details/80469257