mysql 复杂sql语句

一,将一张表中的数据插入到另外一张表中(注:执行sql语句进行导入比导入sql文件效率高很多)

1,table A,table B表中的字段完全一致,将A表中数据插入到B表中   

      insert into B select * from A ;

2,table A,table B表中的字段不一致,将B表中部分字段值插入到A表中

     insert into B (列名1,列名2,列名3) select 列名1,列名2,列名3  from A;

二,将一张表中的数据更新到另一张表中

mysql  不支持set =(select ........) 例如:update A SET A.列名=(select 列名 from B) 

但是可以使用inner join

例如: update  A inner join (select 列名 from B)C  set A.列名=C.列名

三,对字段进行截取

1,select  left(列名,length) from A

left (列名,length)为从左侧开始截取, length为截取的长度

2,select  right(列名,length) from A

right (列名,length)为从右侧开始截取, length为截取的长度

3,select  MID(列名,pos,len) from A

MID(列名,pos,len)     pos:开始截取起始位置,len:截取长度


四修改字段长度

alter table 表名 modify column 字段名 类型;

如:news 表里的title  字段 原来长度是 100个字符,现长度要改成130个字符

alter table news modify column title varchar(130);

五判断字段值是否为Null

以下函数 仅限于where 后的条件查询:ISNULL(表达式) ,字段 is null,字段 is not null

以下函数仅限于select 查询展示的字段: IFNULL(表达式1,表达式2)








 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值