
下面是一些常用的SQL语句,虽然很基础,可是却很值得收藏,对于初学者非常实用
SQL常用命令使用方法:(1) 数据记录筛选:
sql="select from 数据表 where 字段名=字段值 order by 字段名 [desc]"
sql="select from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
sql="select top 10 from 数据表 where 字段名 order by 字段名 [desc]"
sql="select from 数据表 where 字段名 in ('值1','值2','值3')"
sql="select from 数据表 where 字段名 between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set 字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目标数据表 select from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(|字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=connexcute(sql)
用 rs("别名") 获取统的计值,其它函数运用同上。
(5) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
例:CREATE TABLE tab01(name varchar(50),datetime default now())
DROP TABLE 数据表名称 (永久性删除一个数据表)
4 记录集对象的方法:
rsmovenext 将记录指针从当前的位置向下移一行
rsmoveprevious 将记录指针从当前的位置向上移一行
rsmovefirst 将记录指针移到数据表第一行
rsmovelast 将记录指针移到数据表最后一行
rsabsoluteposition=N 将记录指针移到数据表第N行
rsabsolutepage=N 将记录指针移到第N页的第一行
rspagesize=N 设置每页为N条记录
rspagecount 根据 pagesize 的设置返回总页数
rsrecordcount 返回记录总数
rsbof 返回记录指针是否超出数据表首端,true表示是,false为否
rseof 返回记录指针是否超出数据表末端,true表示是,false为否
rsdelete 删除当前记录,但记录指针不会向下移动
rsaddnew 添加记录到数据表末端
rsupdate 更新数据表记录
参考资料
SQL常用命令csdn[引用时间2017-12-30]
1 1、 显示表达式的值 [表达式][表达式]X=3 X2 将显示6
2 GO | GOTO 移动记录指针到指定记录号 GO [记录号]参数[记录号]可以用数字,或TOP、BOTTOM;变量TOP表示最顶端记录、BOTTOM表示最下端记录
3 SKIP 上移或者下移记录指针 SKIP [N]N正数表示下移记录指针,负数表示上移。 设当前记录指针是5SKIP 3 执行命令后记录指针是8SKIP -3 执行命令后记录指针是2
4 DISPLAY 显示记录 DISPLAY [范围] [FOR 条件] [字段列表]注此命令参数[范围]缺省表示当前记录
5 LIST 显示记录 LIST [范围] [FOR 条件] [字段列表]注此命令参数[范围]缺省表示所有记录(ALL)
6 BROWSE 显示、修改记录 BROWSE [FOR 条件] [FIELDS 字段列表]注:缺省 [FIELDS 字段列表]将显示所有的字段 显示1980年以后出生的学号、姓名Browse for 出生年月>={80/01/01} fields 学号,姓名
7 EDIT/CHANGE 修改记录
8 REPLACE WITH 批量替换 REPLACE [范围] [字段1 WITH 表达式1][,……]可以有多个替换,多个替换中间须逗号 计算每位同学的总分,总分等于语文+数学+英语Replace all 总分 with 语文+数学+英语 把每位同学的总分加10分replace all 总分 with 总分+10
9 APPEND 添加记录到数据表末尾 注:增加的记录在数据库的后面
10 INSERT 插入记录 三种用法
INSERT
在当前记录后插入一个记录INSERT BEFORE 在当前记录前插入一个记录INSERT BLANK
在当前记录后插入一个空白记录
11 DELETE 为记录加删除标记(逻辑删除) DELETE [范围] [FOR 条件] 参数[范围]有四种表现形式:(以下命令类似)1、“ALL”表示所有记录2、“RECORD n”表示第n个记录3、“NEXT n”表示从当前记录开始n个记录4、“REST”表示从当前记录开始到最后一个记录。 逻辑删除第3个记录Delete Record 3逻辑删除当前记录开始3个记录 Delete Next 3 逻辑删除数学>90分以上Delete for 数学>90
12 PACK 永久删除加有删除标记的记录
13 RECALL 去除记录的删除标记 RECALL [范围] [FOR 条件]
14 ZAP 永久性删除表中所有记录
15 COUNT 统计表的记录数 COUNT [FOR 条件][TO 内存变量] 统计语文不及格的人数Count for 语文<60 to X
16 AVERAGE 求平均值 AVERAGE [字段列表] [TO 内存变量][FOR条件] 分别求男生的数学和语文的平均分并赋给变量sx和ywaverage数学,语文 to sx,yw for 性别=’男’sx,yw 显示变量sx和yw的值
117 SUM 对表中的数值型记录求和 SUM [字段列表] [TO 内存变量][FOR条件] 分别求全班语文、数学成绩的总和并赋给变量yw,sx Sum 语文,数学 to yw,sx
18 SORT 对当前表排序到新的数据表 SORT [TO 新数据库文件名] [ON 字段 排序方式]注:排序方式有两种:/A和/D分别表示升序和降序,/A可以省略。 把当前打开数据库按总分从大到小排序到新数据库cj1dbf。Sort to cj1dbf on 总分/D
19 LOCATE 顺序查找指定条件第一个记录 LOCATE [范围] [FOR 条件] 在当前记录后面的记录中找化学超过90分的记录Locate REST for 化学>90
20 CONTINUE 继续查找符合条件的记录 命令必须在执行LOCATE后使用,如果找不到满足记录状态栏将显示“End
of locate
scope”
21 INDEX 建立索引文件 INDEX [ON 字段] [TO 索引文件名]注索引文件是按索引字段升序进行排序 打开数据库chengjidbf,并建立以字段“学号”索引文件xhidxUse chengjiIndex on 学号 to xhidx
22 SET INDEX TO 打开索引文件 SET INDEX TO[索引文件名] 设已经打数据库chengjidbf,现要打开索引文件xhidxSet index to xhidx
23 SEEK 查找与索引关键字值匹配记录 SEEK [表达式] 设已对数据库“学号”字段进行索引并打开索引文件Seek ‘10001’ 查找学号是10001的记录
24 CREATE 建立新的数据表 CREATE [数据库文件名] CREATE chengjidbf
25 USE 打开或关闭数据库 三种用法
USE
关闭当前打开的数据库USE
[数据库文件名]
打开数据库USE [数据库文件名] [INDEX 索引文件名]打开数据库同时打开索引文件
26 COPY STRUCTURE TO 复制一个结构相同的空表 COPY STRUCTURE TO[新的数据库文件名]注文件名的扩展名dbf可省略,以下命令类似。 Copy structure to cj12dbfCopy structure to cj12
27 LIST STRUCTURE 显示数据库结构
28 MODIFY STRUCTURE 修改数据库结构
29 COPY TO 从当前表的内容复制到新表 COPY TO [新的数据库文件名] Copy to cj13dbf
30 CLEAR 清除FOXPRO显示区
31 DO 运行程序文件 DO [程序文件名] 运行FOXPRO默认路径下的程序文件“xs1prg”Do xs1prg
32 MODIFY COMMAND 编辑或建立程序文件 MODIFY COMMAND [程序文件名] MODIFY COMMAND xs1prg
33 QUIT 退出FoxPro
34 SET DEFAULT TO 设置FOXPRO默认路径 SET DEFAULT TO [路径]运行此命令后,数据库文件名前无需[路径] 把FOXPRO默认路径设置为D盘的“20040101”文件夹 Set default to D:\20040101
sqlserver中的查询语句(select top 50 from userinfo)和oracle中查询语句(select from userinfo where rownum<51)是否可以这样翻译过来
是的
再不牵扯到排序的时候完全等同。如楼上所言,如果有ORDER BY就有次序先后之分了。
ORACLE rownum是对所有数据的物理排序,
就是SELECT FROM TAB里面,其优先级高于order by。所以如果有select from tab order by xxx where rownum < xxx你永远得不到正确结果,只能
SELECT FROM (SELECT from tab ORDER BY xxxx) t where rownum <xxx
SQL Server top是有序排序,是top始终只针对最后的结果集,也就是最后一个 *** 作结果。
优先级低于ORDER BY
以上就是关于SQL数据库常用命令及语法举例全部的内容,包括:SQL数据库常用命令及语法举例、数据库常用命令解析、数据库问题,sqlserver top和oracle的rownum有什么不同呢下面语句是否可以相互转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)