现在的位置: 首页 > 综合 > 正文

PHP特级视频教程 笔记心得  第十六集 mysql调优,mysql优化 MySQL基础操作(一)

2014年12月11日 ⁄ 综合 ⁄ 共 1151字 ⁄ 字号 评论关闭

数学函数:
   bin()  十进制转二进制
   ceiling()  向上取整
   floor  向下取整
   max(num1,num2) 取最大值
   min(num1,num2) 取最小值
   sqrt()  开平方
   rand()  返回0-1的随机值

排序点也可以order  by  rand() 随机的基准点

日期函数
  curdate()  返回当前日期
  curtime()  返回当前时间
now()  返回当前日期时间
unix_timestamp(date)  返回当前date的时间戳
  from_unixtime()  返回unix时间戳的日期值
  week(date)  返回date为1年中的第几周
  year(date)  返回日期date的年份
  datediff(expr,expr2)返回起始日期到结束日期的天数
 

  1.5  mysql预处理语句
   设置stmt1预处理 ,传递一个数据作为where判断条件
  prepare  stmt1  from 'select  *  from  t1 where id>?';
set @i=1;
execute  stmt1 using @i;
set @i=5;
execute  stmt1 using @i;
drop  prepare  stmt1;

  1.6  mysql事务处理
关闭自动提交功能
set  atocommit=0;
做一个p1的还原点
savepoint p1;
rollback  to p1

退回到原始的还原点。

myisam数据引擎不支持事物,必须为innodb 支持外键和事务
alter  table  t1 engine=innodb
select  @@atocommit

rollback
commit  一旦提交了回滚是没有意义的。

  1.7  mysql存储过程
       procedure 一块代码段,函数。
       \d  //
       create  procedure p2()
       begin
       set @i=3;
       while  @i<=100 do
       insert into  t2(name)  values(concat("user",@i));
       end while
       end//
      \d  //

\d=delimiter

  call  p1(); 调用mysql存储过程

  1.8  mysql触发器
  \d  //
  create  trigger  tg1 before  insert  on  t1  for  each row
  begin
   insert into t2(id)  values(new,id)
  end

 truncate 可以重新清空 自增id
而delete不会,清空自增id

  1.9  重排auto_increment值
alter table  tablename  auto_increment=1;

抱歉!评论已关闭.