SQL第一次实验

  • 开启小问题
    • 新建数据库用户名
      • 模式的定义和删除
        • 基本表的定义。
          • 基本表的修改
            • 基本表的删除

开启小问题

:刚开始的时候不知道为什么连接不上了,就是下面这个样子。

解决方法是打开SQL-server的配置管理器,将后缀是MS的那个启动模式修改为启动,就可以连接了。

新建数据库用户名

下面是这次实验的主要内容了
一、新建数据库,用户名
1.先新建一个数据库
可以直接右键在数据库处新建,也可以点击新建查询后输入创建数据库的代码,再执行,刷新后就能看到新建的数据库。

2.新建用户名,依次在刚新建的数据库下找到安全性,用户,新建用户WANG.

登录名选择浏览中的第一个

模式的定义和删除

二、模式的定义和删除
1.为用户WANG定义一个学生-课程模式S-T;
输入代码后执行,刷新后在架构处看到新建的S-T即成功。

CREATE SCHEMA "S-T" AUTHORIZATION WANG;

2.CREATE SCHEMA AUTHORIZATION WANG;
模式名没有指定的时候,隐含为用户名WANG。
在实验中显示的默认模式是dbo。
3.为用户WANG创建一个模式TEST,并且在其中定义一个表TAB1。

CREATE SCHEMA TEST AUTHORIZATION WANG//紧接着模式建表
CREATE TABLE TAB1(COL1 SMALLINT,//2个字节的整数
COL2 INT,//4个字节的整数
COL3 CHAR(20),
COL4 NUMERIC(10,3),//总位数为10,小数点后为3位
COL5 DECIMAL(5,2)//同上
);

刷新后在表中看到新建的表即成功。

继续建立表2
如果不写模式名建表的话,默认是dbo模式

建立在TEST模式下

CREATE TABLE TEST.TAB2(COL1 SMALLINT
);

4.删除模式
DROP SCHEMA ZHANG CASCADE;
CASCADE是把模式中所有的数据库对象全部删除。但是执行时显示有语法错误
而在我们使用的SQL server 中对CASCADE和RESTRICT是不支持的,所以要全部删除的话应该先把模式里与它有连接的表,视图等删干净,再删除。
代码直接把CASCADE去掉即可。

DROP TABLE TEST.TAB1;
DROP TABLE TEST.TAB2;
DROP SCHEMA TEST ;

基本表的定义。

三、基本表的定义。
1.建立一个”学生“表Student;

CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY,//列级完整性条件,主码
Sname CHAR(20)UNIQUE,//唯一
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)

刷新后显示表即建表成功

2.建立一个课程表Course

CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,
Cname CHAR(40)NOT NULL,//不能取空值
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)/*表级完整性的约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);


3.建立学生选课表SC

CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
GRADE SMALLINT,
PRIMARY KEY(Sno,Cno),//主码由两个属性构成,必须作为表级完整性进行定义
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno)
);

基本表的修改

四、修改基本表
1.向Student表增加”入学时间“列,其数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATE;


2.将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。

ALTER TABLE Student ALTER COLUMN Sage INT;//改类型必须加COLUMN


3.增加课程名称必须取唯一值的约束条件

ALTER TABLE Course ADD UNIQUE(Cname);
基本表的删除

五、删除基本表
1.删除Student表
用DROP删除时显示被一个外键约束


因为刚才在表CS中对Sno设置了外键,所以去SC的键下找到Sno删除,再执行即可。
———————————————————————————————————————
这次的实验刚开始做时出现了很多小错误,而且和书上的一些使用有的不一样需要自己去查,希望第二次可以顺利一些。

`

SQL语言的使用(一)相关推荐

  1. 实验四 数据库SQL语言基础编程

    -- 实验四 数据库SQL语言基础编程 -- 实验目的: --  掌握数据库查询语句的编写方法 --  掌握利用查询语言完成基本查询 --  掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...

  2. PL/SQL语言基础

    PL/SQL语言基础 /********************************数据类型*************************************/ %rowtype  (行对 ...

  3. 【DataBase】【SQL语言】【第三天】

    为什么80%的码农都做不了架构师?>>>    贡献作者 -[XJDomain] 博客XJ:  https://my.oschina.net/shengbingli/blog Git ...

  4. 关于SQL语言的初步认识

    关于SQL语言的初步认识 1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义. 2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项. 3.一个表或者是一 ...

  5. mysql实验6语言结构_实验六 SQL语言数据查询语言DQL.pdf

    实验六 SQL语言数据查询语言DQL 实验六 SQL 语言数据查询语言DQL 一.实验目的 数据查询语言指对数据库中的数据查询.统计.分组.排序等操作.查询语 句可以分为简单查询.连接查询.嵌套查询和 ...

  6. SQL语言基本语句介绍

        表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这种表有如下规定: 1 ...

  7. 如何学习sql语言?

    如何学习 SQL 语言? https://www.zhihu.com/question/19552975 没有任何基础的人怎么学SQL? https://www.zhihu.com/question/ ...

  8. Oracle PL/SQL语言入门

    一.背景介绍 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方 ...

  9. oracle数据库sql培训,Oracle数据库SQL语言实战培训教程(全面、详细、案例、精讲)套餐...

    风哥oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 套餐介绍: 风哥Oracle数据库SQL语言实战培训教程(案例.精讲)套餐,DBA必备技能. 内容: SQL语言基础入 ...

  10. 45岁的 SQL 语言要被淘汰了?

    在 SQL 被引入的 45 年中,它经历了许多数据库的诞生和消亡,也经历了许多数据处理方式的诞生和消亡. 以下为译文: 四十五年前,两位年轻的IBM研究人员在数据库上提出了一种新的语言,这是一种关系型 ...

最新文章

  1. wavelet tutorial
  2. 新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)
  3. Linux centos7防火墙firewalld相关操作
  4. Java栈内存、堆内存、方法区对对象和引用的关系
  5. java程序员面试怎么难为面试官_Java程序员面试这些多线程问题你知道吗?
  6. java manager 如何使用_java - Android:如何使用AlarmManager
  7. 勿以善小而不为--PPP认证之CHAP与PAP的实现与区别
  8. 绿盟漏扫使用手册_爬取绿盟漏洞扫描器数据
  9. 现在更新鸿蒙会成为小白鼠吗,猫和老鼠鸿蒙版下载-猫和老鼠网易官方手游鸿蒙版 v7.8.4-114手机乐园...
  10. Windows 10 Insider Preview ISO 下载地址
  11. 移动端和前端开发的共性
  12. c++可视化 横向打印二叉树(连线、规整)
  13. Ubuntu 20.04安装CUDA失败导致系统黑屏消息nvidia 0000:01:00.0: can‘t change power state from D3cold to D0 的解决方法
  14. 简单实现自定义Android TextView字体
  15. 数字电路(7)触发器(一)
  16. Nvidia发布全新计算卡Tesla P40/P4
  17. 神奇的CSS,页面镂空文字(渐变文字升级)
  18. koa2微信公众号开发及JS-SDK的使用
  19. 关于Java面向对象程序设计原则之一——开闭原则的思考与分享
  20. mac中的Windows虚拟机字体太小解决办法

热门文章

  1. 高德地图按行政区划分填充色块
  2. Docker安装MYSQL8及内存优化
  3. 基于Zero-Ice搭建的物联网监控平台
  4. Web前端必做笔记之一:let, var, const的区别
  5. WORD上次启动时失败,以安全模式启动的解决方法
  6. window下安装wamp环境
  7. 增加一块新硬盘,扩大原有分区
  8. seq(Sequencer)的使用笔记
  9. GitLab 运行GitLab-Runner CI/CD发布
  10. 无水印上传本地图片到网络获取地址+小书匠使用 +github和 七牛云 图床绑定--菜鸟小回