mysql数据库学习汇总

MySQL学习汇总

字段类型

Int类型占4个字节,32位,无符号最小值是0,最大值那就是4294967295,和Java基本类型差不多。建表的时候定义的长度比如Int(5),这个5跟字段类型允许的值范围无关,只是在数据库表中现实的位数为5;位数不够用0填补(前提设置了zero fill)。比如你存的数字是123,在数据库中显示为00123,但是读出来还是123,没有0;位数大于5,比如存123456,就还是显示123456;


Varchar类型后面的数字稍有不一样,比如varchar(50)这个五十是什么意思呢?这个跟MySQL版本有关:

4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能存16个(每个汉字3字节)
5.0版本以上,varchar(50),指的是50字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放50个,尽管utf-8编码的汉子占3个字节;


连接查询:先看表数据:

mysql数据库学习汇总_第1张图片


mysql数据库学习汇总_第2张图片

简单连接查询:简单不多说

/* 简单连接 */
select * from user u, classmates.order o where u.id=o.userId and money=99.9;


左连接查询和结果截图:

/* 左连接查询 */
SELECT u.id, u.realName, o.orderNo, o.money
        FROM user u left join classmates.order o
        on u.id = o.userId;
mysql数据库学习汇总_第3张图片

可以这么理解,左连接就是以左边的表为准,左边表数据全部会列出



右连接查询和结果截图:


/* 右连接查询 */
SELECT u.id, u.realName, o.orderNo, o.money
        FROM user u right join classmates.order o
        on u.id = o.userId;
mysql数据库学习汇总_第4张图片

右连接就是以右边表为准,把右边表所有的数据都列出来。



内连接:


/* 内连接查询 */
SELECT u.id, u.realName, o.orderNo, o.money
        FROM user u inner join classmates.order o
        on u.id = o.userId;

MySQL内连接的数据记录中,不会存在字段为NULL的情况。可以简单地认为,内链接的结果就是在左连接或者右连接的结果中剔除存在字段为NULL的记录后所得到的结果。

但是左右连接到底有什么用处呢,或者在什么情景下使用呢,还没想明白,待考证


分页查询



索引:http://blog.csdn.net/kennyrose/article/details/7532032

你可能感兴趣的:(Mysql)