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个字节;


连接查询:先看表数据:




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

/* 简单连接 */
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;

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



右连接查询和结果截图:


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

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



内连接:


/* 内连接查询 */
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

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心所向皆可成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值