SQL语句创建学生信息数据库表的示例

合集下载

SQL语句创建学生信息数据库表的示例-学生信息数据库表

SQL语句创建学生信息数据库表的示例-学生信息数据库表

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20)default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit〉0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere o=o and sc.Grade between 70 and 804.查询计算机系年龄在18~20之间且性别为“男"的学生的姓名和年龄。

人大金仓数据库 模式创建语句

人大金仓数据库 模式创建语句

人大金仓数据库模式创建语句全文共四篇示例,供读者参考第一篇示例:人大金仓数据库是一个非常常用的数据库管理系统,它的模式创建语句是用来定义数据库中表的结构、字段类型、主键、外键等信息的语句。

有了模式创建语句,我们就可以在数据库中创建表,并定义表中的字段,这样才能进行数据的存储和管理。

我们可以使用以下的SQL语句来创建一个学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT,gender VARCHAR(10),major VARCHAR(50));```在这个例子中,我们创建了一个名为student的表,表中包含了id、name、age、gender和major等字段。

id字段是主键,并且不允许为空;name字段是字符串类型,最大长度为50个字符;age字段是整数类型;gender和major字段也是字符串类型。

在创建表时,还可以添加一些约束条件,比如主键约束、唯一约束、外键约束等。

这些约束条件可以帮助我们规范数据的输入,确保数据的一致性和完整性。

在人大金仓数据库中,还可以使用ALTER TABLE语句来修改已经存在的表的结构,比如增加字段、修改字段类型、添加约束等。

同时也可以使用DROP TABLE语句来删除表。

人大金仓数据库的模式创建语句是非常重要的,在数据库设计和管理过程中起着至关重要的作用。

只有合理地设计数据库的结构,才能确保数据的有效存储和管理。

希望以上内容能对您有所帮助。

第二篇示例:人大金仓数据库是一款非常流行的关系型数据库管理系统,它具有高效、快速、安全等特点,因此被广泛应用于各种企业和机构中。

在人大金仓数据库中,模式是一个非常重要的概念,它指的是数据库中存储数据的结构,包括表、视图、索引等。

在人大金仓数据库中,创建模式的语句非常重要,因为它能够帮助我们定义数据的结构,确保数据的一致性和完整性。

SQL语句创建学生信息数据库表的示例

SQL语句创建学生信息数据库表的示例

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table S tudent(Sno varchar(7) primary key,Sname varchar(10) not null,页脚内容1Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(页脚内容2Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),页脚内容3Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere o=o and sc.Grade between 70 and 80页脚内容44.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。

SQL语句创建学生信息数据库表的示例

SQL语句创建学生信息数据库表的示例

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号与成绩。

Select Sno,Cno,GradeFrom Course,ScWhere course、cno=sc、Cno and sc、Grade between 70 and 804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名与年龄。

SQL语句创建学生信息数据库表的示例

SQL语句创建学生信息数据库表的示例

用SQL语‎句创建如下‎三个基本表‎:学生表(Stude‎n t)、课程表(Cours‎e)、学生选课表‎(SC),结构如下所‎示Stude‎n t表结构‎Creat‎e table‎ Stude‎nt(Sno varch‎ar(7) prima‎r y key,Sname‎varch‎ar(10) not null,Ssex char (2) check‎(Ssex=‘男’or Ssex=’女’),Sage int check‎(Sage betwe‎e n 15 and 45),Sdept‎varch‎ar(20) defau‎l t(‘计算机系’))Cours‎e表结构Creat‎e table‎cours‎e(Cno varch‎ar(10) prima‎r y key,Cname‎varch‎ar(20) not null,Ccred‎i t int check‎(Scted‎i t>0),Semes‎t er int check‎(Semes‎t er>0),Perio‎d int check‎(Perio‎d>0))SC表结构‎Creat‎e table‎SC(Sno varch‎a r(7) forei‎g n key refer‎e nces‎stude‎n t(Sno),Cno varch‎a r(10) forei‎g n key refer‎e nces‎cours‎e(Cno),Grade‎int check‎(Grade‎betwe‎e n 0 and 100),Prima‎r y key (Sno,Cno))1.查询学生选‎课表中的全‎部数据。

SELEC‎T *FROM SCgo2.查询计算机‎系学生的姓‎名、年龄。

Selec‎t Sname‎,SageFrom Stude‎n tWhere‎Sdept‎=’计算机系’3.查询成绩在‎70~80分之间‎的学生的学‎号、课程号和成‎绩。

创建学生表的sql语句

创建学生表的sql语句

创建学生表的sql语句创建学生信息表:本文将介绍如何使用sql语句来创建学生表,并详细说明其中的每一步。

一、要创建学生表,首先需要创建一个数据库,这个数据库中包含有学生表:1. 创建数据库:create database student;2. 选择数据库:use student;二、接下来,使用create table语句来创建学生表:1. 在语句中添加学生表的列名:create table _student(studentID char(15) not null,name varchar(20) not null,age integer not null,gender char(2) not null,college varchar(20) not null,major varchar(20) not null,class char(10) null);这里,studentID、name、age、gender、college、major和class是学生表的列,其中studentID、name、age、gender、college和major是必填项,而class是可选项。

2. 使用primary key 关键字来指定表中唯一的字段(作为该表的主键):alter table _studentadd primary key (studentID);该语句执行后,可以在学生表中识别出主键(即studentID),此后再插入数据到表中的每一行时,都将检查studentID是否存在,保证其唯一性。

三、最后,可以在终端上查看学生表的结构:desc _student;以上就是如何创建学生表的sql语句。

本文介绍的每一步都十分重要,正确地创建数据库后,再利用create table 来添加学生表的列名,并使用 primary key 关键字来指定表的主键,最后使用desc命令查看表结构,就可以完成创建学生表的任务。

50个常用sql语句实例(学生表 课程表 成绩表 教师表)

50个常用sql语句实例(学生表 课程表 成绩表 教师表)

Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表create table Student(S# varchar(20),Sname varchar(10),Sage int,Ssex varchar(2))前面加一列序号:ifexists(select table_name from information_schema.tableswhere table_name='Temp_Table')drop table Temp_Tablegoselect 排名=identity(int,1,1),* INTO Temp_Table from Studentgoselect * from Temp_Tablegodrop database [ ] --删除空的没有名字的数据库问题:1、查询“”课程比“”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,(select s#,scorefrom SC where C#='002') bwhere a.score>b.score and a.s#=b.s#;2、查询平均成绩大于分的同学的学号和平均成绩;select S#,avg(score)from scgroup by S# having avg(score) >60;3、查询所有同学的学号、姓名、选课数、总成绩;select Student.S#,Student.Sname,count(SC.C#),sum(score)from Student left Outer join SC on Student.S#=SC.S#group by Student.S#,Sname4、查询姓“李”的老师的个数;select count(distinct(Tname))from Teacherwhere Tname like '李%';5、查询没学过“叶平”老师课的同学的学号、姓名;select Student.S#,Student.Snamefrom Studentwhere S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平');6、查询学过“”并且也学过编号“”课程的同学的学号、姓名;select Student.S#,Student.Sname from Student,SC whereStudent.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002');7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select S#,Snamefrom Studentwhere S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher whereTeacher.T#=Course.T# and Tname='叶平'));8、查询课程编号“”的成绩比课程编号“”课程低的所有同学的学号、姓名;Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2 from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2 <score;9、查询所有课程成绩小于分的同学的学号、姓名;select S#,Snamefrom Studentwhere S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60);10、查询没有学全所有课的同学的学号、姓名;select Student.S#,Student.Snamefrom Student,SCwhere Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);11、查询至少有一门课与学号为“”的同学所学相同的同学的学号和姓名;select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';12、查询至少学过学号为“”同学所有一门课的其他同学学号和姓名;select distinct SC.S#,Snamefrom Student,SCwhere Student.S#=SC.S# and C# in (select C# from SC where S#='001');13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;update SC set score=(select avg(SC_2.score)from SC SC_2where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='叶平');14、查询和“”号的同学学习的课程完全相同的其他同学学号和姓名;select S# from SC where C# in (select C# from SC where S#='1002') group by S# having count(*)=(select count(*) from SC whereS#='1002');15、删除学习“叶平”老师课的SC表记录;Delect SCfrom course ,Teacherwhere Course.C#=SC.C# and Course.T#= Teacher.T# and Tname='叶平';16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“”课程的同学学号、、号课的平均成绩;Insert SC select S#,'002',(Select avg(score)from SC where C#='002') from Student where S# not in (Select S# from SC where C#='002');17、按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示:学生ID,,数据库,企业管理,英语,有效课程数,有效平均分SELECT S# as 学生ID,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='004') AS 数据库,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='001') AS 企业管理,(SELECT score FROM SC WHERE SC.S#=t.S# AND C#='006') AS 英语,COUNT(*) AS 有效课程数, AVG(t.score) AS 平均成绩FROM SC AS tGROUP BY S#ORDER BY avg(t.score)18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分FROM SC L ,SC AS RWHERE L.C# = R.C# andL.score = (SELECT MAX(IL.score)FROM SC AS IL,Student AS IMWHERE L.C# = IL.C# and IM.S#=IL.S#GROUP BY IL.C#)ANDR.Score = (SELECT MIN(IR.score)FROM SC AS IRWHERE R.C# = IR.C#GROUP BY IR.C#);19、按各科平均成绩从低到高和及格率的百分数从高到低顺序SELECT t.C# AS 课程号,max(ame)AS 课程名,isnull(AVG(score),0) AS 平均成绩,100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) AS 及格百分数FROM SC T,Coursewhere t.C#=course.C#GROUP BY t.C#ORDER BY 100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/COUNT(*) DESC20、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 企业管理(),马克思(),OO&UML (),数据库()SELECT SUM(CASE WHEN C# ='001' THEN score ELSE 0 END)/SUM(CASE C# WHEN '001' THEN 1 ELSE 0 END) AS 企业管理平均分,100 * SUM(CASE WHEN C# = '001' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# WHEN '002' THEN 1 ELSE 0 END) AS 马克思平均分,100 * SUM(CASE WHEN C# = '002' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '002' THEN 1 ELSE 0 END) AS 马克思及格百分数,SUM(CASE WHEN C# = '003' THEN score ELSE 0 END)/SUM(CASE C# WHEN '003' THEN 1 ELSE 0 END) AS UML平均分,100 * SUM(CASE WHEN C# = '003' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '003' THEN 1 ELSE 0 END) AS UML及格百分数,SUM(CASE WHEN C# = '004' THEN score ELSE 0 END)/SUM(CASE C# WHEN '004' THEN 1 ELSE 0 END) AS 数据库平均分,100 * SUM(CASE WHEN C# = '004' AND score >= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '004' THEN 1 ELSE 0 END) AS 数据库及格百分数FROM SC21、查询不同老师所教不同课程平均分从高到低显示SELECT max(Z.T#) AS 教师ID,MAX(Z.Tname) AS 教师姓名,C.C# AS 课程ID,MAX(ame) AS 课程名称,AVG(Score) AS 平均成绩FROM SC AS T,Course AS C ,Teacher AS Zwhere T.C#=C.C# and C.T#=Z.T#GROUP BY C.C#ORDER BY AVG(Score) DESC22、查询如下课程成绩第名到第名的学生成绩单:企业管理(),马克思(),UML (),数据库()[学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩SELECT DISTINCT top 3SC.S# As 学生学号,Student.Sname AS 学生姓名,T1.score AS 企业管理,T2.score AS 马克思,T3.score AS UML,T4.score AS 数据库,ISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0) as 总分FROM Student,SC LEFT JOIN SC AS T1ON SC.S# = T1.S# AND T1.C# = '001'LEFT JOIN SC AS T2ON SC.S# = T2.S# AND T2.C# = '002'LEFT JOIN SC AS T3ON SC.S# = T3.S# AND T3.C# = '003'LEFT JOIN SC AS T4ON SC.S# = T4.S# AND T4.C# = '004'WHERE student.S#=SC.S# andISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)NOT IN(SELECTDISTINCTTOP 15 WITH TIESISNULL(T1.score,0) + ISNULL(T2.score,0) + ISNULL(T3.score,0) + ISNULL(T4.score,0)FROM scLEFT JOIN sc AS T1ON sc.S# = T1.S# AND T1.C# = 'k1'LEFT JOIN sc AS T2ON sc.S# = T2.S# AND T2.C# = 'k2'LEFT JOIN sc AS T3ON sc.S# = T3.S# AND T3.C# = 'k3'LEFT JOIN sc AS T4ON sc.S# = T4.S# AND T4.C# = 'k4'ORDER BY ISNULL(T1.score,0) + ISNULL(T2.score,0) +ISNULL(T3.score,0) + ISNULL(T4.score,0) DESC);23、统计列印各科成绩,各分数段人数:课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]SELECT SC.C# as 课程ID, Cname as 课程名称,SUM(CASE WHEN score BETWEEN 85 AND 100 THEN 1 ELSE 0 END) AS [100 - 85],SUM(CASE WHEN score BETWEEN 70 AND 85 THEN 1 ELSE 0 END) AS [85 - 70],SUM(CASE WHEN score BETWEEN 60 AND 70 THEN 1 ELSE 0 END) AS [70 - 60],SUM(CASE WHEN score < 60 THEN 1 ELSE 0 END) AS [60 -] FROM SC,Coursewhere SC.C#=Course.C#GROUP BY SC.C#,Cname;24、查询学生平均成绩及其名次SELECT 1+(SELECT COUNT( distinct 平均成绩)FROM (SELECT S#,AVG(score) AS 平均成绩FROM SCGROUP BY S#) AS T1WHERE 平均成绩> T2.平均成绩) as 名次,S# as 学生学号,平均成绩FROM (SELECT S#,AVG(score) 平均成绩FROM SCGROUP BY S#) AS T2ORDER BY 平均成绩desc;25、查询各科成绩前三名的记录:(不考虑成绩并列情况)SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 3 scoreFROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#;26、查询每门课程被选修的学生数select c#,count(S#) from sc group by C#;27、查询出只选修了一门课程的全部学生的学号和姓名select SC.S#,Student.Sname,count(C#) AS 选课数from SC ,Studentwhere SC.S#=Student.S# group by SC.S# ,Student.Sname havingcount(C#)=1;28、查询男生、女生人数Select count(Ssex) as 男生人数from Student group by Ssex having Ssex='男';Select count(Ssex) as 女生人数from Student group by Ssex having Ssex='女';29、查询姓“张”的学生名单SELECT Sname FROM Student WHERE Sname like '张%';30、查询同名同性学生名单,并统计同名人数select Sname,count(*) from Student group by Sname having count(*)>1;;31、年出生的学生名单(注:Student表中Sage列的类型是datetime)select Sname, CONVERT(char (11),DATEPART(year,Sage)) as agefrom studentwhere CONVERT(char(11),DATEPART(year,Sage))='1981';32、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列Select C#,Avg(score) from SC group by C# order by Avg(score),C# DESC ;33、查询平均成绩大于的所有学生的学号、姓名和平均成绩select Sname,SC.S# ,avg(score)from Student,SCwhere Student.S#=SC.S# group by SC.S#,Sname havingavg(score)>85;34、查询课程名称为“数据库”,且分数低于的学生姓名和分数Select Sname,isnull(score,0)from Student,SC,Coursewhere SC.S#=Student.S# and SC.C#=Course.C# and ame='数据库'and score <60;35、查询所有学生的选课情况;SELECT SC.S#,SC.C#,Sname,CnameFROM SC,Student,Coursewhere SC.S#=Student.S# and SC.C#=Course.C# ;36、查询任何一门课程成绩在分以上的姓名、课程名称和分数;SELECT distinct student.S#,student.Sname,SC.C#,SC.scoreFROM student,ScWHERE SC.score>=70 AND SC.S#=student.S#;37、查询不及格的课程,并按课程号从大到小排列select c# from sc where scor e <60 order by C# ;38、查询课程编号为且课程成绩在分以上的学生的学号和姓名;select SC.S#,Student.Sname from SC,Student where SC.S#=Student.S# and Score>80 and C#='003';39、求选了课程的学生人数select count(*) from sc;40、查询选修“叶平”老师所授课程的学生中,成绩最高的学生姓名及其成绩select Student.Sname,scorefrom Student,SC,Course C,Teacherwhere Student.S#=SC.S# and SC.C#=C.C# and C.T#=Teacher.T# and Teacher.Tname='叶平' and SC.score=(select max(score)from SC whereC#=C.C# );41、查询各个课程及相应的选修人数select count(*) from sc group by C#;42、查询不同课程成绩相同的学生的学号、课程号、学生成绩select distinct A.S#,B.score from SC A ,SC B where A.Score=B.Score and A.C# <>B.C# ;43、查询每门功成绩最好的前两名SELECT t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数FROM SC t1WHERE score IN (SELECT TOP 2 scoreFROM SCWHERE t1.C#= C#ORDER BY score DESC)ORDER BY t1.C#;44、统计每门课程的学生选修人数(超过人的课程才统计)。

创建MySchool数据库和表

创建MySchool数据库和表

DROP TABLE [ IF EXISTS ] 表名
练习-创建表Subject
练习
需求说明 – 检查判断课程表Subject是否已存在
• 若存在该表,则先执行删除,再创建新表 – 使用SQL语句创建课程表Subject
• 设置SubjectNo 为主键约束
序号
列名称
1
SubjectNo
列说明 课程编号
序号 1 2 3 4
列名称 StudentNo SubjectNo ExamDate StudentResult
列说明 学号 课程编号 考试日期 考试成绩
类型 int int datetime int
长度
属性 非空 非空 非空 非空
备注
常见问题及解决办法 代码规范问题 调试技巧
共性问题集中讲解
共性问题集中讲解
create_specification: [DEFAULT] CHARACTER SET <数据库字符集> | [DEFAULT] COLLATE collation_name
语法
删除数据库语法
删除MySchool数据库
DROP DATABASE [ IF EXISTS ] “数据库名”
创建数据库示例
总结
提问
如何使用MySQL语句创建、删除数据库? 如何使用MySQL语句创建、删除数据库表? 什么是MySQL的数据库主键约束,如何添加? 简述MySQL与SQL Server数据类型的差异
作业2-1
创建MySchool数据库中的学生信息表 Student,并设置 StudentNo为主键约束
• mysqlpath为MySQL 安装目录下的bin目录 – 键入命令

sql创建学生表

sql创建学生表

sql创建学生表一、概述在数据库管理系统中,学生表是一种常见的表格数据结构,用于存储学生的相关信息。

通过使用SQL(Structured Query Language)语言,我们可以轻松创建学生表并定义其结构。

本文将详细介绍如何使用SQL创建学生表,并给出相关的示例代码和解释。

二、创建学生表的步骤创建学生表的过程主要包括以下几个步骤:2.1 创建数据库在开始创建学生表之前,我们需要先创建一个数据库。

数据库是用来存储表格和其他数据对象的容器。

可以使用以下SQL语句创建一个名为”student_db”的数据库:CREATE DATABASE student_db;2.2 连接到数据库创建数据库之后,我们需要连接到该数据库,以便于执行后续的SQL操作。

可以使用以下SQL语句连接到名为”student_db”的数据库:USE student_db;2.3 创建学生表接下来,我们可以使用CREATE TABLE语句创建学生表。

学生表的结构由列和数据类型组成。

下面是一个示例的CREATE TABLE语句,用于创建一个名为”students”的学生表:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10),major VARCHAR(50));在上述的CREATE TABLE语句中,我们定义了5个列,分别是id、name、age、gender和major。

其中,id列被指定为主键,用于唯一标识每个学生记录。

name、age、gender和major列分别用于存储学生的姓名、年龄、性别和专业信息。

2.4 插入数据创建学生表后,我们可以使用INSERT INTO语句向表中插入数据。

下面是一个示例的INSERT INTO语句,用于向”students”表中插入一条学生记录:INSERT INTO students (id, name, age, gender, major)VALUES (1, '张三', 20, '男', '计算机科学');在上述的INSERT INTO语句中,我们指定了要插入的列和对应的值。

用SQL语句创建表用SQL语句创建数据库

用SQL语句创建表用SQL语句创建数据库

⽤SQL语句创建表⽤SQL语句创建数据库数据库中的所有数据存储在表中。

数据表包括⾏和列。

列决定了表中数据的类型。

⾏包含了实际的数据。

例如,数据库pubs中的表authors有九个字段。

其中的⼀个字段名为为au_lname,这个字段被⽤来存储作者的名字信息。

每次向这个表中添加新作者时,作者名字就被添加到这个字段,产⽣⼀条新记录。

通过定义字段,你可以创建⼀个新表。

每个字段有⼀个名字和⼀个特定的数据类型(数据类型在后⾯的“字段类型”⼀节中讲述),例如字段au_lname存储的是字符型数据。

⼀个字段也可以存储其它类型的数据。

使⽤SQL Sever,创建⼀个新表的⽅法是很多的。

你可以可执⾏⼀个SQL语句或使⽤SQL事务管理器(SQL Enterprise Manager)来创建⼀个新表。

在下⼀节⾥,你将学会如何⽤SQL语句来创建⼀个新表。

⼀、⽤CREATE语句创建表注意:如果你还没有建⽴⾃⼰的数据库,现在就跳回到第三章创建这个库。

你绝不能向master,tempdb或任何其他任何系统数据库中添加数据。

从SQL Sever程序组(在任务栏中)中启动ISQL/w程序。

出现查询窗⼝后,从窗⼝顶部的下拉列表中选择你在第三章所创建的数据库。

下⼀步,在查询窗⼝中键⼊下⾯的SQL语句,单击执⾏查询按钮,执⾏这个语句:CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)如果⼀切正常,你会在结果窗⼝中看到如下的⽂字(如果出现异常,请参阅第三章):This command dit not return data ,and it did not return any rows祝贺你,你已经建⽴了你的第⼀个表!你所创建的表名为guestbook,你可以使⽤这个表来存储来字你站点访问者的信息。

你是⽤CREATE TABLE语句创建的这个表,这个语句有两部分:第⼀部份指定表的名字;第⼆部份是括在括号中的各字段的名称和属性,相互之间⽤逗号隔开。

mysql建学生表语句

mysql建学生表语句

1SQ L 创建⼀个存储学⽣信息表CREATE TABLE `students` ( `id` INT (11) NOT NULL AUTO_INCREMENT, `name` VARCHAR (100) NOT NULL COMMENT '姓名', `gender` ENUM ('Male', 'Female') NOT NULL COMMENT '性别', `age` INT (3) NOT NULL COMMENT '年龄', `email` VARCHAR (100) NOT NULL DEFAULT '' COMMENT '电⼦邮件地址', PRIMARY KEY (`id`)) ENGINE =InnoDB DEFAULT CHARSET =utf8mb4; -- 解释:-- CREATE TABLE 创建名为 students 的新表-- id 字段为整型且⾃动递增,作为主键-- name 字段为最⼤⻓度为100的可变字符类型,不能为空,并附带注释说明-- gender 字段为枚举类型,只能是'Male'或'Female',不能为空-- age 字段为整数类型,表示学⽣的年龄,不能为空-- email 字段为最⼤⻓度为100的可变字符类型,不能为空,默认为空字符串(''),并有注释说明其⽤途-- ENGINE=InnoDB 指定存储引擎为InnoDB ,它⽀持事务和⾏级锁定等特性-- CHARSET=utf8mb4 设置字符集为utf8mb4,以⽀持更⼴泛的Unicode 字符123456789101112131415161718SQL。

SQL-Server实例(创建表-插入-查询)

SQL-Server实例(创建表-插入-查询)

题目11、学校图书馆借书信息管理系统建立三个表:学生信息表:student图书表:book借书信息表:borrow请编写SQL语句完成以下的功能:1)查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:2)查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:3)查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示:4)查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:附加:建表语句:标准答案:题目2程序员工资表:ProWage创建一个存储过程,对程序员的工资进行分析,月薪1500到10000不等,如果有百分之五十的人薪水不到2000元,给所有人加薪,每次加100,再进行分析,直到有一半以上的人大于2000元为止,存储过程执行完后,最终加了多少钱?例如:如果有百分之五十的人薪水不到2000,给所有人加薪,每次加100元,直到有一半以上的人工资大于2000元,调用存储过程后的结果如图:请编写T-SQL来实现如下功能:1)创建存储过程,查询是否有一半程序员的工资在2200、3000、3500、4000、5000或6000元之上,如果不到分别每次给每个程序员加薪100元,至之一半程序员的工资达到2200,3000,3500,4000,5000或6000元。

2)创建存储过程,查询程序员平均工资在4500元,如果不到则每个程序员每次加200元,至到所有程序员平均工资达到4500元。

建表语句题目3:学生成绩信息三个表,结构如下:学生表:Member课程表:成绩表:Score请编写T-SQL语句来实现如下功能:1)查询各个学生语文、数学、英语、历史课程成绩,例如下表:2)查询四门课中成绩低于70分的学生及相对应课程名和成绩。

3)统计各个学生参加考试课程的平均分,且按平均分数由高到底排序。

sql 建表结构

sql 建表结构

sql 建表结构全文共四篇示例,供读者参考第一篇示例:SQL是Structured Query Language的缩写,即结构化查询语言,是一种用于管理关系型数据库的标准化语言。

在SQL中,用CREATE TABLE语句来创建表格结构,定义表格的字段及其属性。

通过SQL的建表结构,可以有效地组织和管理数据,提高数据的存储和检索效率。

在进行数据库设计之前,首先需要考虑数据库中需要存储什么类型的数据,以及这些数据之间的关系。

然后,根据设计好的数据模型,用CREATE TABLE语句来创建对应的表格结构。

下面以一个简单的学生信息管理系统为例,来介绍如何使用SQL建立表格结构。

假设我们需要存储学生的基本信息,包括学号、姓名、性别、年龄和手机号码。

我们首先创建一个名为Students的表格,结构如下:```sqlCREATE TABLE Students (student_id INT PRIMARY KEY,name VARCHAR(50),gender CHAR(1),age INT,phone_number VARCHAR(11));```在上面的CREATE TABLE语句中,我们先指定了表格的名称为Students。

然后定义了五个字段,分别为student_id、name、gender、age和phone_number。

PRIMARY KEY关键字表示student_id字段为主键,用于唯一标识每个学生的信息。

VARCHAR 和CHAR是用来定义字段类型的,表示可变长度字符串类型和固定长度字符串类型。

在括号中的数字表示字段的最大长度限制。

除了基本信息之外,有时候我们还需要存储一些附加信息,比如学生的课程成绩。

我们可以创建一个名为Scores的表格,结构如下:在上面的CREATE TABLE语句中,我们定义了三个字段,分别为student_id、course_id和score。

PRIMARY KEY (student_id, course_id)表示同时将student_id和course_id两个字段作为复合主键,确保每个学生在每门课程上只有一条成绩记录。

SQL语句创建学生信息数据库表的示例53742

SQL语句创建学生信息数据库表的示例53742

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere o=o and sc.Grade between 70 and 804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。

使用tsql语句创建表.doc

使用tsql语句创建表.doc

使用tsql语句创建表SQL语句创建学生信息数据库表的示例用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student ()Course表结构Create table course ()SC表结构Cno varchar(10) primary key, Cname varchar(20) not null, Ccredit intcheck(Sctedit&gt;0), Semester int check(Semester&gt;0), Period int check(Period&gt;0)Sno varchar(7) primary key, Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’), Sage int check(Sagebetary key (Sno,Cno)1.查询学生选课表中的全部数据。

SELECT * FROM SC go2.查询计算机系学生的姓名、年龄。

Select Sname,Sage From StudentN&lt;列名&gt; &lt;数据类型&gt; ];[例]4 删除表的语句:DROP TABLE&lt;表名&gt;5 增加、删除索引三. 实验内容1. 创建学生-课程数据库(命名为S_T),然后在S_T数据库中创建学生情况表Student,课程表Course,学生选课表SC。

各种表的表结构如下:表3-2 Course表结构1) 修改表结构? 将course表的cpno的长度改为3? 将student表中的sdept列的长度改为50? 给student表中的ssex列的增加默认约束,默认值为“男”? 为course表增加一列teacher,char(8) ? 删除course表的teacher列? 为sc增加主键约束,约束建立在sno,o两列上,命名为s_c 答案--修改表中字段列的长度--将course表的cpno的长度改为3--将student表中的sdept列的长度改为50alter table course alter column Cpno char(3) alter table student altercolumn sdept char(50) --修改表位列增加约束--给student表中的ssex列的增加默认约束,默认值为“男”alter table student add constraint df_stu_sex default(&#39;男&#39;) for Ssex --修改表增加新列--为course表增加一列teacher,char(8) alter table course add teacher char(8)--修改表删除列:? 删除course表的teacher列alter table course drop column teacher--修改表添加主键约束:? 为sc增加主键约束,约束建立在sno,o两列上,命名为s_calter table SC add constraint pk_SC_sc primary key(Sno,Cno)2. 完成课后练习的SPJ数据库及相应的S、P、J表的建立,并按照以下的要求补充:? 为每个表设一个主键? 为S表增加一个唯一索引s_sno为p表增加一个索引p_pno,要求降序为J表增加一个索引j_jno 为SPJ表加外键约束为SPJ表增加列qty的检查约束,要求qty&gt;0为SPJ表增加索引spj_sno_pno_jno,要求索引列sno用降序,pno、jno用升序3. 预习INSERT INTO语句的用法,完成以上所有数据库表的记录输入答案use master --进入当前需要使用的数据库go--创建spj数据库create database spj ON --数据文件(name=&#39;spj_db&#39;,filename =&#39;E:\SQL Server2005\database\spj(来自:.Bothdf&#39;, size =3,maxsize = 10, filegroe=&#39;spj_log&#39;,filename =&#39;E:\SQL Server2005\database\spj_log.ldf&#39;, size=1,maxsize=10, filegroary key,--主键供应商代码Sname varchar(20),--供应商姓名Sstatus int,--供应商状态City varchar(10),--供应商所在地) gocreate table p --创建零件表(Pno char(5) not null primary key,--零件代码Pname varchar(20) not null,--零件名Color varchar(10),--颜色ary key,--项目代码Jnamevarchar(20) not null,--项目名称City varchar(10),--项目所在城市) go create table spj --创建供应情况表(Sno char(5) not null REFERENCES S(Sno), --供应商代码Pno char(5) not null REFERENCES P(Pno),--零件代码Jno char(5) not null REFERENCES J(Jno),--工程项目代码Qty int,--供应数量primary key(Sno,Pno,Jno) ) go--为表创建索引create unique index s_sno on s(Sno) create index p_pno on p(Pno DESC) create index j_jno on j(Jno)create index spj_sno_pno_jno on spj(Sno DESC,Pno,Jno) --为SPJ表加外键约束alter table spj add constraint fk_sno foreign key (sno) references s(sno) alter table spj add constraint fk_pno foreign key (pno) references p(pno) alter table spj add constraint fk_jno foreign key (pno) references j(jno)--为表添加check约束alter table spj add constraint ck_qty check(Qty&gt;0) go--向数据库表中插入数据insert into s values(&#39;s1&#39;,&#39;精益&#39;,20,&#39;天津&#39;) insert into s values(&#39;s2&#39;,&#39;盛锡&#39;,10,&#39;北京&#39;) insert into s values(&#39;s3&#39;,&#39;东方红&#39;,30,&#39;北京&#39;)篇三:通过SQL语句创建与管理数据表实验二实验二通过SQL语句创建与管理数据表一、实验目的(1)掌握查询分析器的使用。

书写一条增加某个学生完整记录信息的sql语句

书写一条增加某个学生完整记录信息的sql语句

在编写SQL语句时,我们要根据具体的数据库表结构和需求来进行操作。

以下是一条增加某个学生完整记录信息的SQL语句的示例:1. 我们需要确认该学生信息的表结构和字段,例如学生ID、尊称、芳龄、性莂、家庭位置区域等。

2. 假设我们的数据库中有名为“students”的表,字段包括“student_id”(学生ID)、“name”(尊称)、“age”(芳龄)、“gender”(性莂)、“address”(家庭位置区域)等。

3. 如果我们要增加学生的完整记录信息,可以使用INSERT INTO语句。

下面是一条简单的示例SQL语句:```sqlINSERT INTO students (student_id, name, age, gender, address) VALUES (1, '张三', 20, '男', '北京市海淀区');```在这条SQL语句中,我们通过INSERT INTO语句指定要插入数据的表名和字段名,然后使用VALUES关键字指定要插入的具体数值。

这样就可以向表中增加某个学生的完整记录信息。

当然,根据实际情况,我们可能需要根据学生ID等条件来进行数据更新或插入,或者执行其他复杂的操作。

因此在实际操作中需要根据具体情况灵活运用SQL语句。

当我们在数据库中插入或更新学生的完整记录信息时,需要考虑一些重要的因素和技巧。

以下是一些针对学生信息更新的SQL语句的补充内容:4. 如果要更新已有学生的记录信息,可以使用UPDATE语句。

假设现在我们需要更新学生ID为1的学生的信息,可以使用以下示例SQL 语句:```sqlUPDATE studentsSET name = '李四', age = 21, gender = '女', address = '上海市浦东新区'WHERE student_id = 1;```在这条SQL语句中,我们使用UPDATE语句指定要更新的表的名称,然后使用SET关键字指定要更新的字段和值。

java ddl语句

java ddl语句

java ddl语句Java DDL(Data Definition Language)语句用于定义和管理数据库对象,例如表、视图和索引。

以下是10个符合要求的DDL语句示例。

1. 创建表:```sqlCREATE TABLE 学生(学号 INT PRIMARY KEY,姓名 VARCHAR(50) NOT NULL,年龄 INT,专业 VARCHAR(50));```该语句创建一个名为“学生”的表,包含学号、姓名、年龄和专业四个列。

2. 添加列:```sqlALTER TABLE 学生ADD COLUMN 性别 VARCHAR(10);```该语句在已存在的“学生”表中添加了一个名为“性别”的列。

3. 删除表:```sqlDROP TABLE 学生;```该语句删除名为“学生”的表及其所有数据。

4. 创建索引:```sqlCREATE INDEX 学生_姓名_索引ON 学生(姓名);```该语句创建了一个名为“学生_姓名_索引”的索引,用于提高根据姓名进行查询的性能。

5. 修改列类型:```sqlALTER TABLE 学生ALTER COLUMN 年龄SET DATA TYPE INT;```该语句将“学生”表中的“年龄”列的数据类型修改为INT。

6. 添加主键约束:```sqlALTER TABLE 学生ADD CONSTRAINT 学生_pkPRIMARY KEY (学号);```该语句为“学生”表的“学号”列添加了主键约束。

7. 修改列名:```sqlALTER TABLE 学生RENAME COLUMN 年龄 TO 年龄段;```该语句将“学生”表中的“年龄”列改名为“年龄段”。

8. 创建视图:```sqlCREATE VIEW 学生视图AS SELECT 学号, 姓名, 专业FROM 学生WHERE 年龄段 >= 18;```该语句创建了一个名为“学生视图”的视图,显示年龄大于等于18岁的学生的学号、姓名和专业信息。

SQL语句创建学生信息数据库表的示例

SQL语句创建学生信息数据库表的示例

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere o=o and sc.Grade between 70 and 804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。

SQL语句创建学生信息数据库表的示例

SQL语句创建学生信息数据库表的示例

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),…Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),`Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),—Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo|2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere = and between 70 and 80}4.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。

建立一张用来储存学生信息的student表

建立一张用来储存学生信息的student表

建立一张用来储存学生信息的student表在关系型数据库中,可以使用 SQL 语言来创建表。

以下是一个简单的示例,用于创建一个名为 student 的表,用于存储学生信息:
CREATE TABLE student (
student_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
date_of_birth DATE,
gender CHAR(1),
major VARCHAR(50),
enrollment_year INT
);
上述 SQL 语句创建了一个包含以下字段的表:
student_id: 学生的唯一标识符,采用整数类型,并设置为主键。

first_name: 学生的名字,采用字符串类型(VARCHAR)。

last_name: 学生的姓氏,采用字符串类型(VARCHAR)。

date_of_birth: 学生的出生日期,采用日期类型(DATE)。

gender: 学生的性别,采用字符类型(CHAR)。

major: 学生的专业,采用字符串类型(VARCHAR)。

enrollment_year: 学生入学年份,采用整数类型。

你可以根据实际需要修改表的结构,例如添加更多的字段,根据需求调整字段的数据类型和约束条件。

在实际应用中,还可能需要考虑其他因素,如索引、外键等。

这只是一个简单的例子,实际的表结构设计取决于你的具体需求和使用的数据库系统。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构Create table Student(Sno varchar(7) primary key,Sname varchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage between 15 and 45),Sdept varchar(20) default(‘计算机系’))Course表结构Create table course(Cno varchar(10) primary key,Cname varchar(20) not null,Ccredit int check(Sctedit>0),Semester int check(Semester>0),Period int check(Period>0))SC表结构Create table SC(Sno varchar(7) foreign key references student(Sno),Cno varchar(10) foreign key references course(Cno),Grade int check(Grade between 0 and 100),Primary key (Sno,Cno))1.查询学生选课表中的全部数据。

SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。

Select Sname,SageFrom StudentWhere Sdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。

Select Sno,Cno,GradeFrom Course,ScWhere = and between 70 and 804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。

Select Sname,SageFrom StudentWhere Sage between 18 and 20 and Ssex=’男’and Sdept=’计算机系’go5.查询课程号为“C01”的课程的最高分数。

Select top 1 Grade select max(Grade) as 最高分From Sc from ScWhere Cno=’C01’ where Cno=’C01’Order by Grade desc order by Grade desc6.查询计算机系学生的最大年龄和最小年龄。

Select max(Sage) as 年龄最大,min(Sage) as 年龄最小From StudentWhere Sdept=’计算机系’7.统计每个系的学生人数。

Select count(Sdept) as 学生人数,SdeptFrom StudentGroup by Sdept8.统计每门课程的选课人数和考试最高分。

Select count(Sno) as选课人数,,max(Grade) as最高分From Course c left join Sc s on =Group by9.统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。

Select sno,avg(grade) as ’平均成绩’,count (cno) as ’选课门数’From scGroup by snoOrder by sno10.查询总成绩超过200分的学生,要求列出学号、总成绩。

Select sno,sum(grade)From scGroup by snoHaving sum(grade)>20011.查询选修了课程“C02”的学生的姓名和所在系。

Select sname,sdeptFrom student s1,sc s2Where = and =’c02’12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。

Select ,,From student s1,sc s2Where = and grade >80Order by grade desc13.查询哪些课程没有人选修、要求列出课程号和课程名。

Select ,From course c left join sc s on =Group by ,Having count=014.用子查询实现如下查询:(1)查询选修了课程“C01”的学生的姓名和所在系。

Select sname,sdept ,snoFrom studentWhere sno in (Select snoFrom scWhere cno=’c01’)(2)查询信息系成绩在80分以上的学生的学号、姓名。

Select sno,snameFrom studentWhere sdept=’外语系’and sno in(Select snoFrom scWhere grade>80)(3)查询计算机系考试成绩最高的学生的姓名。

Select from studentsWhere sdept=’计算机系’ and sno in(select sno from scWhere grade in(select max(Grade)from sc))15.删除选课成绩小于50分的学生的选课记录。

Delete from scWhere grade<70Select* from sc—验证16.将所有选修了课程“C01”的学生的成绩加10分:Update scSet grade=grade+10Where cno=’c01’17.将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。

Select*from scUpdate scSet grade=grade+10Where cno in(select cno from courseWhere cname=’计算机文化基础’)18.创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。

Select* from courseSelect* from studentsSelect* from scCreate view 学生基本信息AsSelect ,sname,sdept,,cname,ccreditFrom course,sc,studentsWhere =And =19.创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。

Create view s_avgAsSelect sno,avg(Grade)as 平均成绩 from scGroup by sno20.创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。

Create view s_scAsSelect ,sum(ccredit)as 总学分 fromStudents,sc,courseWhere =And =Group by21.用SQL语句创建一个名为f_1的函数,该函数能够求出3到100之间的所有素数之和。

Create function f_1()Returns intAsBeginDeclare @a int,@b int,@i int,@sum intSet @i=3Set @sum=0While @i<101BeginSet @b=0While @a<=@i/2BeginIf @i%@a=0BeginSet @b=1BreakEndSet @a=@a+1EndIf @b=0 --@b为0说明之前没有比@i小的数字可以把@i整除BeginSet @sum=@sum+@iEndSet @i=@i+1EndReturn @sumEndGoSelect ()22.用SQL语句创建一个名为f_2的函数,该函数能够求出任意两个数的最大值。

Create function f_2(@x1 int,@x2 int)returns intAsBeginDeclare @max intIf @x1>@x2Return @maxEndSelect (2,6)23.用SQL语句创建一个名为pro_get_stu_information 的存储过程,该存储过程能够根据用户指定的 Sno(学号)求出与该学号对应的学生姓名、课程名、成绩。

Create procedure pro_get_stu_information @m char(6) outputAsSelect sname,cname,grade from students,sc,courseWhere = and = and =@mExec pro_get_stu_information’0603002’24.为“学生”表创建一个依赖于“学号”的唯一的、非聚集的索引Create unique nonclustered index stu_int on students(sno)25.通过游标逐行读取“学生”表的记录Declare stu_cur cursor forSelect * from students for read onlyOpen stu_curFetch stu_curClose stu_curDeallocate stu_cur。

相关文档
最新文档