命令.docx

上传人:b****6 文档编号:8106463 上传时间:2023-05-12 格式:DOCX 页数:12 大小:73.63KB
下载 相关 举报
命令.docx_第1页
第1页 / 共12页
命令.docx_第2页
第2页 / 共12页
命令.docx_第3页
第3页 / 共12页
命令.docx_第4页
第4页 / 共12页
命令.docx_第5页
第5页 / 共12页
命令.docx_第6页
第6页 / 共12页
命令.docx_第7页
第7页 / 共12页
命令.docx_第8页
第8页 / 共12页
命令.docx_第9页
第9页 / 共12页
命令.docx_第10页
第10页 / 共12页
命令.docx_第11页
第11页 / 共12页
命令.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

命令.docx

《命令.docx》由会员分享,可在线阅读,更多相关《命令.docx(12页珍藏版)》请在冰点文库上搜索。

命令.docx

命令

用SQL语言建表

数据定义语句:

CREATE(创建表结构)、ALTER(修改表结构)、DROP(删除表)

数据操作语句:

INSERT(插入记录)、DELETE(删除记录)、UPDATE(修改记录)

查询语句:

SELECT

1、创建表:

创建一个学生表xs.dbf,包括以下字段(学号,姓名,性别,出生日期,入学成绩,专业)

createtablexs.dbf(学号C(8),姓名C(8),性别L,出生日期D,入学成绩N(6,2),专业C(30))

Brow

2、修改表结构:

把xs.dbf中的字段姓名宽度改为10;增加一个字段籍贯,字符型,宽度为10

altertablexs.dbfalter姓名C(10)

altertablexs.dbfadd籍贯C(8)

Brow

3、增加记录:

向xs.dbf中输入三条记录

insertintoxs(学号,姓名,性别,出生日期,入学成绩,专业,籍贯)values("200060001","王晓",.T.,{^1990-1-12},523.10,"法学","江西")

Brow

4、修改记录:

将所有姓王的学生的籍贯修改为“山东”

updatexs.dbfset籍贯="山东"where姓名="王"

Brow

5、删除记录:

删除姓王的学生的记录

deletefromxswhereleft(姓名,2)="王"

pack

brow

(1)简单查询:

按读者的出生日期升序列出所有读者的记录。

MODIFYPROJECT"c:

\documentsandsettings\user\桌面\新建文件夹\图书管理系统.pjx"

select*from读者.dbforderby出生日期

(2)条件查询:

从读者.dbf中查询出所有非湖北籍的读者记录

select*from读者.dbfwherenot(籍贯="湖北")

brow

(3)条件查询:

从图书.dbf中查询出价格在20元以上25元以下的图书记录,并将查询结果存到表chaxun1.dbf中

select*from图书.dbfwhere价格>20and价格<25intodbfchaxun1

brow

(4)条件查询:

从图书.dbf中查询出所有“教育出版社”出版的书号、书名、出版社

select书号,书名,出版社from图书.dbfwhere"教育出版社"$出版社

brow

建表

createtablestudent(学号c(7),姓名c(10),性别c

(2),出生日期D,少数民族否L,籍贯c(10),入学成绩N(5,1),简历M,照片G)

插入记录

insertintostudent(学号,姓名,性别,出生日期,少数民族否,籍贯,入学成绩)values("200401","吴敏琪","男",{^1981-06-17},.T.,"湖北",579)依次添加

brow

使用SQL语言的命令将所有姓王的学生的籍贯修改为‘新疆’

Updatestudentset“籍贯”=”新疆”whereleft(姓名,2)=”王”

显示所有男生并且籍贯为湖南或湖北的记录数据

Select*fromstudentwhere性别=”男”and(籍贯=”湖南”or籍贯=”湖北”

显示姓刘学生的姓名、性别、出生日期、籍贯、入学成绩等数据

Select姓名,性别,出生日期,籍贯,入学成绩formstudentwhereleft(姓名,2)=”刘”

统计女生人数

Selectcount(*)as女生人数formstudentwhere性别=”女”

查询所有同学的全部学习成绩,显示学生姓名、课程编号、课程名、成绩等字段

Select学生.姓名,课程.课程编号,课程.课程名,选课.成绩form学生,课程,选课where学生.学号=选课.学号and课程.课程编号=选课.课程编号

对学生.dbf按性别顺序列出学生的学号、姓名、性别、课程名及成绩,性别相同的再先按课程名后按成绩(由高到低)排序,并将查询结果存入_xscj.dbf表中

Select学生.学号,姓名,性别,课程名,成绩from学生,课程,选课where学生.学号=选课.学号and课程编号=选课.课程编号orderby性别,课程名,成绩descto_xscj.dbf

分别统计男女生中入学成绩大于590分的少数民族学生人数

Selectcount(*)as人数fromstudentwhere入学成绩>590and少数民族否groupby性别

 

修改记录

(1)打开BROWSE浏览窗口,修改第二个记录,将其总分增加10。

(2)将表中男同学的总分增加10%。

(3)将表中系科为体育的记录删除并恢复。

(4)真正删除表中的第2~5记录(用DELETE/PACK)。

(5)关闭表文件。

(1)browrecord2fields总分with总分+10

(2)replace总分with总分*1.1for性别=”男”

(3)deleteallfor系科=”体育”

Recallall

(4)deleteforrecno()>=2.and.recno()<=5

Pack

(5)use

显示表记录

(1)显示表中所有女同学的记录。

(2)显示表中的"姓名,出生日期,总分"三个字段的内容。

(3)显示表中男同学中总分大于550的记录,要求只要显示姓名,性别,总分三个字段。

(4)显示表中1986年以前出生的学生记录。

(5)显示表中从第5个记录开始的剩余所有记录。

(1)Listfor性别=”女”

(2)Listfield姓名,出生日期,总分

(3)List姓名,性别,总分for总分>550and性别=”男”

(4)Listfor性别=”男”andyear(出生日期)<=1986

或者listfor出生日期<={^1986-12-31}或者listfor出生日期<=ctod(“12/31/1986”)

(5)Go5

Listrest

记录的增加

(1)在表中增加一条记录(内容自定)。

(2)在表中第三条记录前插入一条记录(内容自定)。

(3)对表中的第二条记录编辑备注字段,添加内容"THESTUDENTISGOOD"。

(1)在表里追加新记录

(2)Go3

Insertblankbefore

(3)go2

将student.dbf表的结构复制到新表student1.dbf中:

copystrutostudent1.dbf

将student.dbf表中所有男生的记录都复制到student2.dbf中:

copytostudent2.dbffor性别=”男”

显示所有女生的姓名listfield姓名for性别=”女”

显示第三条记录的内容listrecord3

显示前三条男教师的姓名、出生日期、职称。

Listnext3fields姓名,出生日期,职称for性别=”男”

从第三条记录开始显示到末尾记录go3listrest

显示所有男教授的姓名、年龄、基本工资

List姓名,年龄,基本工资for性别=”男”and职称=”教授”

显示所有男性教授或副教授。

Listfor性别=”男”and(职称=”教授”or职称=”副教授”)

显示所有姓林的教师listforleft(姓名,2)=”林”listforsubst(姓名,1,2)=”林”

Browforat(“林”,姓名)=1

显示姓名中含有林字的记录listfor“林”$姓名

显示成绩在550-600分之间的记录listfor总分>550and总分<600

显示大于27岁的人的记录browfor(date()-year(出生日期)>27

或者listforyear(date())-year(出生日期)>27

删除与恢复的命令

删除所有男教师的记录deletefor性别=”男”

在删除所有男教师的记录的前提下,除姓林的外,恢复所有男教师的记录

Recallforleft(姓名,2)=”林”

在删除所有男教师的记录的前提下,除姓陈的助讲外,恢复所有男教师的记录

Recallforleft(姓名,2)=”陈”and职称=”助讲”

对zg.dbf排序、索引命令

按基本工资降序建立排序文件szg1.dbfsorttoszg1bfon基本工资/D

按基本工资建立单项索引,文件名为izg1.idxindexon基本工资toizg1.idx

按基本工资建立结构复合索引文件,按降序索引

indexon基本工资tag基本工资desc

按基本工资建立独立复合索引文件,索引标识为jbgz,按降序索引,文件名为zgd1.cdx

Indexon基本工资tagjbgzdescofzgd1.cdx

查找与统计的操作

查找刘一凡locatefor姓名=”刘一凡”或者seek”刘一凡”或者find刘一凡

查找姓王的人locateforleft(姓名,2)=”王”

查找职工号为3002姓名为丁强的记录locatefor职工号=”3002”and姓名=”丁强”

查找1966年8月4日出生,职称为副教授的记录

Locatefor出生日期={^1966-8-4}and职称=”副教授”

计算实发工资字段的值,实发工资=基本工资+津贴-扣款

Replaceall实发工资with基本工资+津贴-扣款

统计男教师与女教师的人数

Counttoxfor性别=”男”

Counttoxfor性别=”女”

统计女教师的实发工资、津贴总和sum实发工资,津贴for性别=”女”

求男教师的平均基本工资average基本工资for性别=”男”

计算平均基本工资、平均津贴、最高基本工资和最少基本工资

Calculateavg(基本工资),avg(津贴),max(基本工资),min(基本工资)

按zc职称进行基本工资的汇总,汇总结果写入表zchz.dbf

Indexon职称tagzc

Setordertozc

Totaltozchz.dbfonz职称fields基本工资

统计命令和多表操作

一、统计命令

以下操作针对课程表course.dbf

1.计算表中所有学分的总和,把它存入变量T1中,并显示该变量的值。

2.计算公共基础课的学时数的和,结果存入变量T2中,并显示该变量的值。

3.统计专业选修课的数量,结果存入变量T3中,并显示该变量的值。

以下操作针对学生表student.dbf

4.求表student.dbf中所有女生的平均总分,结果存入变量A中。

5.统计表student.dbf中86年出生的人数,把它存入变量T4中,并显示该变量的值。

OPENDATABASEc:

\users\asus\desktop\vfp\学生成绩数据库.dbc

MODIFYDATABASE

1、sum学分toT1

T1

2、sum学时数toT2for课程名="计算机文化基础"

?

T2

3、counttoT3for类别="专业选修课"

?

T3

4、average总分toAfor性别="女"

5、counttoT4foryear(出生日期)=1986或出生日期={^1986}

?

T4

二、数据库的相关操作

1、打开“学生成绩数据库.dbc”,将表course.dbf添加到该数据库中。

  操作步骤:

  

(1)通过选择“文件”菜单项下的“打开”选项,指定文件类型为数据库(dbc)。

在出现的对话框中选取数据库文件“学生成绩数据库.dbc”所在的位置,找到“学生成绩数据库.dbc”,单击“确定”。

  

(2)在出现的数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“添加表”选项,然后在“打开”对话框中,选定自由表“courser.dbf”,点击“确定”按钮。

2、建立“学生成绩数据库.dbc”中表之间的永久关系,表student.dbf和表assign之间是一对多关系,表course.dbft表assign之间是一对多关系。

操作步骤:

  

(1)分别用鼠标右击每个数据库表,在弹出的快捷菜单中选取“修改”选项,出现“表设计器”窗口。

  

(2)对表student.dbf,建立以学号为索引表达式的主索引;对表assign.dbf,建立以学号为索引表达式的普通索引。

  (3)建立永久关系。

  将鼠标指向“student.dbf”表中的主索引“学号”,按下鼠标左键拖动到“assign.dbf”表中的普通索引“学号”上,然后释放鼠标左键,这时拖动过程中出现的小方块消失,并可看到两个表之间出现了一条连接线,表示两个表间的关系已经建立。

  (4)运用同样的操作步骤建立表course和表assign之间的关系。

3、为表student和表assign之间建立的联系指定参照完整性,其中插入规则为“限制”,更新规则和删除规则为“级联”。

  在数据库设计器窗口中单击鼠标右键,弹出快捷菜单,选择“编辑参照完整性”选项,在“参照完整性生成器”对话框中,选取父表列中的表student,再选中插入规则选项卡,点击“限制”单选钮。

然后分别选中更新规则选项卡和删除规则选项卡,点击“级联”单选钮,最后单击“确定”。

验证插入规则是否“限制”:

为成绩表assign增加一条记录,学号为“20080033”,由于学生表记录中无学号为“20080033”的学生记录,因此增加不了。

验证更新规则是否“级联”:

把“student.dbf”中的学号“20080005”改为“20080105”,查看assign.dbf中的相关记录是否随之修改了。

验证删除规则是否“级联”:

删除student.dbf”中的学号“20080001”的记录,查看assign.dbf中的相关记录是否随之删除。

三、多表操作

1、工作区选择操作。

2、分别在两个工作区打开“student.dbf”与“assign.dbf”,建立表间的临时关联,移动student.dbf的记录指针,查看某个学生的成绩记录。

select1

usestudent

select2

useassign

indexon学号tagxh

setordertoxh

select1

setrelationto学号intob

go3

disp

select2

disp

SELECT1

SETORDERTOTAGXhOF"c:

\documentsandsettings\user\桌面\vfp\assign.cdx"INAssign

SETRELATIONTO学号INTOAssignADDITIVE

SELECT2

SELECT1

SELECT2

SELECT1

SELECT2

SELECT1

BROWSELAST

表的排序和索引

使用命令排序、建立和使用索引。

1、将表student.dbf按"总分"字段降序排序,生成新表文件student3.dbf,并在屏幕上显示新表的记录。

2、将表student.dbf中的男同学记录按出生日期排序,生成新表文件student4.DBF。

3、对表course.dbf,分别以课程号、课程名和类别为索引表达式建立三个结构复合索引,索引名分别为kch,kcm,lb。

4、设定主控索引为kcm,并显示表中的记录。

5、用LOCATE命令查找课程名为“网页程序设计”的记录。

6、用FIND和SEEK命令查找课程号为“B002”的记录。

1、usestudent

indexon-总分tostudent3.dbf

list

2、indexon出生日期tostudent4.DBF

list

补充indexon姓名tagxm

list

setordertoxm

List

3、USE"c:

\documentsandsettings\user\桌面\20120296\course.dbf"EXCLUSIVE

list

brow

MODIFYSTRUCTURE

brow

indexon课程号tagkch

list

indexon课程名tagkcm

list

indexon类别taglb

list

4、MODIFYSTRUCTURE

brow

list

setordertokcm

list

brow

5、locatefor课程名="网页程序设计"

display

6、seek"B002"

?

foun()

display

?

foun()

seek"B002"

display

补充分类汇总brow

indexon学号tagxh

setordertoxh

totaltozcj.dbfon学号fields成绩

indexon学号tagxh

setordertoxh

totaltozcj.dbfon学号fields成绩

display

输入命令

输出结果

?

2*3^3+2*8

70

?

13-4%5-2^3

1.00

?

INT(-3.1415926),INT(ABS(99-100)/2)

-30

?

ROUND(-3.1415926,5)

-3.14159

?

SQRT(10)

3.16

?

RAND()

0到1的随机函数值

?

"visual"+"foxpro","visual"-"foxpro"

visualfoxprovisualfoxpro

?

AT("fox","foxpro")

1

?

LEN("VisualFoxPro")

13

?

RIGHT("VisualFoxPro",3)

pro

?

SUBSTR("数据库应用技术",7,4)

应用(第七个字节的后面四个字节)

?

{^2004-04-28}>DATE()

.F.

?

DATE()-{^2002-06-10}

3955(当前电脑的日期减去2002-06-10的日子)

?

DATE()-100

12\29\12(当前日期减100天的日期)

?

YEAR(DATE())

2013

?

MONTH({^2000-12-22}-40)

11(此日期减去40天是哪个月份)

?

{^2008-10-2}>{^2008-10-5}

.F.

?

'abc'<='AB'

.F.

?

INT(10.512)>10

.F.

?

NOT(10>5)

.F.

?

(10*2=20)AND(10>12)

.F.

?

(10*2=20)OR(10>12)

.T.

?

STR(12345.678,8,1)

12345.7

?

STR(12345.678,8,2)

12345.68

?

"ab"$"abcd"ANDNOT(3<4)

.F.

?

SUBSTR(DTOC(DATE()),7,2)

13

?

ASC("A"),CHR(98)

65b

?

DATE()

04/08/13

setDATETOANSI

?

date()

13.04.08

setDATETOAMERICAN

?

DATE()

04/08/13

SETCENTURYON

?

DATE()

04/08/2013

STORE5TOm1,m2,m3

?

"L=",2*PI()*m1

?

"S=",PI()*m1*m1

L=31.42

S=78.54

s="VisualFoxPro程序设计"

?

LEN(s)

?

LEFT(s,6)

?

RIGHT(s,4)+SUBSTR(s,15,4)

22

Visual

设计程序

4、计算出assign表中选修了课程号为C0004的学生的平均成绩。

selectavg(成绩)fromassignwhere课程号="c0004"

5、列出所有成绩在85分以上的学生的学号、课程名、学时数、成绩。

(提示:

本题涉及到两个表,需用连接查询)

selectstudent.学号,课程名,学时数,成绩fromstudent,assign,coursewherestudent.学号=assign.学号;

andassign成绩>=85andassign.课程号=course.课程号

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2