Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

我眼中的数据库——不懂数据库及数据库升级的进来瞟两眼

[复制链接]
尐強 发表于 2006-7-11 17:52:14 | 显示全部楼层
占位 看我签名:)
回复

使用道具 举报

离恨天 发表于 2006-7-11 18:52:47 | 显示全部楼层
学习学习,正好需要
回复

使用道具 举报

sw08 发表于 2006-7-11 19:53:55 | 显示全部楼层
对我来说可能简单了点~不过支持。
回复

使用道具 举报

sw08 发表于 2006-7-11 20:20:35 | 显示全部楼层
顺便补充下一些数据库操作的过滤方法:

一般我们在数据库操作时候更多是筛选部分信息进行操作,于是这个时候就要过滤了。
常用的过滤方法有下面几种:
1、WHERE
WHERE相当于while,意思是符合where后面的信息才进行数据库操作。
例如:
UPDATE cdb_members SET adminid='1' WHERE uid='1';
那么只有当uid符合1这个条件时候,adminid='1'才会被执行。多个过滤可以用AND和OR来连接。

2、IN
IN和where相同,不过IN判断是批量的
例如:
UPDATE cdb_members SET adminid='1' WHERE uid IN (1,2,3);
那么当uid为1,2,3时才会执行

3、LIKE
一种正则搜索方式
SELECT uid FROM cdb_members WHERE username LIKE 'abc';
如上面当username中包含abc时才会搜索uid。

搜索结果输出方式:
1、LIMIT
限制输出搜索结果的个数
SELECT uid FROM cdb_members LIMIT 50;
搜索UID,只输出前面的50个结果

2、ORDER BY
搜索结果按照某条件排序(DESC是降序,ASC是升序)
SELECT uid FROM cdb_members ORDER BY uid DESC;
结果是按照UID从大到小排序输出UID

3、GROUP BY
搜索结果按照某元素分组
SELECT uid FROM cdb_members GROUP BY groupid;
按照groupid分组来搜索uid,一般要配合数组用。

其它特殊搜索操作:
我们都知道SELECT是最简单的搜索,还有一些特殊的搜索操作。
1、LEFT JOIN
多表搜索,用一个ON条件来连接多个表进行搜索,如:
SELECT * FROM cdb_threads t
LEFT JOIN cdb_forums f ON f.fid=t.fid;

由于fid在forums和threads表都有,所以可以用ON来关联fid,接着就跟SELECT一样了。

2、AS
一般搜索数据库的结果都是在数组中用的,如果单独要赋值到一个变量中用,就要用到AS。
例如:
SELECT uid AS id FROM cdb_members;

那么uid的搜索结果就被赋值到id中去了。

就这么多~其它的大家慢慢在学习中可以掌握。
回复

使用道具 举报

lovews 发表于 2006-7-11 20:24:58 | 显示全部楼层
感谢楼主,辛苦拉`
回复

使用道具 举报

Seika 发表于 2006-7-11 20:29:00 | 显示全部楼层
收藏ing
回复

使用道具 举报

nabbx 发表于 2006-7-11 20:35:06 | 显示全部楼层
占位
回复

使用道具 举报

linsie 发表于 2006-7-11 20:37:37 | 显示全部楼层
恩 很不错的学习文章 收藏了
回复

使用道具 举报

bbdbb 发表于 2006-7-11 22:26:04 | 显示全部楼层
收藏
回复

使用道具 举报

leoangel 发表于 2006-7-11 22:30:16 | 显示全部楼层
太感谢楼主了,这东西很不错:)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-28 01:20 , Processed in 0.206433 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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