创建一个Access数据库
数据库中包括下列三个表,数据类型自己考虑。
Students(学号,姓名,性别,出生日期,入学成绩,专业,个人简历,照片)
Course(课程号,课程名称,学时,学分)
Grade(学号,课程号,成绩)
三个表中分别存有30条、8条、60条不同的记录。
⑴在查询状态下,在SQL视图中分别用SQL语句实现创建以上三个表。
create
table
Students
(
学号
char(10),
性别
char(10),
出生日期
datetime,
入学成绩
int,
专业
char(10),
个人简历
char(10),
照片
char(100)
)
其他依次类推
⑵分别用SOL语句实现对表结构增加字段,删除字段,修改字段(类型,长度,名称)。
alter
table
students
性别
char(20)
⑶分别用SQL语句实现对三个表中记录的追加。
insert
into
students
values
('0001','张三',',',',……)
⑷分别用SQL语句实现对三个表中满足条件记录的更新。
update
students
set
name
'李四'
where
……
⑸分别用SQL语句实现对三个表中相应记录删除。
delete
from
students
⑹用SQL语句实现对以上三个表进行相关数据的查询,查询的结果中应包括学号、姓名、性别、课程名称、成绩等内容。
⑺制作窗体,表示三个表数据
⑻将分别制作三个表的打印报表及⑹查询结果的打印报表。
Ⅱ vfp中除了查询以外其他操作可以直接生成SQL语句吗
SQL语句在VFP实际是一个字符串。只要是合法的字符串,语法没有问题,你怎么生成这个SQL语句,程序是不管你的。
生成SQL语句,按照我使用的经验,我用过下面几个方法:
1、直接在程序代码中设计,字符串变量=字符串1+字符串2+字符串3。。。,然后把生成的字符串变量,代入我要用的函数,如sqlexec()等,执行,得到我要的结果;
2、如果sql语句太长,程序代码要分几行,两行之间用分号“;”连接;
3、更简单办法,把sql语句写好,保存在DBF表中,如果很长呢,建议用memo类型;使用时,只要引用格式——“表名.字段名(memo字段)”,使用效率跟字符串变量类似(方法1)。
从上面引申出去,只要能得到我们需要的字符串,就可以得到SQL语句,各种方法都可以。
Ⅲ 如题,用sql语句怎么写
sql语句是用来编写选择查询,追加查询,删除查询,更新查询等的一种工具。
您说的创建用户,设置密码,设置权限等应当用编程语言来编写。
Ⅳ 怎么给已有的SQL语句用程序添加查询条件
用流程控制语句拼接就可以了,比如(Java为例):
String sql="select * from XXX where 1=1";
if(条件)sql+=" and 字段=值";
if(条件)sql+=" and 字段=值";
if(条件)sql+=" and 字段=值";对于编程语言来说,sql就是一个字符串,拼接成能执行的sql就行了。
Ⅳ 生成表查询、更新查询、追回查询和删除查询各使用何SQL语句,其与选择查询有何关联
回答你这个问题还是比较繁杂的,下面还是生成表查询、更新查询、追回查询和删除查询一个一个来说吧
生成表查询:
从一个或多个表中检索数据,然后将结果集加载到一个新表中。该新表可以驻留在已打开的数据库中,您也可以在其他数据库中创建该表。
通常,在需要复制或存档数据时,可创建生成表查询。
若要创建生成表查询,请首先创建选择查询,然后将其转换为生成表查询。选择查询可以使用计算字段和表达式来帮助返回所需的数据。
更新查询:
使用更新查询可以添加、更改或删除一条或多条现有记录中的数据。可以将更新查询视为一种功能强大的“查找和替换”对话框形式。可以输入选择条件(大致相当于搜索字符串)和更新条件(大致相当于替换字符串)。与“查找和替换”对话框不同,更新查询可接受多个条件,使您可以一次更新大量记录,并使您可以一次更改多个表中的记录。
在运行更新查询之前,应当先备份数据库。更新查询的结果无法撤消,因此进行备份可确保始终能够取消更改。
使用更新查询的最可靠方法是先创建一个可测试选择条件的选择查询。例如,假设您要为某一给定客户将一系列“是/否”字段从“否”更新为“是”。为此,可以向选择查询中添加条件,直到它为该客户返回所有在记录中包含“否”的记录。在确定该查询返回正确的记录后,可将其转换为更新查询,输入更新条件,然后运行查询以更改选定值。本节中的步骤说明如何创建选择查询,然后将其转换为更新查询。
追加查询:
追加查询可将一组记录(行)从一个或多个源表(或查询)添加到一个或多个目标表。通常,源表和目标表位于同一数据库中,但并非必须如此。例如,假设您获得了一些新客户以及一个包含有关这些客户的信息表的数据库。为了避免手动输入这些新数据,可以将这些新数据追加到数据库中相应的表中。
创建追加查询的过程的基本步骤如下:
创建选择查询。
将选择查询转换为追加查询。
为追加查询中的每一列选择目标字段。
运行该查询以追加记录。
删除查询:
删除查询将删除每个字段中的所有数据,包括唯一标识记录的键值。运行该查询时,它始终会从表中删除整个行。此过程包括以下主要步骤:创建一个选择查询并确保该查询返回您要删除的记录,然后将此查询转换为删除查询,并运行该查询以删除数据。
从上面可以看出来行为查询(生成表查询、更新查询、追回查询和删除查询)因为在ACCESS数据库中都具有不可即时还原即ROLLBACK功能,都会先用选择查询确认语句的效果及需要处理的记录集合
其实ACCESS都提供了可视化的操作界面来做这些行为,如果要用SQL来一一对应的话,就是
生成表查询 create table
更新查询 update table
追回查询 insert into table
删除查询 delete table
具体的写法你可以看一些SQL语句的实例,还有什么问题的话可以QQ留言给我。
Ⅵ 关于SQL查询追加记录的问题
SELECT "城镇" AS 类型, Count(总数据.order) AS 人数, sum(总数据.total)/count(总数据.total) AS 总平均分, sum(总数据.study)/count(总数据.study) AS 学习平均分, sum(总数据.intercourse)/count(总数据.intercourse) AS 交往平均分, sum(总数据.acclimatize)/count(总数据.acclimatize) AS 适应平均分, sum(总数据.oneself)/count(总数据.oneself) AS 自身平均分 FROM 总数据 WHERE 总数据.origin="2"
union
SELECT "农村" AS 类型, Count(总数据.order) AS 人数, sum(总数据.total)/count(总数据.total) AS 总平均分, sum(总数据.study)/count(总数据.study) AS 学习平均分, sum(总数据.intercourse)/count(总数据.intercourse) AS 交往平均分, sum(总数据.acclimatize)/count(总数据.acclimatize) AS 适应平均分, sum(总数据.oneself)/count(总数据.oneself) AS 自身平均分 FROM 总数据 WHERE 总数据.origin="1";
Ⅶ 如何对一个字段追加内容。SQL语句怎么实现
对一个字段追加内容是需要将原字段内容保留,在其内容后增加新的内容,语法是:
列名=列名+'追加内容'
使用【+】号将原字段内容与追加内容合并后并赋值给字段
例如在表【table_Temp】中列【ID】等于3的时候,在列【value1】中追加数据可以这样写:
updatetable_Tempsetvalue1=value1+'需要追加的数据'whereID=3
当然,有个前题,就是列【Value1】的长度足够存储下这么长的数据
Ⅷ 怎么把追加查询切换到sql视图
可以使用T-SQL语句添加视图:
CREATE VIEW view_name
AS
<select语句>
IF EXISTS (SELECT * FROM sysobjects WHERE /*检测是否存在*/
name = 'view_stuInfo_stuMarks')
DROP VIEW view_stuInfo_stuMarks /*删除视图*/
GO
CREATE VIEW view_stuInfo_stuMarks /*创建视图*/
AS
SELECT 姓名=stuName,学号=stuInfo.stuNo,
笔试成绩 =writtenExam, 机试成绩=labExam,
平均分=(writtenExam+labExam)/2
FROM stuInfo LEFT JOIN stuMarks
ON stuInfo.stuNo=stuMarks.stuNo
GO
SELECT * FROM view_stuInfo_stuMarks /*使用视图*/
从一个或者多个表或视图中导出的虚拟表,结构和数据建立在对表的查询基础上的。
理论上它可以像普通的物理表一样使用,例如增、删、改、查等,修改视图中的数据实际上是修改原始数据表。
因为修改视图有许多限制,所以在实际开发中一般视图仅做查询使用。
Ⅸ ACCESS 追加查询 SQL语句
追加语句:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Values('值1','值2');
上面是标准的语法。跟T_SQL操作查询是一样的。所以他也能嵌套扩展,比如我要表对表追加查询:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Select来源表.字段1,来源表.字段2from来源表
你也可以给他有选择性的筛选:
InsertInto目的表名(目的表名.字段1,目的表名.字段2)Select来源表.字段1,来源表.字段2from来源表where条件加在这
你也可以嵌套连接查询,举个例子,我要向A表追加B表数据,当A表有重复某个字段就不重复追加,没有就追加,通过这种方法避免重复追加:
InsertIntoA(A.字段1,A.字段2)SelectB.字段1,B.字段2fromBLeftjoinAonB.字段1=A.字段1where((A.字段1)isnull)
Ⅹ 在多个条件查询,怎么动态生成sql语句
string sql="select * from table where 1=1 ";
if(XXXXXX)
{
sql+="*********";
}
if(XXXXXX)
{
sql+="*********";
}
if(XXXXXX)
{
sql+="*********";
}
......