在MYSQL数据库查询时,排序是经常用到的一个功能。单纯按照某字段排序查询较为简单,无非就是order by `field` (DESC/ASC)。如:
| 1 | SELECT * FROM `table` |
| 2 | ORDER BY `field` DESC |
注:上面的 table换成要查询的表名,field换成要排序的字段名,DESC表示从大到小,去掉则从小到大。
下面介绍几个复杂一点的应用:
自 定义排序
需求:查询table表,取出id为1,5,9,7的记录,并按1597的顺序显示.
解决:
在MYSQL数据库查询时,排序是经常用到的一个功能。单纯按照某字段排序查询较为简单,无非就是order by `field` (DESC/ASC)。如:
| 1 | SELECT * FROM `table` |
| 2 | ORDER BY `field` DESC |
注:上面的 table换成要查询的表名,field换成要排序的字段名,DESC表示从大到小,去掉则从小到大。
下面介绍几个复杂一点的应用:
自 定义排序
需求:查询table表,取出id为1,5,9,7的记录,并按1597的顺序显示.
解决:
在比较了下Zend Framework、CakePHP等框架后,我认为ThinkPHP的开发效率最高,代码最为简洁,最适合中小型项目开发。
1. 模板中不能使用的标签
{$content} {$i}
2. If标签
如: <if condition="$name eq 1 ">
试验后总是有想不到的错误, 这样,还不如直接用<?php if(...){ ...?>来得快些呢.
约定:
1.所有类库文件必须使用.class.php作为文件后缀,并且类名和文件名保持一致
2.控制器的类名以Action为后 缀
3.模型的类名以Model为后缀,类名第一个字母须大写
4.数据库表名全部采用小写,
如:
数据表名: 前缀_表名
批量查找:
SELECT a.products_name FROM nike.products_description a WHERE a.products_name like '%#%'
#为要查找的字符串
批 量替换:
UPDATE article SET
content = replace(content, ’sjolzy’, ’sjolzy.cn')
WHERE name like '%#%';
article 为表 content为字段 sjolzy为
就POST来说,通常我大部分数据都是POST的,这样通常都是获取POST数组然后过滤,然后处理后提交到数据库" title="数据库" >数据库,现在如果加入rails的思想提交数据,然后表单的字段变量和POST数组中的字段名称一致,并且跟数据库" title="数据库" >数据库中的字段一样,这样就可以利用方法获取$_POST array中的key然后循环一下就可以不用写sql语句" title="语句" >语句中的字段了,然后按照顺序$_POST中的value写进去就ok了,是不是一种很便捷的方法呢,在这个时代就是一个要求敏捷的时代.
SQL代码
CREATE TABLE `table` (
`id` int(255) unsigned NOT NULL auto_increment,
`username` varchar(255) NOT NULL default '',
`age` varchar(255) NOT NULL default '',
left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录。 right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录。 inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。 full join:外连接,返回两个表中的行:left join + right join cross join:结果是笛卡尔积,就是第一个表的行数乘以第二个表的行数。 declare @a table(a int,b int) declare @b table(a int,b int) insert @a values(1,1) insert @a values(2,2) insert @b values(1,1) insert @b values(3,3)