SQL语句创建学生信息数据库表的示例
- 格式:doc
- 大小:67.50 KB
- 文档页数:8
序号:云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:2015-2016学年第二学期任课教师:张云春专业:信息安全学号:20141120206 姓名:严鑫成绩:实验3使用SQL语句创建并管理数据库做删除或修改操作时,请注意备份数据库一、CAP数据库1、用T-SQL语句创建并管理数据库CAP:记录创建数据库的SQL语句。
CREATE DATABASE capon(name='cap',filename='d:\cap.mdf',size=5mb,maxsize=30mb,filegrowth=10%)log on(name='caplog',filename='d:\cap.ldf',size=5mb,maxsize=25mb,filegrowth=1mb)2、修改数据库:将“CAP数据库”的数据库最大容量更改为无限制(UNLIMITED),然后将“CAP数据库”的日志文件增长方式改为2MB。
记录SQL语句。
alter database capmodify file(name=cap,filename='d:\cap.mdf',maxsize=unlimited)alter database capmodify file(name=caplog,filename='d:\cap.ldf',filegrowth=2)3、用T-SQL语句在“CAP数据库”创建数据表,数据表的结构见教材。
记录创建表的SQL语句。
create table customers(cid char(10)not null,cname char(10)not null,city char(10)not null,discnt char(10)null,primary key(cid))create table agents(aid char(10)not null,aname char(10)not null,city char(10)not null,[percent]char(10)null,primary key(aid))create table products(pid char(10)not null, pname char(10)not null, city char(10)not null, quantity char(10)not null, price char(10)not null, primary key(pid))create table orders(ordno char(10)not null, [month]char(10)not null, cid char(10)not null,aid char(10)not null,pid char(10)not null,qty char(10)not null, dollars char(10)not null, primary key(ordno))4、向表中添加记录,使用Insert Into 语句分别向四张表中添加教材上的数据记录。
数据库创建表的sql语句SQL(StructuredQueryLanguage)是一种标准化的用于访问和处理数据库的语言,它创建、修改和删除表和数据库中的数据。
此外,SQL还可以执行其他复杂的数据库管理任务,如设置安全级别、获取表的统计信息等等。
SQL语句用于创建数据库表格,指定表格的字段(表头)及各字段的属性,以及索引等。
创建表格是必须要做的第一步,而创建表格的语句就是CREATE TABLE,下面我们就来更详细地介绍如何使用CREATE TABLE语句创建一个表格。
首先,在创建表格之前,需要先选择相应的数据库。
通过USE语句切换到指定的数据库:USE [database_name];接着,可以使用CREATE TABLE语句来创建表格,CREATE TABLE 语句可以根据你的需要自定义表的结构:CREATE TABLE [table_name] ( column1 datatype(size), column2 datatype(size), column3 datatype(size), .... )以上这段话引用的是Microsoft SQL Server文档中的CREATE TABLE语句的基本语法。
其中,table_name是指要创建的表格的表名,column1,column2,column3…分别表示表格中的字段,datatype指定每个字段的数据类型,size指定每个字段数据类型的最大长度(即可以存储的最大文本长度或者数字长度)。
例如,你可以创建一个名为“Students”的表,包含一些学生的基本信息,如姓名、年龄、成绩等,语句如下:CREATE TABLE Students(Name VARCHAR(50),Age INT,Grade FLOAT)在上面的例子中,要创建的表格名为“Students”,包含三个字段:Name(字符串类型,最大长度为50),Age(整型),Grade(浮点型)。
创建数据库表的语句
创建数据库表的语句是用来建立数据库表格的命令。
在SQL数据库中,有多种用于创建表的命令,其中最常用的是 CREATE TABLE 语句。
CREATE TABLE 语句包含表名、列名、数据类型等信息,用于定义表的基本结构。
CREATE TABLE 语句的语法如下:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
.....
);
其中,table_name 是新建表的名称,column 是表的列名,datatype 是数据类型。
可以使用以下命令来创建一个名为 students 的表:
CREATE TABLE students (
id int,
name varchar(255),
age int,
gender char(1)
);
这个语句将创建一个包含 id、name、age 和 gender 四个列的
表格。
其中,id 列的数据类型是整数型,name 列的数据类型是字符串型,长度为 255,age 列的数据类型是整数型,gender 列的数据类型是字符型,长度为 1。
当表格创建完成后,可以使用 INSERT INTO 语句向表格中添加数据,使用 SELECT 语句查询表格中的数据,使用 UPDATE 语句更新表格中的数据,使用 DELETE 语句删除表格中的数据。
实验4 SQL 语言——SELECT 查询操作1实实验验44 S S Q Q L L 语语言言————S S E E L L E E C C T T 查查询询操操作作实验示例实验示例中要使用包括如下三个表的“教学管理”数据库JXGL :(1)学生表Student ,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为Sno 。
(2)课程表Course ,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为Cno 。
(3)学生选课SC ,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。
1、在SQL SERVER 查询分析器或企业管理器(以具有相应操作权限的某用户登录)的SQL 操作窗口中执行如下命令创建数据库。
需要说明的是不同数据库系统其创建数据库的命令或方式有所不同。
CREATE DATABASE JXGL2、刷新数据库目录后,选择新出现的JXGL 数据库,在SQL 操作窗口中,创建Student 、SC 、Course 三表及表记录插入命令如下:Create Table Student( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno),Sname VARCHAR(20),Sage SMALLINT CHECK(Sage>=15 AND Sage<=45),Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='女'),Sdept CHAR(2));Create Table Course( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno),Cname VARCHAR(20),Cpno CHAR(2),Ccredit SMALLINT);Create Table SC( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL,Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN 0 AND 100)),PRIMARY KEY(Sno,Cno),数据库原理与应用实验指导2FOREIGN KEY(Cno) REFERENCES Course(Cno));INSERT INTO Student VALUES('98001','钱横',18,'男','CS');INSERT INTO Student VALUES('98002','王林',19,'女','CS');INSERT INTO Student VALUES('98003','李民',20,'男','IS');INSERT INTO Student VALUES('98004','赵三',16,'女','MA');INSERT INTO Course VALUES('1','数据库系统', '5',4);INSERT INTO Course VALUES('2','数学分析',null ,2);INSERT INTO Course VALUES('3','信息系统导论','1',3);INSERT INTO Course VALUES('4','操作系统原理','6',3);INSERT INTO Course VALUES('5','数据结构','7',4);INSERT INTO Course VALUES('6','数据处理基础',null,4);INSERT INTO Course VALUES('7','C 语言','6',3);INSERT INTO SC VALUES('98001','1',87);INSERT INTO SC VALUES('98001','2',67);INSERT INTO SC VALUES('98001','3',90);INSERT INTO SC VALUES('98002','2',95);INSERT INTO SC VALUES('98002','3',88);[例1] 查考试成绩大于等于90的学生的学号。
学生管理数据库
1. 创建学生管理数据库Student
使用T-SQL语言创建学生管理系统的数据库,物理文件存取路径:E:\STUDENT\,数据文件Student.mdf,初始大小为5MB,允许自动增长,最大为40MB;日志文件Student_log.ldf 初始大小为3MB,最大为30 MB。
2. 创建学生管理数据库Student中各个表
表1 学生信息数据表(Students)
表2 班级信息数据表(Classes)
表3 教师信息数据表(Teachers)
表4 教师-课程记录数据表(Teacher_course)
表5 课程信息数据表(Courses)
表6学生-课程记录数据表(Student_course)
3.为Student数据库中各表设置相应的约束,以确保Student数据库的数据完整性Student数据库的Students表约束
Student数据库的Classes表约束
Student数据库的Teachers表约束
Student数据库的Teacher_course表约束
Student数据库的Courses表约束
Student数据库的Student_course表约束
Student数据库的Students表数据
Student数据库的Classes表数据
Student数据库的Teachers表数据
Student数据库的Teacher_course表数据
Student数据库的Courses表数据
Student数据库的Student_course表数据。
使用stu中的student表1. 概述在数据库管理系统中,表是一种存储数据的结构,而学生表(student table)是其中一种常见的表。
学生表通常用于存储与学生相关的信息,例如学生的学号、姓名、年龄、性别、班级等。
在本文中,我们将探讨如何使用stu中的student表,以及如何对该表进行各种操作。
2. 创建表在使用stu中的student表之前,我们需要先创建该表。
为了创建学生表,我们需要定义表的结构和字段。
下面是一种常见的学生表的结构:字段名类型说明学号字符串主键,唯一值姓名字符串年龄整数性别字符串班级字符串通过使用SQL语句,我们可以在stu数据库中创建一个名为student的表,并定义以上字段。
创建表的SQL语句如下:CREATE TABLE student (学号 VARCHAR(10) PRIMARY KEY,姓名 VARCHAR(20),年龄 INT,性别 VARCHAR(2),班级 VARCHAR(10));3. 插入数据创建完学生表后,我们可以向表中插入学生的数据。
假设我们有四个学生的信息需要插入表中,他们的数据如下:学号姓名年龄性别班级学号姓名年龄性别班级1001 张三18 男一班1002 李四19 男二班1003 王五17 女三班1004 赵六20 男四班我们可以使用以下的SQL语句将以上数据插入学生表中:INSERT INTO student (学号, 姓名, 年龄, 性别, 班级)VALUES('1001', '张三', 18, '男', '一班'),('1002', '李四', 19, '男', '二班'),('1003', '王五', 17, '女', '三班'),('1004', '赵六', 20, '男', '四班');4. 查询数据在使用stu中的student表时,我们通常需要查询表中的数据以获取所需信息。
数据库创建表sql语句
创建数据库表的SQL语句通常遵循以下的格式:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
...
columnN datatype constraint
);
其中,table_name是要创建的表的名称,column1, column2, ..., columnN是表的列名,datatype是列的数据类型,constraint是列的约束条件,如主键、外键、唯一性约束等。
下面是一个简单的例子,展示了如何使用SQL语句创建一个名为users的用户表:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
上述SQL语句创建了一个名为users的表,包含了id、name、age、email和created_at这几个列。
其中,id列被定义为主键
(PRIMARY KEY),name列不允许为空(NOT NULL),email列具有唯一性约束(UNIQUE),created_at列设置了默认值为当前时间戳(DEFAULT CURRENT_TIMESTAMP)。
请注意,实际创建数据库表的SQL语句会根据具体的需求和数据库管理系统的语法规则进行调整。
上述例子只是一个简单示例,您可以根据自己的需求和具体的数据库系统进行适当的修改。
sql语句中使用insert select语句创建表概述说明1. 引言1.1 概述本文旨在探讨如何在SQL语句中使用INSERT SELECT语句创建表。
INSERT SELECT语句是一种强大的功能,可以同时插入和选择数据,用于将查询结果插入到新创建的表中。
通过这种方式,我们能够方便地创建包含特定数据的表,并可以根据需要灵活选择要插入的字段。
1.2 文章结构本文将分为以下几个部分进行说明。
首先,我们会对INSERT SELECT语句进行概述,介绍其基本功能和用途。
然后,我们会详细讲解创建表的基本语法和用法示例,以帮助读者更好地理解如何使用该语句来创建表。
接着,我们还会介绍如何插入数据到新创建的表中,包括插入部分字段数据和插入全部字段数据两种情况。
此外,在文章的后半部分,我们还会针对一些可能遇到的错误提供解决方案,并列出使用INSERT SELECT语句创建表时需要注意的一些细节事项。
最后,在结论部分,我们将总结使用INSERT SELECT语句创建表的优势和适用场景,并展望其未来发展趋势。
1.3 目的通过本文的阐述,读者能够全面了解并掌握在SQL语句中使用INSERT SELECT 语句创建表的方法和技巧。
这将帮助读者在实际应用中更高效地创建表格、插入数据,并能够避免一些常见的错误。
同时,通过对使用INSERT SELECT语句创建表的优势和适用场景进行总结,读者还能够更好地评估其在实际项目中的应用价值,并为未来的发展做出合理的选择。
以上就是“1. 引言”部分的内容,请根据需要进行修改和完善。
2. SQL语句中使用INSERT SELECT语句创建表:2.1 INSERT SELECT语句的概述:在SQL中,可以使用INSERT SELECT语句将一张已有表中的数据插入到新创建的表中。
这种方法既能够创建一个新表,同时将源表的数据复制到新表中。
2.2 创建表的基本语法和用途:要使用INSERT SELECT语句创建新表并插入数据,需要按照以下基本语法进行操作:```sqlCREATE TABLE 新表名ASSELECT 列名1, 列名2, ...FROM 源表名;```这里,新建的表会包含与SELECT子句中指定列相同名称和数据类型的字段。
用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之间且性别为“男”的学生的姓名和年龄。
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选课人数,c.Sno,max(Grade) as最高分From Course c left join Sc s on o=oGroup by o9.统计每个学生的选课门数和考试平均成绩,并按学号的升序显示结果。
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 s1.sno=s2.sno and o=’c02’12.查询成绩在80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
Select s1.sname,o,s2.gradeFrom student s1,sc s2Where s1.sno=s2.sno and grade >80Order by grade desc13.查询哪些课程没有人选修、要求列出课程号和课程名。
Select o,ameFrom course c left join sc s on o=oGroup by o,ameHaving count(s.sno)=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 s1.sname 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 students.sno,sname,sdept,o,cname,ccreditFrom course,sc,studentsWhere o=oAnd o=students.sno19.创建查询每个学生的平均成绩的视图,要求列出学生学号及平均成绩。
Create view s_avgAsSelect sno,avg(Grade)as 平均成绩 from scGroup by sno20.创建查询每个学生的选课学分的视图,要求列出学生学号及总学分。
Create view s_scAsSelect students.sno,sum(ccredit)as 总学分 fromStudents,sc,courseWhere students.sno=sc.snoAnd o=oGroup by students.sno21.用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 dbo.f_1()22.用SQL语句创建一个名为f_2的函数,该函数能够求出任意两个数的最大值。
Create function f_2(@x1 int,@x2 int)returns intAsBeginDeclare @max intIf @x1>@x2Return @maxEndSelect dbo.f_2(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 students.sno=sc.sno and o=o and sc.sno=@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。