vf常用sql语句
第一篇:vf常用sql语句
计算机二级VF SQL语句常考总结。
数据库相关操作命令:
1、 新建数据库AA :create database AA
2、打开数据库AA :open databaseAA
3、 选择AA为当前数据库:set database to AA
4、修改数据库AA:Modify database AA
5、 删除数据库AA :Delete database AA
6、新建项目AA :Create projectAA
7、 数据库变为自由表 :removetable
8、自由表添加成数据库:addtable
表的相关操作:
1、 给表中某个字段增加~:replace 字段 with 基本工资*1.2for 性别=”女”
2、 建立索引命令 :indexon 索引表达式 tag 索引名 索引类型 排序类型
3、 定义候选索引 :altertable 表名 addunique 定义的字段 Tag 索引名
4、 打开表设计器修改表结构 :modifystruction
5、 添加字段修改表结构:altertable 表名 add条件例子:altertable 职工表 alter 基本工资 set
cehck 基本工资>800
6、 新建(自由)表:Create table 表名(free)条件{primary key(主关键字) check(有效性规则) error(出
错信息) default(默认值)}
7、 插入添加记录 :Inserinto 表名(字段1,字段2~~) values(表达式1~~)
8、 将某个表结构复制到AA :use 职工表/copystructiontoAA
9、 更新表的记录|把~~改为~:update 表名 set更新表达式 where 更新条件
10、表记录的删除 :deletefrom 表名 where 条件新建视图:create view 视图名 asselect语句 表单操作:
1、新建表单 createform AA
2、修改表单 modify form AA
3、执行表单do fromAA
4、关闭表单thisform.release
表单属性:(caption 标题,name 控件名、表单名,保存的名字~文件名)
1、 Alwaysontop {.F.} 位于其他窗口最上方 2 、Autocenter{.F.}自动在窗口居中显示
3、closable 关闭按钮
4、morable {.T.} 是否能移动
5、scrollbars表单滚动条类型
6、windowstate表单状态
7、wind owtype 表单窗口模式
8、refresh刷新表单
表单方法:
1、show 显示表单 ~visible属性为.F. 成为活动对象
2、hide 隐藏表单
基本控件:
一、 命令按钮:
1、default 相应按钮与回车键绑定cancel 相应按钮与ESC绑定
2、enabled可用与不可用
3、visible 可见与不可见
二、文本框:
1、controlsource 数据源
2、value 初始值
3、passwordcha密码占位符显为*
4、Inputmask 输入格式
三、编辑框:
1、hideselection 是否仍显示为选定状态
2、Readonly {.T.}只读状态
3、scrollbars 滚动条的类型
4、seltext 所选内容
5、selLength 所选文本字符数
四、复选框:caption 标题controlsource 绑定的数据源value 选择状态
五、列表框:
1、rowsourcetype数据源类型rowsource条目是数据源
2、columncount 列数
3、controlsource 要绑定的数据源
4、value被选中条目
5、multiselect是否进行多重选定
6、listcount 数据条目的数目
8、selected 某个条目是否处于选定状态
陆、组合框style 模式0-下拉组合框 2-下拉列表框
七、容器控件
1、命令组:buttoncount按钮数目buttons 各按钮数目value 当前状态
2、选项组:Buttoncount 按钮数目buttons各按钮数目value值controlsource绑定数据源
3、页框:pagecount 页面数目Page页对象tabs是否显示页面标题栏
4、表格:recordsourcetype数据源类型 recordsources数据源 (列属性:controlsource在列中显示的数据源常见表中一个字段,currentcontrol显示接受活动单元格数据)(标头属性:Alignment标题文本对象中显示对齐方式)
第二篇:SQL语句常用函数
、字符转换函数
1、ASCII()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、CHAR()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
3、LOWER()和UPPER()
LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。
4、STR()
把数值型数据转换为字符型数据。
STR ([,length[, ]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*; 先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。
二、去空格函数
1、LTRIM() 把字符串头部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取子串函数
1、left()
LEFT (, )
返回character_expression 左起 integer_expression 个字符。
2、RIGHT()
RIGHT (, )
返回character_expression 右起 integer_expression 个字符。
3、SUBSTRING()
SUBSTRING (, , length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。
四、字符串比较函数
1、CHARINDEX()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>, )
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>, )其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。
五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。
2、REPLICATE()
返回一个重复character_expression 指定次数的字符串。
REPLICATE (character_expression integer_expression) 如果
integer_expression 值为负值,则返回NULL 。
3、REVERSE()
将指定的字符串的字符排列顺序颠倒。
REVERSE () 其中character_expression 可以是字符串、常数或一个列的值。
4、REPLACE()
返回被替换了指定子串的字符串。
REPLACE (, , ) 用string_expression3 替换在string_expression1 中的子串string_expression2。
5、SPACE()
返回一个有指定长度的空白字符串。
SPACE () 如果integer_expression 值为负值,则返回NULL 。
6、STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF (, , ,)
如果起始位置为负或长度值为负,或者起始位置大于
character_expression1 的长度,则返回NULL 值。
如果length 长度大于character_expression1 中 start_ position 以右的长度,则character_expression1 只保留首字符。
六、数据类型转换函数
1、CAST()
CAST ( AS [ length ])
2、CONVERT()
CONVERT ([ length ], [, style])
1)data_type为SQL Server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。
4)TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符,即CHAR或VARCHAR数据类型是最大长度。
5)IMAGE类型存储的数据转换到BINARY或VARBINARY类型,最多为8000个字符。
6)把整数值转换为MONEY或SMALLMONEY类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用CONVERT()函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。
七、日期函数
1、day(date_expression)
返回date_expression中的日期值
2、month(date_expression)
返回date_expression中的月份值
3、year(date_expression)
返回date_expression中的年份值
4、DATEADD()
DATEADD (, , )
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。
5、DATEDIFF()
DATEDIFF (, , )
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。
6、DATENAME()
DATENAME (, )
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。
7、DATEPART()
DATEPART (, )
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。 DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)
8、GETDATE()
以DATETIME 的缺省格式返回系统当前的日期和时间。
八、统计函数
AVG ( ) -返回的平均价值
count( ) -返回的行数
first( ) -返回第一个值
last( ) -返回最后一个值
max( ) -返回的最大价值
min( ) -返回最小的价值
total( ) -返回的总和
九、数学函数
abs(numeric_expr)求绝对值
ceiling(numeric_expr)取大于等于指定值的最小整数 exp(float_expr)取指数
floor(numeric_expr)小于等于指定值得最大整数 pi()3.1415926.........
power(numeric_expr,power)返回power次方
rand([int_expr])随机数产生器
round(numeric_expr,int_expr)安int_expr规定的精度四舍五入 sign(int_expr)根据正数,0,负数,,返回+1,0,-1 sqrt(float_expr)平方根
十、系统函数
suser_name()用户登录名
user_name()用户在数据库中的名字 user用户在数据库中的名字 show_role()对当前用户起作用的规则
db_name()数据库名object_name(obj_id) 数据库对象名
col_name(obj_id,col_id) 列名
col_length(objname,colname) 列长度
valid_name(char_expr)是否是有效标识符
第三篇:VF上机试题 SQL语言
VFP关系数据库标准语言SQL
【机试】
[1] 在练习文件夹中有一个数据库sdb,其中有数据库表student
2、sc和course2。3个表结构如下所示:
STUDENT2(学号,姓名,年龄,性别,院系编号)
SC(学号,课程号,成绩,备注)
COURSE2(课程号,课程名,选修课号,学分)
用SQL语句查询"计算机软件基础"课程的考试成绩在85分以下(含85分)的学生的全部信息并将结果按学号升序存入noex.dbf文件中(表的结构同student2,并在其后加入成绩字段)。 答案: SELECT STUDENT2.*,成绩 FROM STUDENT2,SC,COURSE2 WHERE
STUDENT2.学号=SC.学号
AND SC.课程号=COURSE2.课程号 AND 课程名="计算机软件
基础" AND 成绩<=85 ORDER BY STUDENT2.学号 INTO TABLE
NOEX。
[2] 将order_list1表中的全部记录追加到order_list表中,然后用SQL SELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到results表中(其中客户号、客户名取自customer表,订单号、总金额取自order_list表) 答案:(1)SELECT * FROM ORDER_LIST1 INTO TABLE ORDER_LIST
(2)SELECT CUSTOMER.客户号, ORDER_LIST.客户名,订单号,
总金额 FROM CUSTOMER, ORDER_LIST WHERE CUSTOMER.客户
号=ORDER_LIST.客户号 ORDER BY 总金额DESC INTO TABLE
RESULTS.
[3]将customer1表中的全部记录追加到customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的order_list记录的customer表中的记录),同时要求按客户号升序排序,并将结果存储到results表中(表结构与customer表结构相同)。
答案:SELECT * FROM CUSTOMER1 INTO TABLE CUSTOMER
SELECT * FROM CUSTOMER WHERE 客户号 IN(SELECT 客户号
FROM ORDER_LIST)ORDER BY 客户号 INTO TABLE RESULTS
[4]列出总金额大于所有订购单总金额平均值的订购单(order_list)清单(按客户号升序排列),并将结果存储到results表中(表结构与order_list表结构相同)。
答案:SELECT * FROM ORDER_LIST WHERE 总金额>(SELECT AVG(总金额) FROM ORDER_LIST) ORDER BY 客户号 INTO TABLE RESULTS.
第四篇:Sql语句查询
sql语句多表连接查询
在程序开发过程中,不仅可以对单一数据表进行查询,还可以进行多表查询,用户通过多表查询从多个表中提取出需要的数据。
多表查询可以分为内连接查询、外连接查询以及联合查询。
1.内连接查询
连接查询是指通过各个表之间共同列的关联性查询数据。连接查询分为内连接查询和外连接查询。内连接是将两个相互交叉的数据集合中重叠部分的数据行连接起来,返回表示两个数据集合之间匹配连接关系的数据行。
可以在FORM子句中使用INNER JOIN„ON„建立内连接,也可以在WHERE子句中指定连接条件建立内连接,例如:
select a.UserName,b.BookName,b.Datetm from UserInfo as a inner join SellSheet as b on a.UserID= b.UserID
也可以用下面的语句实现。
select a.UserName,b.BookName,b.Datetm from UserInfo as a,SellSheet as b where a.UserID=b.UserID
2.外连接查询
外连接是对内连接的扩充,除了将两个数据集合中重叠部分以内的数据行连接起来之外,还可以根据要求返回左侧或右侧数据集合中非匹配的数据,即左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。
l左外连接LEFT OUTER JOIN
左外连接LEFT OUTER JOIN逻辑运算符除了返回两个数据表中满足连接条件的行,它还返回任何在后一个数据表中没有匹配行的前一个数据表中的行。非匹配行的部分字段列作为空值返回。
l右外连接RIGHT OUTER JOIN
右外连接RIGHT OUTER JOIN是左外连接的反向连接。它除了返回两个数据表中满足连接条件的行,还返回任何在前一个数据表中没有匹配行的后一个数据表中的行。非匹配行的部分字段列作为空值返回。
3.使用UNION进行联合查询
使用UNION运算符可以进行联合查询。UNION运算符连接多个SELECT语句,将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中所有查询的全部行。 使用UNION运算符遵循的规则如下:
(1)在使用UNION运算符组合的语句中,所有选择列表的表达式数目必须相同(列名、算术表达式、聚集函数等)。
(2)在使用UNION组合的结果集中的相应列必须具有相同数据类型,或者两种数据类型之间必须存在可能的隐性数据转换,或者提供了显式转换。例如,在datetime数据类型的列和binary数据类型的列之间不能使用UNION运算符,除非提供了显式转换,而在money数据类型的列和int数据类型的列之间可以使用UNION运算符,因为它们可以进行隐性转换。
(3)结果集中列的名字或者别名是由第一个SELECT语句的选择列表决定的。
注意:对数据表进行联合查询时,结果集中行的最大数量是各表行数之“和”,而对数据表进行连接查询时,结果集中行的最大数量是各表行数之“积”。
第五篇:SQL语句大全
SQL练习
一、 设有如下的关系模式, 试用SQL语句完成以下操作:
学生(学号,姓名,性别,年龄,所在系)
课程(课程号,课程名,学分,学期,学时)
选课(学号,课程号,成绩)
1. 求选修了课程号为“C2”课的学生学号
2. 求选修了课程号为“C2”课的学生学号和姓名
3. 求没有选修课程号为“C2”课的学生学号
4. 求选修了课程号为“C2”,又选修了课程号为“C3”课的学生学号
5.求选修了课程号为“C2”或“C3”课的学生学号
6.求选修了全部课程的学生学号
7.求至少选修了学号为“98002”的学生所学过的所有课程的学生的学号和姓名。
8.查询学生选课表中的全部数据
9.查询计算机系学生的姓名、年龄
10.查询成绩在70—80分之间的学生的学号、课程号和成绩
11.查询计算机系年龄在18—20之间且性别为“男”的学生的姓名和年龄
12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
13.查询哪些课程没有人选修,要求列出课程号和课程名。
14.查询数学系成绩在80分以上的学生的学号,姓名
15.查询课程号为“C02”的课程的最高分数。
16.查询计算机系学生的最大年龄和最小年龄。
17.统计每个系的学生人数。
18.统计每门课程的选课人数和考试最高分。
19.统计每个学生的选课门数和考试总成绩,并按选课门数的升序显示结果。
20.查询总成绩超过200分的学生,要求列出学号、总成绩。
21.用子查询实现如下查询:
(1) 查询选修了课程号“C01”的学生的姓名和所在系。
(2) 查询数学系成绩在80分以上的学生的学号和姓名。
(3) 查询计算机系考试成绩最高的学生的姓名。
22.删除选课成绩小于60分的学生的选课记录。
23.将所有选修了课程“C01”的学生的成绩加10分。
24.将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。
25.创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。
26.创建查询每个学生的平均成绩的视图,要求列出学生学号和平均成绩。
27.创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。