为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 1、now():当前日期和时间;

    2、curdate():当前日期;

    3、curtime():当前时间;

    4、date_add():日期变化,可以增加也可以减少

    select date_add('2014-3-12',interval 3 week\2 year\365 day\5 month)

    5、datediff():日期差值的计算

    6、date_format():日期格式化

    select date_format('2012-2-15','%m/%d/%Y')


    查看全部
  • 1、[not] between……and……:【不】在范围之内

    2、[not] in ():【不】在列出值范围之内

    3、is[not] null :【不】为空

    查看全部

  • ERROR 1055 (42000): Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.s.type_name' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

    报错的解决方法:

    修改设置

    SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));


    查看全部
  • 数据表A中有的记录,才能在B表中显示出来,A中没有的记录B表也不能显示

    查看全部
  • -- 通过tdb_goods_cates数据表来更新tdb_goods表


      UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate = cate_name 


      SET goods_cate = cate_id ;


    查看全部
    0 采集 收起 来源:多表更新

    2018-10-15

  • 老师的代码问题:

    可以把 这个语句理解为 SELECT goods_id, cate_name FROM ( tdb_goods  INNER JOIN  tdb_goods_cates) ON...

    将括号中部分作为一个整体。


    查看全部
    1 采集 收起 来源:内连接INNER JOIN

    2018-10-15

  • 哈哈哈好好

    查看全部
  • any some all关键字的使用

    查看全部
  • 1、ceil():向上取整;floor():向下取整

    2、div:整数除法;select 3 div 4 结果为0

    3、mod:取余数,等价于% select 3 %/mod 4,结果为3 也可对浮点数取余数。如select 3.5 % 3 结果为0.5

    4、power():幂运算

    5、round():四舍五入,取小数位数

    6、truncate():取小数位数,但不四舍五入,数字截取

    查看全部
  • 1、countcat():字符连接;select concat('imooc','-','mysql') from db

    2、countcat_ws():使用指定的分隔符进行字符连接;select concat_ws('|','A','B','C')

    3、format():数字格式化,返回一个字符串;select format(12345.67,2):小数点后保留两位

    4、upper():字符大写;

    5、lower():字符小写;

    6、left():获取左侧字符;

    7、right():获取右侧字符;

    8、length():获取字符串长度;

    9、ltrim():删除前导空格;rtrim():删除后续空格;trim():删除前导及后续空格;select trim(leading '?' from '??mysql???'):删除前导的‘?’

    select trim(trailing '?' from '??mysql???'):删除后续的‘?’

    select trim(both '?' from '??mysql???'):删除所有的‘?’,但是无法删除中间的‘?’,需要使用replace()函数

    replace('??my??sql???','?'," ")

    10、substring():截取字符串

    substring('mysql',1,2):从第1位取2位,起始为hi也可以为负值,但长度不能为负值

    11、like:模式匹配

    在mysql中,%代表任意多个字符,_代表任意一个字符。

    使%或者_不为通配符的方法:

    select * from test where first_name like '%1%%' escape '1':1后面的%不在为通配符,而是代表%




    查看全部
    0 采集 收起 来源:MySQL 字符函数

    2018-10-14

  • sql: 结构化查询语言,这里的查询并不是查找,而是所有sql命令的统称。

    同理:子查询的外层查询并不只是select,可以是select insert update set do...

    查看全部
  • 自动编号 auto_increment的数字类型必须为数值型,如果为浮点型,小数位数必须为0

    查看全部
    0 采集 收起 来源:总结

    2018-10-14

  •  sex enum('1','2','3') default '3'

    sex只能从1 2 3 中取值,默认sex的值为男;

    查看全部
  • create table tb3(    -> id smallint unsigned auto_increment primary key,    -> username varchar(20) not null unique key,    -> sex enum('1','2','3') default '3'    -> );
     select *from tb3;+----+----------+------+| id | username | sex  |
    +----+----------+------+
    |  1 | Tom      | 3    |
    +----+----------+------+


    查看全部
  • 关于本小节中,count(id) >= 2;的测试!!!

    以下面的数据表为例:

    http://img1.sycdn.imooc.com//5918aa4500013d6005320200.jpg

    注意表中sex列, 其中值为NULL的有2个,值为0的有3个,值为2的有1个,值为3的有1个。

    上面这步很重要!!接着我们来测试一下:

    当 count(id) >= 1 时:

    http://img1.sycdn.imooc.com//59189ef70001c1bd05140163.jpg

    当 count(id) >= 2 时:

    http://img1.sycdn.imooc.com//59189fe80001e4a905010131.jpg

    当 count(id) >= 3 时:

    http://img1.sycdn.imooc.com//5918a04b00018d9d05080117.jpg

    当 count(id) >= 4 时:

    http://img1.sycdn.imooc.com//5918a05100010ec505020034.jpg

    由此可见, count(id) >= 2 输出的结果跟id毫无关系! 它只跟set列中具有相同值的个数有关,

    值为NULL的有2个,值为0的有3个,值为2的有1个,值为3的有1个

    当 count(id) >= 1 时, 输出的是NULL,0,2,3。因为他们的数目都满足>=1

    当 count(id) >= 2 时, 输出的是NULL,0。因为他们对应的数目分别为2和3,都满足>=2

    当 count(id) >= 3 时, 输出的是0,  因为值为0的个数为3,满足>=3

    当 count(id) >= 4 时, 没有输出。因为没有满足条件的元素。


    这问题让我纠结的半个小时,看了一些慕友的问答后,更是把我搞糊涂了,说什么输出的是非NULL值,还有说什么跟id有什么什么关系。经过测试,输出的结果只跟set列具有相同的值的个数有关系,跟是不是NULL没关系,跟id也没关系。

     你可以把count(id) >= 2 改成count(username) >= 2或者改成count(age) >= 2或者改成count(password) >= 2,输出的结果都是一样的


    查看全部

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!