zoukankan      html  css  js  c++  java
  • 数据库作业4:SQL练习1

    首先,通过SQL命令 “CREATE DATABASE STUDENT”建立一个学生数据库。

    然后,新建一个此数据库的用户“wang”。

     建立完成后,如下图所示:

     然后,新建一个架构。

     再通过SQL命令,创建一个学生表、课程表以及学生选课表。

    注意:需在当前数据库的当前模式下执行。

     

     

     向Student表增加“入学时间”列,其数据类型为日期型

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

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

     删除表有两种方式:RESTRICT和CASCADE,其中,CASECADE在删除基本表的同时,相关的依赖对象一起删除,应谨慎使用。

    但是在删除Student表时,遇到了以下错误:

     关键词“CASCADE”附近有语法错误。

    经过查阅相关资料,得知T-SQL语法不一样,查过相关帮助文件后,发现了以下问题:

    cascade关键字是用来drop user,及其相关的数据的。drop table不用它
    drop table student; ==> 删除表student
    drop user student cascade; ==> 删除用户student及其关联数据
    drop tablespace student including contents and datafiles;==>删除表空间student及其关联的数据和数据文件 

    Drop table命令用于删除一个表格或者表中的所有行。其语法格式为:

      drop table "tablename"

      下面举个例子:

      drop table employee;

    为了删除整个表(包括所有的行),可以使用drop table命令后加上tablename。Drop table命令跟从表中删除所有记录是不一样的:

    提示“无法删除对象 'Orders',因为该对象正由一个 FOREIGN KEY 约束引用”,原因很简单不要急躁,它被其它表的外键引用了,所以无法删除,在此只需先找到哪些表的外键引用了该表的字段。通过系统函数就能解决(SQL Server系统函数提供了非常完善的功能,能代替我们查找和解决许多问题)

     

     

     实验总结

    标准SQL和T-SQL之间的不同:

      SQL(StructuredQuery Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。主要包括:数据定义语言(DDL)数据操纵语言(DML) 数据控制语言(DCL)三种类型。其中数据定义语言(DDL) 用于定义数据结构,比如创建create、删除drop、更改alter数据库对象等。数据操纵语言(DML)用于检索和修改数据结构,即我们常说的:增Insert ,删Delete改Update,查Select。数据控制语言(DCL) 用于规定数据库用户的各种权限。

      T-SQL:SQL 程序设计语言的增强版,它是用来让应用程式与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL的DDL 和 DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。

      总而言之,SQL是个ANSI标准。各数据库厂商根据该标准开发自己的数据库及语言。

    心得体会:

    通过本次试验,我基本掌握了数据库的四大基本操作:增、删、改、查。希望在今后的学习中灵活运用这些操作,并在它们的基础上逐步深化,完成更为复杂的任务。

  • 相关阅读:
    数列变形中隐含条件的指向作用
    有效挖掘题目中的隐含条件[高阶辅导]
    三角模板函数使用示例
    【Machine Learning in Action --2】K-近邻算法构造手写识别系统
    【Machine Learning in Action --2】K-近邻算法改进约会网站的配对效果
    Python使用os.listdir()函数来获得目录中的内容
    【python问题系列--1】SyntaxError:Non-ASCII character 'xe5' in file kNN.py on line 2, but no encoding declared;
    【Python爬虫实战--1】深入理解urllib;urllib2;requests
    Centos7下安装numpy+matplotlib+scipy
    【Machine Learning in Action --1】机器学习入门指南
  • 原文地址:https://www.cnblogs.com/qizj/p/12435230.html
Copyright © 2011-2022 走看看