第一篇:数据库sql语言总结
插入句型:
insertinto<表名> [各属性名]values(<常量1>,<常量2>……)
删除元组或者二维表:
delete from<表名>[ where <条件> ]
删除属性:
altertable<表名>dropcolumn<列名>
增加某表的属性:
altertable<表名>add<列名> 类型
修改句型:
update<表名>set<列名> =<表达式>[where<条件>]
修改某表当中的属性类型:
altertable<表名>altercolumn<列名><转换的类型>;
显示表的一些基本情况
EXEC sp_help'<表名>'
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称 sp_rename ‘<旧的表名>’, ‘<新的表名>’
修改表的列名 sp_rename'<表名>.
小注:上面的语句最后不需要加分号
判断表中是否存在某列的语句
if exists(select * from syscolumns where id = object_id('stu')and name='Sno')
print 'stu exists'
else print 'stu not exists'
将表中的某列设置为主码:
alter table stu addSno char primary key;
判断表是否存在if exists(select count(*)from sysobjects where type='U' and name='stu')
查询某个表中字段的列名和数据类型
select column_name,data_type from information_schema.columns where table_name = '表名';
第二篇:数据库实验报告 SQL语言
数据库原理及实验报告
实验6 视图
实验目的:1)掌握交互式创建、删除视图的方法
2)掌握使用SQL创建、删除视图的方法
3)掌握交互式更新视图的方法
4)掌握使用SQL更新视图的方法 实验内容
6.1实验题目:创建视图
实验过程:1)交互式创建视图VIEW_S
2)交互式创建成绩视图VIEW_SCORETABLE
3)使用SQL创建课程表视图VIEW_CTABLE
实验结果:
6.2实验题目:修改视图
实验过程:1)使用交互式方法把视图VIEW_S中的字段SNO删掉
2)使用SQL为视图VIEW_CTABLE增加一个课时字段CT tiny int
实验结果:
6.3实验题目:通过视图修改数据库数据
实验过程:1)交互式通过修改视图VIEW_S中的数据来实现对其基本表S中数据的修改
2)对视图VIEW_S执行INSERT语句,查看此视图的基本表S中数据的变化
3)修改视图VIEW_S的定义,使其包含表S中的主键,再执行插入操作
4)用SQL语句对视图VIEW_S执行DELETE操作,查看此视图的基本表S中数据的变化 实验结果:
6.4实验题目:删除视图
实验过程:1)交互式删除视图VIEW_S
2)使用SQL删除视图VIEW_CTABLE
实验结果:
实验7 数据查询
实验目的:1,掌握从简单到复杂的各种数据查询。包括,单表查询、多表连接查询、嵌套查询、集合查询。
2,掌握用条件表达式表示检索结果。
3,掌握用聚合函数计算统计检索结果。实验7.1 单表查询
实验目的:1,掌握指定列或全部列查询。
2,掌握按条件查询。
3,掌握对查询结果排序。
4,掌握使用聚集函数的查询。
5,掌握分组统计查询。实验内容:1,指定或全部列查询。
2,按条件查询及模糊查询。
3,对查询结果排序。
4,使用聚集函数的查询。
5,分组统计查询。
实验7.2 连接查询 实验目的:掌握设计一个以上数据表的查询方法。多表之间的连接包括等值连接、自然连接、非等值连接、自身连接、自身连接、外连接和复合连接。
实验内容:1,连接查询,查询所有选课学生的学号、姓名、选课名称及成绩。
查询每门课程的课程号、任课教师姓名及其选课人数。
2,自身连接,查询所有比刘伟工资高的的教师的姓名、工资及刘伟的工资。
查询同时选修了程序设计和微机原理的学生的姓名、课程号。
3,外连接,查询所有学生的学号、姓名、选课名称及成绩(没有选课的学生的选课信息显示为空)
实验结果
实验7.3 嵌套查询
实验目的:掌握嵌套查询使我们可以用多个简单查询构成复杂的查询。从而增强了SQL的查询能力。
实验内容:1,返回一个值的子查询,查询与刘伟教师职称相同的教师号、姓名和职称。
2,返回一组值的子查询,使用ANY谓词查询讲授课程号为C5的教师姓名。使用IN谓词查询讲授课程号为C5的教师姓名。使用ALL谓词查询其他系中比计算机系所有教师工资都高的教师的姓名、工资、使用EXISTS谓词查询没有讲授课程号为C5的课程的教师姓名、所在系.使用NOT EXISTS谓词查询至少选修了学生S2选修的全部课程的学生的学号。实验结果
实验7.4 集合查询
实验目的:掌握使用UNION操作符将来自不同查询但结构相同的数据集合组合起来,形成一个具有综合信息的查询结果。
实验内容:查询年龄不大于19岁或者属于计算机系的学生,步骤如下:打开新建查询窗口,创建SQL语句。执行语句。
实验结果
实验十.T-SQL程序设计与游标设计
实验目的
掌握Transact-SQL语言及其程序设计的方法 掌握T-SQL游标的使用方法
实验10.1 T-SQL程序设计逻辑 实验目的
掌握T-SQL程序设计的控制结构及程序设计逻辑 实验内容
(1)计算1~100之间所有能被3整除的数的个数和总和。
(2)从学生表S中选取SNO,SN,SEX,如果为“男”则输出M,如果为“女”则输出F。实验 10.2 面向复杂T-SQL程序设计 实验目的
掌握面向复杂应用的T-SQL程序设计方法。实验内容
(1)从教学数据库jxsk中查询所有同学选课成绩情况:姓名,课程名,成绩。要求:凡成绩为空者输出“未考”;小于60分的输出“不及格”;60~70分的输出“及格”;70~80分的输出“中”;80~90分输出“良好”;90~100分输出优秀。并且输出记录按照下面要求排序:先按SNO升序,再按CNO升序,最后按成绩降序。
(2)现给教师增加工资。要求:必须任两门以上课程且涨幅按总收入分成三个级别:4000元以上涨300;3000元以上涨200;3000元以上涨100。只任一门课程的涨50.其他情况不涨。
实验 10.2 使用游标 实验目的
学习和理解关系数据中游标的概念和设计思想。掌握使用T-SQL游标处理结果集的方法。实验内容
针对数据库jiaoxuedb,进行下面的实验:
(1).定义一个游标Cursor_Famale。要求该游标返回所有女同学的基本信息,在游标中查找并显示牛莉的记录。(2).创建一个一个储存过程Pro_C,返回一个包含所有选修数据库课程的学生基本信息的游标。利用该存储过程,通过学生姓名查找学生王一山是否选修了数据库课程以及成绩。
第三篇:SQL语言总结
select 姓名,sum(成绩)as 总分from 学生 inner join 成绩 on 学生.学号=成绩.学号 group by 姓名 答:从通过学号建立的学生与成绩关系表中选择选择学生成绩的姓名集合Update 学生成绩表 set 高数=93
Where 高数=80;
答:将“学生成绩表”中所有“高数”为80分的记录的改为93分
Select 学号,姓名
From 学生
Where 专业=“计算机应用”;
答:查询出专业为“计算机应用”的所有男生的学号和姓名
Select 学号,姓名
From 学生
Where 年龄>=18 and姓名like“王*”;
答:显示学生表中年龄大于18岁且姓“王”的学生的所有信息。
Select Count(性别)as 男生人数
From 学生
Where 性别=“男”;
答:分别显示男生人数
Select 课程.课程编号, 课程.课程名, 成绩.学生编号, 成绩.成绩 From 课程 Inner Join 成绩 on 课程.课程编号 = 成绩.课程编号 Where(课程.课程名)=“数据库原理”and(成绩.成绩)>70;
答:查找“数据库原理”课程成绩在70分以上学生的学号、姓名和成绩
Select top 3 学号, 姓名
From 学生
Order by 成绩 Desc;
答:显示成绩前3名的学生的学号和姓名
SELECT 学生.学生编号, 学生.学生姓名, 课程.课程编号, 课程.课程名, 成绩.成绩, 班级.班级编号
FROM 课程 INNER JOIN(班级 INNER JOIN(成绩 INNER JOIN 学生 ON 成绩.学生编号=学生.学生编号)ON 班级.班级编号=学生.班级编号)ON 课程.课程编号=成绩.课程编号
WHERE(((课程.课程名)=“计算机基础”)AND((班级.班级编号)=“0401”));
答:查询0401课程成绩
SELECT 学生编号, 学生姓名, 性别, 出生年月, 籍贯, 身高, 班级编号
FROM 学生
WHERE 性别=“男” AND 班级编号=“0401”;
答:查找班级编号为0401的所有男生
UPDATE 成绩 SET 成绩 =((成绩*0.1)+成绩)
WHERE 成绩<60;
答:低于60分的增加10%
SELECT 课程.课程编号, 课程.课程名, 课程.学时, 课程.学分, 教师.教师编号, 教师.教师姓名, 教师.性别, 教师.职务
FROM 课程 INNER JOIN 教师 ON 课程.教师编号=教师.教师编号;答: 教师授课课程查询
SELECT 教研室编号, 教师人数
FROM 教研室;
答:教研室人数查询
SELECT 课程编号, 课程名, 学时
FROM 课程;
答:课程名称查询
SELECT avg(成绩)AS平均成绩
FROM 成绩;
答:平均成绩查询
SELECT avg(身高)AS平均身高
FROM 学生
WHERE 性别=“男”;
答:求出男生的平均身高
SELECT 学生编号, Avg(成绩)AS平均成绩, Sum(成绩)AS 总成绩 FROM 成绩
GROUP BY 学生编号;
答:求学生的平局成绩和总成绩
UPDATE 学生 SET 学生编号 = “050211”
WHERE 学生编号=“050101”;
答:修改学生编号
alter table 学生 add 身高 smallint;
答:增加身高字段
第四篇:SQL数据库心得
黄淮学院 2015---2016学年第 一 学期 《C#数据库应用程序开发技术与案例教程》课程
题目:
学习报告
院
系:数学科学系 专
业:数学与应用数学 年
级:1301B 姓
名:曹占营 学
号:1331110101 任课教师:杨锋英
2015年 12 月 30日
C#数据库学习报告
在日常生活中,我们和朋友、亲戚联系,会广泛用到通讯录,因此这门课程以通讯录开发为案例,教我们学习软件开发。
软件开发是一项非常注重实践工作,不可能只凭看书、看视频就学会软件开发,必须扎扎实实、一行一行的编写代码,不断积累项目经验,才能真正掌握编程技术,所以我们要亲自上级编写程序,才能真正掌握软件开发技术。
本书分为基础篇、进阶篇、高级篇,由浅入深地介绍了基于C#的数据库编程技术,所用的开发工具为Visual Studio 2008、SQL Server 2005以及Access 2007。
学习数据库的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从课程中让我更明白一些知识,查询可以通过SQL语言进行完成,这样加深了查询语句的基本结构,让我们能更好的掌握其中语句,方便于我们后面的学习和应用。表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。在编程方面是需要我们对于编程有逻辑思维能力及一定的编程技巧。在数据库中插入表、表中的信息等都需要注意,不然很容易出错。
在基础篇中,详细讲解了通讯录系统的设计、开发和安装部署这样一个完整过程,对各个任务进行详细讲解。基础篇学习分为9个任务,分别为系统分析与设计、用户登录、主窗体设计、联系人分组管理、联系人管理、用户密码修改、数据库备份与恢复、设计“关于”窗体、系统安装与部署。学完基础篇,即可开发出一个功能较为完备的通讯录系统。在联系人管理任务学习中,由于在Contact表中保存的是分组编号,而窗体上要显示的是分组名称,所以在查询语句中需要级联查询,即SQL语句为”select Contact.Id, Name, Phone, Email, QQ, GroupName from Contact, ContactGroup where Contact.GroupId = ContactGroup.Id”。为了实现代码复用,可以提供查询功能,根据用户选择的擦寻天剑,拼接产生SQL语句。同时为了支持模糊查询,还在SQL语句中用了like语句。通过SqlDataAdapter的Fill方法填充数据集,获取数据。数据集中有了数据以后,我们只需设置DataGridView控件的DataSource属性,就可以显示数据了。
在进阶篇中,介绍了企业项目开发中广发用到的参数化SQL语句、存储过程使用及定义数据库操作类,分为3个任务学习,分别为使用参数化SQL语句、使用存储过程、使用自定义数据库操作类,进一步提高我们的数据库编程能力。在使用存储过程任务学习中,了解到存储过程是在大型数据库系统中,一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在性能方面,存储过程有如下的优点。(1)与编译,存储过程预先编译好放在数据库内,减少编译语句所花的时间。(2)缓存,编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的书都会有明显提高。(3)减少网络传输,特别对于处理一些数据的存储过程,不必像直接用SQL语句实现那样多次传送数据到客户端。通过前面的学习,细细体会对数据库的操作,可以发现,这么多操作其实可以分为4种。(1)对数据库进行非连接式查询操作,返回多条记录。这种操作可以通过SqlDataAdapter对象的Fill方法来完成,即把查询得到的结果填充到DataTable(或DataSet)对象中。(2)对数据库进行连接式查询操作,返回多条查询记录。这种操作可以通过SqlCommand对象的ExecuteReader方法来完成,返回SqlDataReader对象。(3)从数据库中检索单值。这种操作可以通过SqlCommand对象的ExecuteNonQuery方法来完成。ExecuteScalar方法返回的是Object类型,需要根据实际情况进行类型转换。(4)对数据库执行增、删、改操作。这种操作可以通过SqlCommand对象的ExecuteNonQuery方法来完成,返回增、删、改操作后数据库中受影响的行数。
在高级篇中,分为4个任务学习,分别为开发基于三层构架的通讯录程序、开发基于Access的通讯录程序、实现基于抽象工厂模式的三层架构、使用MD5加密用户密码。首先详细讲解了基于三层构架的通讯录程序开发过程以及如何开发一个基于Access的通讯录系统。最后,介绍了如何采用MD5加密技术对用户密码加密。MD5加密技术也是实际项目开发中广泛用到的,通过MD5加密用户密码,可以提高程序的安全性。“三层架构”一词中的“三层”是指:“表示层”、“业务逻辑层”、“数据访问层”。表示层:位于最外层,离用户最近。用于显示和接收用户输入的数据,为用户提供一种交互式操作界面。表示层的常见形式为WinFrom和WebForm。业务逻辑层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。业务逻辑层也可以包括一些对“商业逻辑”描述代码在里面。数据访问层:仅实现对数据的保存和读取操作。可以访问数据库系统、二进制文件、文本文档或是XML文档。
在这一学期有限的几次实验课后,我虽然没有学会很多,但也学会了一些简单的操作,我学会了一些简单的数据运算,会建立一些简单的表。有时候在做实验时,对于实验中的一些东西我不怎么了解,但我还会去做,因为我想只有多练习才能熟练,也才能理解掌握知识。我不知道这一门课对其他同学来说怎么样,但对我来说却有些难,但我会努力。因为我认为它对我以后考计算机二级有很大的帮助。
很快这一学期马上就要结束了,数据库这一门课也很快就要结束了,但这一学期的学习让我知道了很多,也告诉了我在以后的人生中如何去做事,如何去做人。尤其是老师的耐心,老师的敬业精神感动了我,再做任何事时都应该认真负责,任何一个人都应该被尊重。
第五篇:SQL语言汇总
1.UPDATE MARK
SET 总分=语文+数学+英语
SELECT 准考证号,姓名,总分
FROM MARK
WHERE 语文>=75 AND数学>=75 AND 英语>=75 AND 语文+数学+英语>=240
ORDER BY 总分 DESC
UPDATE MARK
SET 修正分数=高考分数*1.3
WHERE 籍贯='云南' OR 籍贯='福建'
SELECT AVG(高考分数)as平均分
FROM MARK
GROUP BY 性别
SELECT *
FROM cj
WHERE 期中成绩>=80 OR 期末成绩>=80 ORDER BY 课程号 ASC
UPDATE cj
SET平均成绩=期中成绩*0.2+期末成绩*0.8
SELECT 书号,书名,作者
FROM gm
WHERE 书号 LIKE '理*' AND 单价>20 ORDER BY 单价 ASC
UPDATE gm
SET 金额=单价*数量
UPDATE Sale
SET 销售金额=销售数量*单价
UPDATE Wage
SET 实发工资=工资+奖金
SELECT 姓名,实发工资
FROM Wage
WHERE 姓名 LIKE '*辉'OR 姓名 LIKE ' *辉*' ORDER BY 年龄 DESC
SELECT 部门号, COUNT(*)as人数
FROM zhigong
GROUP BY 部门号
UPDATE kaoshi
SET平均成绩=笔试成绩*0.6+上机成绩*0.4
SELECT 考号,姓名,平均成绩
FROM kaoshi
WHERE 姓名 LIKE '黄*'
DELETE *
FROM mark
WHERE 学号='1003'
SELECT 学号,课程号,期末成绩
FROM mark
WHERE 学号 LIKE '*1'
ORDER BY 期末成绩 DESC
UPDATE fk
SET 超期罚款=单价*超期天数*0.005
SELECT *
FROM fk
WHERE 单价>=50 OR 超期天数>30 ORDER BY 超期罚款 DESC
UPDATE gp
SET 浮动盈亏=(市场现价-买入加个)*买入数量
SELECT 股票代码,买入时间,浮动盈亏 FROM gp
WHERE 股票代码 LIKE '6*' AND 浮动盈亏>0 ORDER BY 买入时间 ASC
UPDATE ah
SET 年龄=年龄+1
SELECT 寝室,COUNT(*)as 爱好球类人数 FROM ah
WHERE 爱好 LIKE '*球'
GROUP BY 寝室
UPDATE JHKC
SET 总价=单价*库存量
SELECT 设备编号,设备名称,单价
FROM JHKC
WHERE 库存量<300 AND 单价<500 ORDER BY 单价 DESC
UPDATE HCSK
SET 票价=600
WHERE 航班号=F807
SELECT 航班号,起飞日期,票价
FROM HCSK
WHERE 出发地='福州' AND 目的地='巴黎' ORDER BY 票价 ASC