SQL语句创建学生信息数据库表地示例
SQL语句创建学生信息数据库表的示例(2)
SQL语句创建学⽣信息数据库表的⽰例(2)⽤SQL语句创建如下三个基本表:学⽣表(Student)、课程表(Course )、学⽣选课表(SC),结构如下所⽰(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( '计算机系'))(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))(Sno varchar(7) foreig n key referen ces stude nt(S no),Cno varchar(10) foreig n key references course(C no),Primary key (Sn o,C no))1.查询学⽣选课表中的全部数据。
SELECT *FROM SCgo2.查询计算机系学⽣的姓名、年龄。
Select Sn ame,SageFrom Stude ntWhere Sdept='计算机系’3.查询成绩在70?80分之间的学⽣的学号、课程号和成绩。
Select Sno,Cno ,GradeFrom Course,ScWhere course.c no=sc.C no and sc.Grade betwee n 70 and 804.查询计算机系年龄在18?20之间且性别为“男”的学⽣的姓名和年龄。
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(结构化查询语言)来定义这个表的结构。
以下是一个基本的例子,展示了如何创建一个名为"students" 的表,包含一些常见的字段:
```sql
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
date_of_birth DATE,
email VARCHAR(100),
phone_number VARCHAR(20),
address VARCHAR(255),
city VARCHAR(100),
state VARCHAR(100),
postal_code VARCHAR(20)
);
```
在这个例子中:
`id` 是一个自增的主键,用于唯一标识每个学生。
`first_name` 和 `last_name` 分别是学生的名字和姓氏。
`date_of_birth` 用于存储学生的出生日期。
`email` 和 `phone_number` 用于存储学生的联系方式。
`address`、`city`、`state` 和 `postal_code` 用于存储学生的地址信息。
你可以根据实际需求调整字段的类型和长度。
例如,如果你需要存储更详细的地址信息,可以增加更多的字段,或者使用更复杂的数据类型(如 `TEXT` 或 `JSON`)。
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语句创建如下三个基本表:学生表(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之间且性别为“男”的学生的姓名和年龄。
SQL语句创建学生信息数据库表的示例
用SQL语句创建如下三个基本表:学生表(Studen t)、课程表(Course)、学生选课表(SC),结构如下所示Studen t表结构Create table Student(Sno varchar(7) primar y key,Snamevarchar(10) not null,Ssex char (2) check(Ssex=‘男’or Ssex=’女’),Sage int check(Sage betwee n 15 and 45),Sdeptvarchar(20) defaul t(‘计算机系’))Course表结构Create tablecourse(Cno varchar(10) primar y key,Cnamevarchar(20) not null,Ccredi t int check(Sctedi t>0),Semest er int check(Semest er>0),Period int check(Period>0))SC表结构Create tableSC(Sno varcha r(7) foreig n key refere ncesstuden t(Sno),Cno varcha r(10) foreig n key refere ncescourse(Cno),Gradeint check(Gradebetwee n 0 and 100),Primar y key (Sno,Cno))1.查询学生选课表中的全部数据。
SELECT *FROM SCgo2.查询计算机系学生的姓名、年龄。
Select Sname,SageFrom Studen tWhereSdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。
创建学生表的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命令查看表结构,就可以完成创建学生表的任务。
sql数据库设计代码
sql数据库设计代码SQL数据库设计代码标题:学生信息管理系统数据库设计引言:学生信息管理系统是一种用于管理学生信息的软件系统。
通过数据库设计和编写SQL代码,可以实现学生信息的录入、查询、修改和删除等功能。
一、数据库设计1. 学生表(students)- 学生ID(id):主键,唯一标识一个学生- 姓名(name):学生的姓名- 年龄(age):学生的年龄- 性别(gender):学生的性别- 班级(class):学生所在的班级2. 课程表(courses)- 课程ID(id):主键,唯一标识一个课程- 课程名称(name):课程的名称- 学分(credit):课程的学分3. 成绩表(grades)- 学生ID(student_id):外键,关联学生表的学生ID- 课程ID(course_id):外键,关联课程表的课程ID - 成绩(score):学生在该课程中的成绩二、SQL代码示例1. 创建学生表:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10),class VARCHAR(50));2. 创建课程表:CREATE TABLE courses (id INT PRIMARY KEY,name VARCHAR(50),credit INT);3. 创建成绩表:CREATE TABLE grades (student_id INT,course_id INT,score INT,PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES students(id),FOREIGN KEY (course_id) REFERENCES courses(id));4. 插入学生信息:INSERT INTO students (id, name, age, gender, class) VALUES (1, '张三', 18, '男', '一班');5. 插入课程信息:INSERT INTO courses (id, name, credit)VALUES (1, '数学', 4);6. 插入学生成绩:INSERT INTO grades (student_id, course_id, score)VALUES (1, 1, 90);三、总结通过以上的数据库设计和SQL代码示例,我们可以实现学生信息管理系统的基本功能。
用sql语句创建学生表
用sql语句创建学生表为了创建一个学生表,我们需要考虑学生的基本信息,如学号、姓名、性别、年龄、出生日期等。
此外,还可以添加一些其他信息,如班级、专业、联系方式等。
下面是一个符合要求的学生表的创建语句,其中包括了10个字段。
```sqlCREATE TABLE student (id INT PRIMARY KEY, -- 学号name VARCHAR(50), -- 姓名gender VARCHAR(10), -- 性别age INT, -- 年龄birthday DATE, -- 出生日期class VARCHAR(50), -- 班级major VARCHAR(50), -- 专业phone VARCHAR(20), -- 联系方式address VARCHAR(100), -- 地址email VARCHAR(50) -- 邮箱);```上述语句创建了一个名为student的表,其中包含了10个字段。
每个字段都有相应的数据类型,如整数类型INT、字符串类型VARCHAR以及日期类型DATE。
每个字段都有相应的注释,以便于理解字段的含义。
字段1:id INT PRIMARY KEY该字段是学生的学号,采用整数类型INT,并设置为主键,保证了学号的唯一性和非空性。
字段2:name VARCHAR(50)该字段是学生的姓名,采用字符串类型VARCHAR,并限制长度为50个字符。
字段3:gender VARCHAR(10)该字段是学生的性别,采用字符串类型VARCHAR,并限制长度为10个字符。
字段4:age INT该字段是学生的年龄,采用整数类型INT。
字段5:birthday DATE该字段是学生的出生日期,采用日期类型DATE。
字段6:class VARCHAR(50)该字段是学生的班级,采用字符串类型VARCHAR,并限制长度为50个字符。
字段7:major VARCHAR(50)该字段是学生的专业,采用字符串类型VARCHAR,并限制长度为50个字符。
SQL语句创建学生信息数据库表地示例
用SQL 语句创建如下三个基本表:学生表 (Student )、课程表(Course )、学生选课表(SC ),结构如下所示Student 表结构(Snovarchar(7)primarykey, Snamevarchar(10)notnull,Ssexchar(2)check(Ssex= ‘男’orSsex='女’), Sageintcheck(Sagebetween15and45), Sdeptvarchar(20)default( ‘计算机系'))Course 表结构(Cnovarchar(10)primarykey, Cnamevarchar(20)notnull, Ccreditintcheck(Sctedit>0), Semesterintcheck(Semester>0), Periodintcheck(Period>0) )SC 表结构(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno), Gradeintcheck(GradebetweenOandlOO), Primarykey(Sno,Cno))1. 查询学生选课表中的全部数据。
SELECT*FROMSCgo2. 查询计算机系学生的姓名、年龄。
SelectSname,SageFromStudentWhereSdept='计算机系'3. 查询成绩在70〜80分之间的学生的学号、课程号和成绩。
SelectSno,Cno,GradeFromCourse,Sco=oandsc.Gradebetween70and804. 查询计算机系年龄在18〜20之间且性别为“男”的学生的姓名和年龄。
SelectSname,SageFromStudentWhereSagebetween18and20andSsex='男'andSdept='计算机系' go5. 查询课程号为“ C01”的课程的最高分数。
用sql建立学生表
用SQL建立学生表在数据库管理系统中,我们可以使用SQL(结构化查询语言)来创建和管理数据表。
学生表是一个常见的数据表,用于存储学生的个人信息和成绩等相关数据。
本文将详细介绍如何使用SQL语句来建立一个学生表,并满足任务要求。
1. 确定数据表结构在创建学生表之前,我们需要确定该表的结构和字段。
根据任务要求,我们可以考虑以下字段:•学生ID(student_id):唯一标识符,用于区分不同学生。
•姓名(name):学生的姓名。
•年龄(age):学生的年龄。
•性别(gender):学生的性别。
•班级(class):学生所在班级。
•成绩(score):学生的考试成绩。
2. 创建数据表在数据库中创建一个新的数据表时,我们需要使用CREATE TABLE语句,并指定表名和字段信息。
以下是一个示例的SQL语句:CREATE TABLE students (student_id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10),class VARCHAR(50),score DECIMAL(5, 2));上述语句创建了一个名为”students”的数据表,并定义了相应的字段。
•student_id字段是整数类型,并被指定为主键(PRIMARY KEY),用于唯一标识每个学生。
•name字段是字符串类型(VARCHAR),最大长度为50个字符,用于存储学生的姓名。
•age字段是整数类型,用于存储学生的年龄。
•gender字段是字符串类型,最大长度为10个字符,用于存储学生的性别。
•class字段是字符串类型,最大长度为50个字符,用于存储学生所在班级。
•score字段是十进制数类型(DECIMAL),总共有5位数字,并且保留两位小数,用于存储学生的考试成绩。
3. 插入数据创建完数据表之后,我们可以使用INSERT INTO语句向表中插入数据。
SQL语句练习——创建学生信息数据库
SQL语句练习——创建学生信息数据库--创建数据库stuDBif exists(select * from sysdatabases where name='stuDB') drop database stuDBcreate database stuDBon(name='stuDB_data',filename='D:\stuDB_data.mdf',filegrowth=15%)go--创建表stuInfo_1use stuDBif exists(select * from sysobjects where name='stuInfo_1') drop table stuInfo_1create table stuInfo_1(stuName varchar(10) not null,--学生姓名stuNo varchar(20) not null,--学号stuSex varchar(4) not null,--性别stuAge int not null,--年龄stuSeat int identity(1,1) not null,--座位号stuAddress text --地址)go--添加约束alter table stuInfo_1 add constraint UQ_stuNo unique(stuNo)alter table stuInfo_1 add constraint CK_stuNo check(stuNo like 's253%')alter table stuInfo_1 add constraint CK_stuSex check(stuSex='男' or stuSex='女')alter table stuInfo_1 add constraint CK_stuAge check(stuAge between 15 and 40)alter table stuInfo_1 add constraint CK_stuSeat check(stuSeat between 1 and 30)alter table stuInfo_1 add constraint DF_stuAddress default('地址不详') for stuAddress--插入测试数据insert into stuInfo_1 values('张秋力','s25301','男','18','北京海淀')insert into stuInfo_1 values('李斯文','s25303','女','22','河南洛阳')insert into stuInfo_1 values('张思德','s25305','男','22','湖北武汉')insert into stuInfo_1 values('梅超风','s25306','女','25','河北邯郸')insert into stuInfo_1 values('李恩达','s25307','男','27','湖南湘潭')insert into stuInfo_1 values('赵鹏飞','s25308','男','23','新疆伊利')--添加SQL帐户use stuDBgo--建立登录名exec sp_addlogin 'banzhuren','111111'exec sp_addlogin 'jiaoyuan','123456'go--允许访问数据库exec sp_grantdbaccess 'banzhuren','bzrDBUser'exec sp_grantdbaccess 'jiaoyuan','jyDBUser'go--赋予用户操作数据表的权利grant select,insert,update on stuInfo_1 to bzrDBUser grant select on stuInfo_1 to jyDBUsergo。
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之间且性别为“男”的学生的姓名和年龄。
书写一条增加某个学生完整记录信息的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关键字指定要更新的字段和值。
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创建学生信息表create table student(sno varchar(4) primary key,sname varchar(10) not null,sage decimal(3,0),ssex char(2),email varchar(20) unique,constraint ck_student_ssex_sage check(ssex in('男','女')and sage between 10 and 50))创建课程表:create table course(cno varchar(4),cname varchar(40),constraint pk_course primary key(cno))create table sc ( snum varchar(4), cnum varchar(4), score decimal(4,1), constraint pk_sc primary key(snum,cnum), constraint fk_sc_snum_student foreign key(snum)references student, constraint fk_sc_cnum_cource foreign key(cnum)references course, constraint ck_sc_score check (score between 0 and 100) )一、简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。
它们分别说明所查询列、查询的表或视图、以及搜索条件等。
例如,下面的语句查询testtable表中姓名为“张三”的nickname 字段和email字段。
(一) 选择列表例如,下面语句显示testtable表中所有列的数据:一、说明:几个简单的基本的sql语句选择:select*from table1 where范围插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where范围更新:update table1 set field1=value1 where范围查找:select*from table1 where field1 like’%value1%’ ---like的语法很精妙,查资料!排序:select*from table1 order by field1,field2 [desc]总数:select count*as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1。
数据库新建学生表作业
数据库新建学生表作业在数据库中创建学生表是一个基本的数据库设计任务。
下面是一个简单的学生表的SQL创建语句作为示例。
请注意,实际情况中,表的设计会更加复杂,取决于你的需求。
CREATE TABLE Students (StudentID INT PRIMARY KEY,FirstName VARCHAR(50),LastName VARCHAR(50),Gender CHAR(1),DateOfBirth DATE,Email VARCHAR(100) UNIQUE,Phone VARCHAR(15),Address VARCHAR(255));上述SQL语句创建了一个名为Students的表,包含以下列:•StudentID:学生的唯一标识符,使用整数类型(INT),并将其设置为主键。
•FirstName:学生的名字,使用变长字符串类型(VARCHAR)。
•LastName:学生的姓氏,同样使用VARCHAR类型。
•Gender:学生的性别,使用字符类型(CHAR),可以是'M'(男)或'F'(女)。
•DateOfBirth:学生的出生日期,使用日期类型(DATE)。
•Email:学生的电子邮件地址,使用VARCHAR类型,并将其设置为唯一键,以确保每个学生都有唯一的电子邮件。
•Phone:学生的电话号码,使用VARCHAR类型。
•Address:学生的地址,使用VARCHAR类型。
请根据实际需要进行适度的调整,例如,你可能需要添加更多的字段,比如学院、专业、入学时间等。
此外,数据类型、约束和长度等也可能需要根据具体需求进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用SQL语句创建如下三个基本表:学生表(Student)、课程表(Course)、学生选课表(SC),结构如下所示Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取‘男’或‘女’Sage年龄整数取值15~45Sdept所在院系字符串,长度为20默认为‘计算机系’CreatetableStudent(Snovarchar(7)primarykey,Snamevarchar(10)notnull,Ssexchar(2)check(Ssex=‘男’orSsex=’女’),Sageintcheck(Sagebetween15and45),Sdeptvarchar(20)default(‘计算机系’) )Course表结构列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0Createtablecourse(Cnovarchar(10)primarykey,Cnamevarchar(20)notnull,Ccreditintcheck(Sctedit>0),Semesterintcheck(Semester>0),Periodintcheck(Period>0))SC表结构列名说明数据类型约束Sno学号字符串,长度为7主码,引用Student的外码Cno课程号字符串,长度为10主码,引用Course的外码Grade成绩整数取值0~100CreatetableSC(Snovarchar(7)foreignkeyreferencesstudent(Sno),Cnovarchar(10)foreignkeyreferencescourse(Cno),Gradeintcheck(Gradebetween0and100),Primarykey(Sno,Cno))1.查询学生选课表中的全部数据。
SELECT*FROMSCgo2.查询计算机系学生的姓名、年龄。
SelectSname,SageFromStudentWhereSdept=’计算机系’3.查询成绩在70~80分之间的学生的学号、课程号和成绩。
SelectSno,Cno,GradeFromCourse,Sco=oandsc.Gradebetween70and804.查询计算机系年龄在18~20之间且性别为“男”的学生的姓名和年龄。
SelectSname,SageFromStudentWhereSagebetween18and20andSsex=’男’andSdept=’计算机系’go5.查询课程号为“C01”的课程的最高分数。
Selecttop1Gradeselectmax(Grade)as最高分FromScfromScWhereCno=’C01’whereCno=’C01’OrderbyGradedescorderbyGradedesc6.查询计算机系学生的最大年龄和最小年龄。
Selectmax(Sage)as年龄最大,min(Sage)as年龄最小FromStudentWhereSdept=’计算机系’7.统计每个系的学生人数。
Selectcount(Sdept)as学生人数,SdeptFromStudentGroupbySdept8.统计每门课程的选课人数和考试最高分。
Selectcount(Sno)as选课人数, c.Sno,max(Grade)as最高分o=oo9.统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。
Selectsno,avg(grade)as’平均成绩’,count(cno)as’选课门数’FromscGroupbysnoOrderbysno10.查询总成绩超过200分的学生,要求列出学号、总成绩。
Selectsno,sum(grade)FromscGroupbysnoHavingsum(grade)>20011.查询选修了课程“C02”的学生的姓名和所在系。
Selectsname,sdeptFromstudents1,scs2Wheres1.sno=o=’c02’12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
Selects1.sname,o,s2.gradeFromstudents1,scs2Wheres1.sno=s2.snoandgrade>80Orderbygradedesc13.查询哪些课程没有人选修、要求列出课程号和课程名。
o,ameo=oo,ameHavingcount(s.sno)=014.用子查询实现如下查询:(1)查询选修了课程“C01”的学生的姓名和所在系。
Selectsname,sdept,snoFromstudentWheresnoin(SelectsnoFromscWherecno=’c01’)(2)查询信息系成绩在80分以上的学生的学号、姓名。
Selectsno,snameFromstudentWheresdept=’外语系’andsnoin(SelectsnoFromscWheregrade>80 )(3)查询计算机系考试成绩最高的学生的姓名。
Selects1.snamefromstudentsWheresdept=’计算机系’andsnoin(selectsnofromscWheregradein(selectmax(Grade)fromsc))15.删除选课成绩小于50分的学生的选课记录。
DeletefromscWheregrade<70Select*fromsc—验证16.将所有选修了课程“C01”的学生的成绩加10分:UpdatescSetgrade=grade+10Wherecno=’c01’17.将计算机系所有选修了课程“计算机文化基础”课程的学生的成绩加10分。
Select*fromscUpdatescSetgrade=grade+10Wherecnoin(selectcnofromcourseWherecname=’计算机文化基础’)18.创建查询学生的学号、姓名、所在系、课程号、课程名、课程学分的视图。
Select*fromcourseSelect*fromstudentsSelect*fromscCreateview学生基本信息AsSelectstudents.sno,sname,sdept,o,cname,ccredit Fromcourse,sc,studentso=oo=students.sno19.创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。
Createviews_avgAsSelectsno,avg(Grade)as平均成绩fromscGroupbysno20.创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。
Createviews_scAsSelectstudents.sno,sum(ccredit)as总学分from Students,sc,courseWherestudents.sno=sc.snoo=oGroupbystudents.sno21.用SQL语句创建一个名为f_1的函数,该函数能够求出3到100之间的所有素数之和。
Createfunctionf_1()ReturnsintAsBeginDeclare@aint,@bint,@iint,@sumintSet@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@sumEndGoSelectdbo.f_1()22.用SQL语句创建一个名为f_2的函数,该函数能够求出任意两个数的最大值。
Createfunctionf_2(@x1int,@x2int)returnsintAsBeginDeclare@maxintIf@x1>@x2Return@maxEndSelectdbo.f_2(2,6)23.用SQL语句创建一个名为pro_get_stu_information的存储过程,该存储过程能够根据用户指定的Sno(学号)求出与该学号对应的学生姓名、课程名、成绩。
Createprocedurepro_get_stu_information@mchar(6)outputAsSelectsname,cname,gradefromstudents,sc,course Wherestudents.sno=o=oandsc.sno=@m Execpro_get_stu_information’0603002’24.为“学生”表创建一个依赖于“学号”的唯一的、非聚集的索引Createuniquenonclusteredindexstu_intonstudents(sno) 25.通过游标逐行读取“学生”表的记录Declarestu_curcursorforSelect*fromstudentsforreadonlyOpenstu_curFetchstu_curClosestu_curDeallocatestu_cur。