MariaDB社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2843|回复: 2
打印 上一主题 下一主题

MySQL中值得我们注意的SQL语句

[复制链接]
跳转到指定楼层
1#
发表于 2008-2-14 14:26:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
出处:http://database.ctocio.com.cn/tips/246/7799746.shtml

  ◆1.从一个表向另一个同样结构的表插入批量的数据
  insert into table1 (select * from table2 )

  ◆2.使用sql语句插入大量语句可以如下方式进行插入.一次提交即可.
  insert into table1 values
  (1,'a'),
  (2,'b'),
  (3,'a'),
  (4,'b'),
  ...............

  ◆3.mysql 取得下一个自动增长的id .取得这个数据是连接独立的.也就是mysql会自动维护没一个链接应该拿到的最大id.也就是说,有两个链接同时插入进去这个表各一条记录,则mysql会自动返回相同的最后id.
  SELECT LAST_INSERT_ID() from createuserid limit 0,1

  ◆4.返回第一个非空的字符串.如果字段columnname字段中的数据为null,则会返回aaa值.
  COALESCE(columnname,'aaa')
  此方法相当与sqlserver中的 isnull(columnname,'default') 返回第一个非空的字符串.

  ◆5.修复表.如果mysql的表出现灰,不能被读取,并且表的linux用户组也都正确的情况下.使用如下命令修复表.
  repair table tablename ;

  ◆6. 如果字段中的时间为long类型的毫秒数. 使用select FROM_UNIXTIME(875996580) 将之转换为日期类型. 需要注意:
  长度超过一定位数后,需要截取前面的几位才可以.否则不能正确转换.

  ◆7. 日期函数 adddate .
  参数说明
  函数是对日期进行计算的. 第一个参数是字段,第二个参数是间隔的意思,为关键字. 第三个参数是要累加多少的,后面的参数是累加的单位。
  select adddate(regdate,interval 0 day)
  from tablename desc limit 0,100

  ◆8.关于子select语句.一定要注意子语句的对记录范围的选取.
  例如:
  select * from table1 where id in (select id from table2)
  如果要添加条件,一定要在子句中加入where.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
2#
发表于 2008-4-10 11:19:06 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|MariaDB社区 ( 京ICP备07012489号    |
业务联系: QQ:48474881; 邮箱: 48474881@qq.com; 电话:13911732319
声明:本站部分文章是网友转载,若未经作者同意或署名有误,请联系网站管理员。

GMT+8, 2024-11-10 00:28 , Processed in 0.080444 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表