1.连接服务器
创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达十载累计超上千家客户的网站建设总结了一套系统有效的营销推广解决方案,现已广泛运用于各行各业的客户,其中包括:混凝土搅拌站等企业,备受客户赞美。
通过TCP连接,默认端口3306
2.查询缓存,如果匹配,则返回结果,否则继续下一步
3.解析器Parser进行解析,包括词法解析和语法解析
4.进行预处理,优化器optimizer生成执行计划
5.执行计划调用存储引擎的API函数,得到查询结果
6.查询结果返回客户端,并更新缓存
关于sql
server
sql语句查询分页数据的解决方案:
要求选取
tbllendlist
中
第3000页的记录,每一页100条记录。-------------------------
----------
方法1:
----------
select
top
100
*
from
tbllendlist
where
fldserialno
not
in
(
select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno
)
order
by
fldserialno
----------
方法2:
----------
select
top
100
*
from
tbllendlist
where
(fldserialno
(select
max(fldserialno)
from
(select
top
300100
fldserialno
from
tbllendlist
order
by
fldserialno)
as
t))
order
by
fldserialno
方法1执行速度比较快!
不过,这种做法还是很麻烦,强烈期待微软发明新的可分页的sql语句来!!!!
sql
server
---------------------------------------------------------------------------------
从数据库表中的第m条记录开始取n条记录,利用top关键字:注意如果select语句中既有top,又有order
by,则是从排序好的结果集中选择:
select
*
from
(
select
top
n
*
from
(select
top
(m
+
n
-
1)
*
from
表名称
order
by
主键
desc)
t1
)
t2
order
by
主键
asc
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
(
select
top
20
*
from
(select
top
29
*
from
sys_option
order
by
sys_id
desc)
t1)
t2
order
by
sys_id
asc
oralce数据库--------------------------------------------------------------------------------
从数据库表中第m条记录开始检索n条记录
select
*
from
(select
rownum
r,t1.*
from
表名称
t1
where
rownum
m
+
n)
t2
where
t2.r
=
m
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
(select
rownum
r,t1.*
from
sys_option
where
rownum
30
)
t2
where
t2.r
=
10
如果你对oracle数据库分页不是很熟悉的话,本页后面有专门对oracle分页技术的讲解。
my
sql数据库---------------------------------------------------------------------------------------------
my
sql数据库最简单,是利用mysql的limit函数,limit
[offset,]
rows从数据库表中m条记录开始检索n条记录的语句为:
select
*
from
表名称
limit
m,n
例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select
*
from
sys_option
limit
10,20
tag:
racle
racle
server
server
server
sql
sql
查看某个表的建表语句,可以使用phpmyadmin查看,首先选择这个表所在的数据库,比如:ecshop库,里面有个ecs_goods表,那么查看goods表的建表语句为:
show create
table ecs_goods
把这条sql语句复制到
点击执行,ok结果就出来了:
把显示的结果复制到其它机器上运行,就建好一张goods表了
给你提供一个思路:
我使用的是C# 操作sql server 取出来的数据,没玩过mysql ,不过我觉得应该差不多。 代码如下:
string str9 = string.Concat("select classid ,examchaper,a.OrderID,ClassName,b.PeriodID ,b.PeriodName,c.UserName from ks_sjclass a,KS_CosPeriod b, KS_CosOrder c where b.PeriodID='"+dataRow["PeriodID"].ToString()+"' and c.Cname=a.ClassName and c.UserName='", (new TemporaryVar()).UserName, "'");
DataTable dataTable9 = DataFactory.GetDataTable(str9);
if (dataTable9.Rows.Count 0)
{
DataRow[] dataRowArray9 = dataTable9.Select("examchaper=1");
if ((int)dataRowArray9.Length 0)
{
for (int j = 0; j (int)dataRowArray9.Length; j++)
{
DataRow dataRow9 = dataRowArray9[j];
string num9 = dataRow9["classid"].ToString();
string num10 = dataRow9["PeriodID"].ToString();
}
}
}
str9是一个数据库查询语句, DataFactory.GetDataTable 是一个数据生成类,从数据库取出来的数据,都是一张表,
DataRow[] dataRowArray9 = dataTable9.Select("examchaper=1"); 这句话就是去符合这个天剑的所有数据,dataRowArray,,,array 结尾的用我的话讲 都是数组,然后来一个以它的长度来一个循环,
string num9 = dataRow9["classid"].ToString();
看到row 就知道是行的意思,dataRow9就是取这行 关键字是classid 的值,语言表达不清楚,这只是我写的代码,希望你能看懂。