今总结一下php和mysql的一些奇怪之处,并且讲一下如何将数据库中的一个字段的值赋给另一个字段,如果原来你不知道,现在一看一定吓你一跳,竟然是如此的简单。php和mysql就像是一对一见钟情、相见恨晚的恋人。二者的确是很般配,这里总结了一些我们平时使用的时候一些不太注意而又奇怪的地方。以后再有还会补充!

每个人写代码的时候其实都有他的习惯,有的喜欢在程序中处理到最简化之后再放到mysql等数据库中查询,有的人可能喜欢比较简单省事的方式,交由数据库处理一部分。这里说明的一点就是数据库也是有处理函数和功能的,很多初学者包括我刚开始都以为数据库就只是增删改。但是,如果说到两种方式的优劣,对于php程序来说,个人比较崇尚的是前一种,即尽量的试数据库查询的语句更加的简单和高效。为什么呢,个人认为php程序的瓶颈在哪里,就是在数据库,因为php程序执行起来是非常非常的快的,这就是因为他并不编译,而是原样的“翻译”我们所写入的代码,当然这样的好处和缺点都是显而易见的,就是对程序的编写优化要求的更高,php不会为我们优化,我们只能通过自己的理解和经验,尽量的优化我们的代码。这也是为什么php程序不同的人写出来同一个功能却是因人而异,真正成为php程序的高手是比较难的。反过来说,因为php代码执行的非常之快,几乎都是瞬间的事,所以,影响其效率的就是数据库了,如何更加高效的在海量数据中操作,是每个php程序猿都要好好思考的事情,这就要求我们这些苦哈哈的php程序员不单单要精通php程序,还有对数据库,甚至js,css都有比较高的了解。因为php只有完美的和这些东西结合才会发挥出其更大的优势,很多功能这个实现起来比较困难和浪费的话,可以让其他的帮忙实现。这样相辅相成才会达到最大的效果。下面就看总结的几点:

1 一般情况下我们都存储时间的时候都是存时间戳,这样的好处是很明显的,可以很方便的取两个日期直接的时间段,但是其实我们存为0000-00-00的形式,mysql也是可以识别的,但是这里有一个比较奇怪的地方就是,用strtotime转化2012-9-1是可以转化的,但是sql语句中where time>=’2012-9-1′是不能识别的,必须是 where time>=’2012-09-01′这样的形式。所以很多时候我们如果不存储为时间戳形式时一定要注意了。很多js时间选择器都是2012-9-1这样的形式,要么找一个好的js时间选择器,要么将结果进行转化,要么就存储时间戳。

2 sql 语句中有和没有和”的区别,很多人在写sql语句的时候,比如说写一个select语句,他会写select * from biao where id = 1,这样写没有什么错误,但是却很不规范,当我们写的程序多了,或用户多了、数据多了,就开始追求效率了。首先sql语句最好其关键字都用大写,有人说oracle就是先把小写转化为大写再执行。并且大写比较容易区分变量。然后就是表名和字段要加上,这是为什么呢,因为加上,系统就知道它是关键字,比如我们写一个语句 UPDATE biao SET v1 = v2和UPDATE biao SET v1 = ‘v2′ 是很不同的,前一句就是将v2这个字段的值赋给v1,即使是int型的字段,其值也最好加上”。

3介绍几个好用的sql语句:

(1) SELECT id,CONCAT(path,’-',id) as abspath FROM 表名 ORDER BY abspath,这个concat比较特别,他的作用是组合多个字段,这个sql就是将path字段和id字段用-连接,作为一个新的虚拟字段 abspath,并且他的特点就是如果以abspath排序的话,他是按这个字段中每个字符的顺序排列,类似奥运奖牌榜。先比较第一位,大的就大,一样就比较第二位。这个在某些特别功能时是比较好用的。

(2)SELECT * FROM 表名 WHERE find_in_set(6,字段)>0 这个find_in_set适用于

类似文章的推荐、指定文章的调取,因为这个函数就是判断类似1,2,3,6,这样的值中是否有6这个字符。他会以,来作为临界。

(3)SELECT id FROM 表名 WHERE 字段名 REGEXP ‘值’,这个就和like相似了,就是判断字段中有没有这个值,只不过这个是用正则的方式,是比较高效的,众所周知like的效率是很低的。

GRANT ALL PRIVILEGES ON *.* TO root@’%’ identified by ‘密码’;

flush privileges;

(4) UPDATE table_name SET field_name = replace (field_name,’from_str’,'to_str’) WHERE …… 说明: table_name —— 表的名字 field_name —— 字段名 from_str —— 需要替换的字符串 to_str —— 替换成的字符串。这个sql语句可以替换某个字段中某个字符。是非常实用的。

程序本天成,妙手偶得之!我们只是代码的搬运工!

php mysql 别名_php和mysql的一些奇怪之处相关推荐

  1. 使用php连接mysql数据库_PHP使用mysql与mysqli连接Mysql数据库用法示例

    本文实例讲述了PHP使用mysql与mysqli连接Mysql数据库的方法.分享给大家供大家参考,具体如下: 代码很简单直接上了 /** * @Author: HTL * @Description: ...

  2. php.ini mysql扩展_PHP安装mysql.so扩展及相关PHP.ini 配置参数说明

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  3. php 复制mysql数据库_PHP连接MySQL数据库的三种方式

    本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...

  4. php连接mysql地址_PHP连接mysql

    PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Data Objects) 在 ...

  5. php联系mysql配置_php支持mysql配置

    想在Centos5.2上装一个discuz论坛,在突破了apache权限问题后,发现discuz的提示信息里显示不支持mysql: mysql_connect() 不支持 请检查mysql 模块是否正 ...

  6. php和mysql入门_PHP和MySQL入门(10)

    在第二章中,我们使用一个叫mysql的程序来连接到MySQL数据库服务器,在这个程序中,我们可以输入SQL查询(命令)并立即显示查询结果.在PHP中,有着类似的机制:mysql_query函数. my ...

  7. php与mysql同步_php实现mysql同步的实现方法

    拿到需求之后,发现这两个网站的MYSQL数据库都不能远程访问(安全第一吧).于是想起了 平时使用的CSV文件批量录入数据.于是 尝试使用CSV导入导出. 导入到处框架如下: 1首先将数据导出成CSV的 ...

  8. php简单的mysql类_PHP 简单mysql封装类

    class Mysql { private $host ; private $user ; private $pwd ; private $dbName ; private $charset ; pr ...

  9. php mysql三_PHP和MySQL基础教程(三)

    用 cookies 来跟踪识别用户 让我们来看看保存在浏览器中的内容.如果你用的是 IE5 ,在 windows 目录下有一个 cookies 的目录,里面有很多文本文件,文件名都是类似于 wudon ...

最新文章

  1. 想看Vue文档,cn放错位置,误入xx网站...
  2. 活学活用,CSS清除浮动的4种方法
  3. .Net下的HashTable
  4. 牛逼!有人用漫画带你了解 Linux 内核长啥样
  5. php 订单取消,php – 当订单状态从挂起更改为已取消时发送电子邮件通知
  6. Struts2拦截器实现异常处理机制
  7. Linux内存管理中的slab分配器
  8. db2增加decimal类型字段小数位_05725.16.1Hive中decimal类型字段.0结尾数据显示异常问题处理...
  9. linux vino vnc,Ubuntu下包含2种远程桌面的方式:VINO-Server以及VNC Server。 .
  10. 存储IO加强型实例I1+D1 ——为极致存储性能要求场景而生
  11. SQL中的5种常用的聚集函数
  12. tomcat优化问题
  13. 【Ubuntu】MTK刷机工具MT8167版本打不开,缺少libpng12-0的解决方法
  14. word根据数字符号自动回车
  15. 阿里云配置 https
  16. 化繁为简的终极指南化繁为简的终极指南
  17. go-项目配置govendor【详细教程】
  18. python一张纸折叠到珠峰高度_一张普通纸折叠27次后会是什么样?专家:厚度超过珠穆朗玛峰...
  19. 【杂记】EMC、EMI、EMS、TVS、ESD概念学习总结
  20. Python通过m3u8文件下载合并ts视频

热门文章

  1. iching: 一个用来算卦的Python包
  2. meb备份mysql_教你如何恢复使用MEB备份的MySQL数据库【第1/3页】
  3. electron入门——安装及创建项目
  4. 推荐一个文本编辑器-PilotEdit
  5. 威纶通触摸屏棒图范围参数设置的注意事项
  6. 深度学习——注意力机制
  7. oracle查询符合当天并查出每个小时中数据的总数量
  8. Docker Swarm集群部署
  9. java ddd_DDD小结 - java随记 - BlogJava
  10. 如何快速开通流量主要求微信小程序如何快速开通流量主