SQL查询语言练习

USE master
GO
IF EXISTS (SELECT * FROM sysdatabases WHERE name=‘MyStudentInfoManage‘)
DROP DATABASE  MyStudentInfoManage         --删除数据库
GO
CREATE DATABASE MyStudentInfoManage        --创建数据库
GO
USE MyStudentInfoManage
GO 

--学生表
IF EXISTS(SELECT * FROM sysobjects WHERE name=‘Student‘)
DROP TABLE Student        --删除表
GO
CREATE TABLE Student
(
   --  Student(S#,Sname,Sage,Ssex) 学生表
     S# INT NOT NULL PRIMARY KEY ,     --学号
     Sname NVARCHAR(20) NOT NULL,      --姓名
     Sage INT NOT NULL ,               --年龄
     Ssex CHAR(2) NOT NULL             --性别

);

--教师表
IF EXISTS(SELECT * FROM sysobjects WHERE name=‘Teacher‘)
DROP TABLE Teacher
GO
CREATE TABLE Teacher
(
  --Teacher(T#,Tname) 教师表
  T# INT NOT NULL PRIMARY KEY,
  Tname NVARCHAR(20) NOT NULL

);

--课程表
IF EXISTS(SELECT * FROM sysobjects WHERE name=‘Course‘)
DROP TABLE Course
GO
CREATE TABLE  Course
(
   --Course(C#,Cname,T#) 课程表
   C# INT NOT NULL PRIMARY KEY ,
   Cname NVARCHAR(20) NOT NULL ,
   T# INT NOT NULL  REFERENCES dbo.Teacher(T#)

);

--成绩表
IF EXISTS(SELECT * FROM sysobjects WHERE name=‘SC‘)
DROP TABLE SC
GO
CREATE TABLE SC
(
        --SC(S#,C#,score) 成绩表
        S# INT NOT NULL REFERENCES dbo.Student(S#),
        C# INT NOT NULL REFERENCES dbo.Course(C#),
        Score INT NOT NULL,
        CONSTRAINT FK_Student_Course PRIMARY  KEY(S#,C#)    --学号和课程号同时座位    

);

----------------------------------------------------------------------插入测试数据到数据表(Student)中--------------------------------------------
DELETE FROM dbo.Student;

INSERT INTO dbo.Student
        ( S#, Sname, Sage, Ssex )
VALUES  ( 001, -- S# - int
          N‘张三‘, -- Sname - nvarchar(20)
          20, -- Sage - int
          ‘男‘  -- Ssex - char(2)
          )

INSERT INTO dbo.Student
        ( S#, Sname, Sage, Ssex )
VALUES  ( 002, -- S# - int
          N‘李四‘, -- Sname - nvarchar(20)
          21, -- Sage - int
          ‘男‘  -- Ssex - char(2)
          )
 INSERT INTO dbo.Student
        ( S#, Sname, Sage, Ssex )
VALUES  ( 003, -- S# - int
          N‘王五‘, -- Sname - nvarchar(20)
          22, -- Sage - int
          ‘女‘  -- Ssex - char(2)
          )
INSERT INTO dbo.Student
        ( S#, Sname, Sage, Ssex )
VALUES  ( 004, -- S# - int
          N‘周六‘, -- Sname - nvarchar(20)
          18, -- Sage - int
          ‘女‘  -- Ssex - char(2)
          )      

------------------------------------------------------------插入数据到教师表(Teacher)中----------------------------------------------------------
DELETE FROM dbo.Teacher;   

INSERT INTO dbo.Teacher
        ( T#, Tname )
VALUES  ( 01, -- T# - int
          N‘叶平‘  -- Tname - nvarchar(20)
          )      

------------------------------------------------------------------插入数据到课程表中-------------------------------------------------------------
DELETE FROM dbo.Course;

INSERT INTO dbo.Course
        ( C#, Cname, T# )
VALUES  ( 001, -- C# - int
          N‘语文‘, -- Cname - nvarchar(20)
          01  -- T# - int
          )    

INSERT INTO dbo.Course
        ( C#, Cname, T# )
VALUES  ( 002, -- C# - int
          N‘数学‘, -- Cname - nvarchar(20)
          01  -- T# - int
          )     

INSERT INTO dbo.Course
        ( C#, Cname, T# )
VALUES  ( 0003, -- C# - int
          N‘英语‘, -- Cname - nvarchar(20)
          01  -- T# - int
          )    

--------------------------插入数据到成绩表(SC)中-----------------------------------------------------------------------------------------------

DELETE FROM dbo.SC;
INSERT INTO dbo.SC
        ( S#, C#, Score )
VALUES  ( 001, -- S# - int
          001, -- C# - int
          90  -- Score - int
          )             
时间: 2024-10-12 15:05:25

SQL查询语言练习的相关文章

在streaming process中为什么需要类似sql查询语言

从现有的CEP(Complex Event Processing)框架,像强大得Esper,我们学到很多工作完全可以通过写sql来完成的,不需要编写任何的代码.所以对于流处理我认为也需要这样的类似sql查询语言.目前像Storm这样的流处理平台框架强迫使用者去实现像silding window,一些query pattern的操作.我认为并不是每一个案例开发者都喜欢重写这些东西. 所以我们需要high level的抽象,我可以完全把一些算法封装好,直接拼装调用即可,或者直接支持sql语法.我们可

数据库-SQL查询语言(一)

SQL数据定义 DDL sql的DDL不仅能定义一组关系,还能定义每个关系的信息,包括: 每个关系的模式 每个属性的取值类型 完整性约束 每个关系的维护的索引集合 每个关系的安全性和权限信息 每个关系在磁盘上的物理存储结构 基本类型 sql支持的常用类型: char(n): 固定长度的字符串,n为其长度并可被设置,字符串长度不够n时,自动添加空格: varchar(n):可变长度字符串,最长为n; int:整型 smallint:小整型 numeric(p,d):定点数,该数共p位,有d位在小数

基本的SQl查询语言

---恢复内容开始--- ---恢复内容结束---

SqlServer教程:经典SQL语句集锦

SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server --- 创建 备份数据的 deviceUSE

SQL操作大全

下列语句部分是Mssql语句,不可以在access中使用.   SQL分类:  DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE)  DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT)  DCL-数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)   首先,简要介绍基础语句: 1.说明:创建数据库 CREATE DATABASE database-name  2.说明:删除数据库 drop database dbname

实用SQL

下列语句部分是MsSql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql ser

收集的sql经典语句

经典SQL语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 4.说明:创

NHibernate之旅(3):探索查询之NHibernate查询语言(HQL)

本节内容 NHibernate中的查询方法 NHibernate查询语言(HQL) 1.from子句 2.select子句 3.where子句 4.order by子句 5.group by子句 实例分析 结语 上一节,我们初步搭建了一个NHibernate程序,完成了映射Customer表并读取数据功能,这一节和下一节我们初步探讨一下在NHibernate中的查询方法.我这之前还是先回忆一下上一节完成的东西,其中一张图很多人回复说非常经典,简单明了!还是看着图.总结一下上一节三个重要的事情:建

最基本的SQL语法/语句

DDL—数据定义语言(Create,Alter,Drop,DECLARE) DML—数据操纵语言(Select,Delete,Update,Insert) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1.说明:创建数据库 Create DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- 创建 备份数据的 device USE mas