数据库,查询学生的全部信息语句

数据库,查询学生的全部信息语句,第1张

首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,启动SQLSever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在d出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:学生表(student)(学号(sno)普通编码定长字符类型,长度7,主码,姓名(sname)普通编码定长字符类型,长度8,非空,性别(ssex)统一编码定长字符类型,长度1,年龄(sage)微整型,所在系(sdept)统一编码可变长字符类型,长度20)课程表(course)(课程号(cno)普通编码定长字符类型,长度6,主码,课程名(cname)统一编码定长字符类型,长度10,非空,学分(credit)小整型,学期(semester)小整型)修课表(sc)(学号(sno)普通编码定长字符类型,长度7,主码,外码课程号(cno)普通编码定长字符类型,长度6,主码,外码成绩(grade)小整型,修课类别(type)普通编码定长字符类型,长度4)则创建表的语句分别为:createtableStudent(Snochar(7)primarykey,Snamechar(8)notnull,Ssexnchar(1),Sagetinyint,Sdeptnvarchar(20))createtableCourse(Cnochar(6)primarykey,Cnamenchar(10)notnull,Creditsmallint,Semestersmallint)createtableSC(Snochar(7),Cnochar(6),Gradesmallint,Typechar(4),primarykey(Sno,Cno),Foreignkey(Sno)ReferencesStudent(Sno),Foreignkey(Cno)ReferencesCourse(Cno))各表的结构大体如此,如有变化可自行修改。以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。

SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

打开sql2008数据库,无论哪个版本都行,方法和语句都是一样的

选择默认数据库为我们需要查询的数据库,输入SQL语句的时候,就会出现只能提示窗口

在这个表中,我们要统计同一个部门包含多少条记录

语句select

distinct

BELONG_DPID

from

BED可以查询出不同的部门有10个,如图所示

对语句进行完善,统计每个部门的行数

select

distinct

BELONG_DPID,COUNT(BELONG_DPID)

from

BED

查询结果如图所示,这样就筛选出各个部门的记录数

第一种方案:用存储过程来写

以下是存储过程内容:

declare @Num int

select @Num = count() from 表名 where(判断是否同一条数据的条件)

if(@Num = 0)

insert into

else

update

第二种方案:在程序里分两次 *** 作数据库(这种方式比较浪费资源)

string cmdText="select count() from 表名 where(判断是否同一条数据的条件)";

SqlCommand cmd=new SqlCommand(cmdText,con)

conOpen();

//先得到数据库中是否有这条记录

int num =ConvertToInt32(cmdExecuteScalar());

if(num>0)

{

//如果有,把SQL语句设置为修改数据

cmdText="update"

}

else

{

//如果没有,就插入一条数据进去

cmdText="insert"

}

cmdCommandText=cmdText;

cmdExecuteNonQuery();

conClose();

select from table where rownum < 5;

(可以分下组,排下序)查前面0-4条记录,千万注意 rownum 只能用< <=判断,用> >=的话可能出现不可预知的记录;

查5-9个

select from table order by id where rownum <10

minus

select from table order by id where rownum <5;

查10-14个话

select from table order by id where rownum <15

minus

select from table order by id where rownum <10;

查15-16个

select from table order by id where rownum <17

minus

select from table order by id where rownum <15;

把select

@Sumcount=count()

from

B

select

@count=count()

from

B

where

IDmoney

<6000这二句话放到循环里面才行

否则值永远不变

当然死循环

本篇重点为大家讲解 组合数据、数据插入、更新和删除数据 相关内容。

多数SQL查询只包含从一个或多个表中返回数据的单条 SELECT 语句。但是,SQL也允许执行多个查询,并将结果作为一个查询结果集返回。这些组合查询通常称为并 (union) 或复合查询 (compound query)。

主要有 两种情况 需要使用组合查询:

在一个查询中从不同的表返回结构数据;

对一个表执行多个查询,按一个查询返回数据。

创建组合查询

利用 UNION ,可给出多条 SELECT 语句,将它们的结果组合成一个结果集。

使用方法: 给出每条SELECT语句,在各条语句之间放上关键字UNION。

假如需要Illinois、Indiana和Michigan等美国几个州的所有顾客的报表,还想包括不管位于哪个州的所有的Fun4All。

分析:这条语句由两条 SELECT语句 组成,之间用 UNION 关键字分隔。UNION指示DBMS执行这两条SELECT语句,并把输出组合成一个查询结果集。

在简单的例子中,使用UNION可能比使用WHERE子句更为复杂。但对于较复杂的过滤条件,或者从多个表中检索数据的情形,使用UNION可能会使处理更简单。

1、UNION规则

UNION必须由 两条或两条以上 的SELECT语句组成,语句之间用关键字 UNION分隔。

UNION中的每个查询必须包含相同的 列、表达式或聚集函数。

列数据类型 必须兼容 :类型不必完全相同,但必须是DBMS可以隐含转换的类型。

2、包含或取消重复的行

使用 UNION 时, 重复的行会被自动取消 ,这是UNION的默认行为,如果想返回所有的匹配行,可使用 UNION ALL

3、对组合查询结果排序

在用 UNION组合查询 时,只能使用一条 ORDER BY 子句,它必须位于最后一条SELECT语句之后。

TopBDA大数据分析师培训

除了SQL数据库学习,还有大量数据分析知识和实 *** 等你 探索 !

SELECT是最常用的SQL语句,还有其他3个常用的SQL语句需要学习,第一个就是 INSERT ,另外两个之后为大家介绍。

INSERT用来 将行插入或添加到数据库表 ,插入有几种方式:

插入完整的行;

插入行的一部分;

插入某些查询的结果。

插入完整的行

把数据插入表中的最简单方法是使用基本的 INSERT 语法。

分析:在插入行时,DBMS将用VALUES列表中的相应值填入列表中的对应项。VALUES中的第一个值对应于第一个指定列名,第二个值对应于第二个列名,如此等等。

插入部分行

使用这种语法,还可以 省略列 ,这表示可以只给某些列提供值,给其他列不提供值。

分析:没有给 cust_contact cust_email 这两列提供值,这表示没必要在INSERT语句中包含它们。因此,这里的INSERT语句 省略了这两列及其对应的值。

插入检索出的数据

INSERT一般用来给表插入具有指定列值的行。

INSERT还存在另一种形式, 可以利用它将SELECT语句的结果插入表中, 这就是所谓的 INSERT SELECT

假如想把另一表中的顾客列合并到Customers表中,不需要每次读取一行再将它用INSERT插入,可以如下进行:

分析:使用INSERT SELECT从CustNew中将所有数据导入Customers。SELECT语句从CustNew检索出要插入的值,SELECT中列出的每一列对应于Customers表名后所跟的每一列。

从一个表复制到另一个表

可以使用 CREATE SELECT 语句(或者在SQL Server里也可用 SELECT INTO 语句)。

INSERT SELECT 将数据添加到一个已经存在的表不同,CREATE SELECT将数据复制到一个新表。

使用SQL Server,可以这么写:

分析:创建一个名为CustCopy的新表,并把Customers表的整个内容复制到新表中。

在使用 SELECT INTO 时,任何SELECT选项和子句都可以使用,包括 WHERE GROUP BY ;可利用连接从多个表插入数据;不管从多少个表中检索数据,数据都只能插入到一个表中。

更新数据

更新表中的数据,可以使用 UPDATE 语句,使用UPDATE的方式有两种:

更新表中的特定行;

更新表中的所有行。

基本UPDATE语句由三部分组成,分别是:

要更新的表;

列名和它们的新值;

确定要更新哪些行的过滤条件。

举一个简单例子,客户1现在有了电子邮件地址,因此他的记录需要更新,语句如下:

分析:UPDATE语句以要更新的表名开始。要更新的表名为Customers。SET命令用来将新值赋给被更新的列。UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。

更新多个列的语法稍有不同。

分析:在更新多个列时,只需要使用一条SET命令,每个“列=值”对之间用逗号分隔(最后一列之后不用逗号)。

要删除某个列的值,可设置它为NULL。

分析:NULL用来去除cust_email列中的值。

删除数据

从一个表中删除数据,使用DELETE语句,使用DELETE的方式有两种:

从表中删除特定的行;

从表中删除所有行。

分析:DELETEFROM要求指定删除数据的表名,WHERE子句过滤要删除的行。如果省略WHERE子句,它将删除表中每个顾客。

DELETE不需要列名或通配符 ,DELETE删除整行而不是删除列,要删除指定的列,使用 UPDATE 语句。

使用 UPDATE或DELETE 时所遵循的重要原则:

除非更新和删除每一行,否则绝对不要使用不带WHERE子句的UPDATE或DELETE语句。

保证每个表都有主键,尽可能像WHERE子句那样使用它。

在UPDATE或DELETE语句使用WHERE子句前,应该先用SELECT进行测试,保证它过滤的是正确的记录,以防编写的WHERE子句不正确。

使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行。

有的DBMS允许数据库管理员施加约束,防止执行不带WHERE子句的UPDATE或DELETE语句。若是SQL没有撤销(undo)按钮,应该非常小心地使用UPDATE和DELETE。

以上就是今天分享的全部内容,下期重点为大家介绍 使用视图和创建和 *** 纵表 ,我们下期见!

以上就是关于数据库,查询学生的全部信息语句全部的内容,包括:数据库,查询学生的全部信息语句、SQL查询不重复数据语句、C#判断数据库中是否已有同一条数据,没有则修改等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9478060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存