whyyouhitme_ 2018-07-20 07:59 采纳率: 57.1%
浏览 1442
已采纳

Mysql这些语句是什么意思?

根据select的语法,select后跟“列”,那么select teacher_name,是从teacher_name列寻找记录,那么对于select concat(teacher_name,'x')
我的理解是从teacher_name和‘x’字符串拼接的这一列(即teacher_namex)寻找记录。能不能举个例子。不太理解。比如建表的时候,为什么要建teacher_namex这一列,既然有这一列,为什么不是直接select teacher_namex?
select teacher_id+5,这句是从teacher_id后的第五列寻找记录的意思吗?
select concat(teacher_id,teacher_name),这又是什么意思呢?从“teacher_idteacher_name”这里一列寻找记录吗?因为书上介绍说concat函数是拼接字符串的函数,所以teacher_idteacher_name”是一个拼接后的字符串作为列名?

  • 写回答

15条回答

  • yqangiao_will 2018-07-21 03:37
    关注
       楼主可能理解有偏差,concat(teacher_name,'x')  这里面的'x' 是带引号的,他并不能代表数据库中所谓的  'x' 这一列,他只是一个字符串;而teacher_name 
    

    这是数据空中的一列,所以 concat(teacher_name,'x') 这整个意思是 查出数据库中teacher_name 这一列的值后 在后面拼上'x' 这个字符串,而不是你
    理解的他查的是 teacher_namex 这列的值.
    同样的select teacher_id+5 并不是teacher_id 后的第五列寻找记录的意思,而是有几种情况,就目前来说你的 teacher_id 应该是数值类型,那么这种
    最好理解,就是查出teacher_id的值之后加上5 ,但如果假如你teacher_id的值是字符类型的,那么他没法相加,你查出的这列的值就是5,但是也有个列外
    就是如果查到的这个字符串前面是数字开头的,比如是: "2008年xxxx" ,那么 这个查到的值就是 2013;
    最后一个问题,concat(teacher_id,teacher_name) 和第一个问题是一样的, concat(teacher_id,teacher_name) 的意思不是说最后查的是
    teacher_idteacher_name 这个列,而是查出 teacher_id 这列和对应teacher_name列的值之后再拼接在一起.

    你要注意的是teacher_id 和teacher_name这两个并不是字符串,而是两个列名,他们没有加引号引起来,如果是字符串,他们应该是加引号的.
    第一次回答,写的有点乱,希望能解决楼主的疑惑,忘楼主采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮