• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    数据库表的创建、管理和数据操作(实验一)

    今天我们就以实验的形式对表的创建、管理和数据操作进行学习,上课吧。

    【实验目的】:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识。
    【实验要求】:利用SQL语言进行数据库表的各种操作:
    1.数据库表的创建、修改和删除操作。
    2.向表中进行数据的插入、删除和修改操作。
    【实验内容】
    1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student、Course、SC。
    2.利用INSERT、UPDATE和DELETE语句对上述三张表的数据进行插入、更新和删除操作。
    3.在stu_DB库中添加Teacher和TC表,对已建立的学生管理系统中的表添加充足的数据(每个表不少于20条),以便完成本实验的后继操作。
    【实验步骤】
    一、数据定义
    (一)表的创建
    在实验一创建的数据库stu_DB中分别用企业管理器和查询分析器,按下面的表结构创建学生管理系统的表。

    1.利用企业管理器创建表

    1)打开企业管理器。

    2)选中实验一创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗口右侧选择新建表,弹出如图所示窗体。

     

    3)在这个窗体中,列名列就示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。

    (4)在此处可以为表选择文件组,在表中单击右键,选择属性,如果已经为数据库创建了一个次要组,可以在属性窗体的表文件组中为此表选择文件组。应该把一些竞争使用的表放于不同的文件组中,并且让文件组属于不同磁盘,这样可以在表竞争读写时提高并发性能。

    (5)创建完成后,单击磁盘图标,并为表取一个名字。注意,应该为表取一个有意义的名字。

    2.用Transact_SQL语句创建表

      语法为:

    CREATE TABLE 
     [ database_name.[owner].] table_name
     ( {column_name data_type [DEFAULT ‘default_value']|
     [CONSTRAINT CONSTRAINT_name]
     }, […n] [IDENTITY [(seed, increment )]]
     )
     [ON { filegroup | DEFAULT }]
     [TEXTIMAGE_ON {filegroup | DEFAULT }]

    【例1】生成一个表名为student的表

    create table student
    (
     sno CHAR(8) primary key,
     sname CHAR(10) not null,
     ssex CHAR (2) check (ssex='男'or ssex='女'),
     sage smallint,
     sdept CHAR (20) default ('计算机系'),
    )

    【例2】  创建一张名为Ta1的表,此表中有3列,第一列Pid定义为主键,并且自动增长。第二列Name默认值为Unknown,第三列定义一个约束(日期不能大于输入当天的日期),插入一条记录并进行查询,显示如下图。

    CREATE TABLE ta1 
    ( 
    pid int identity(1,1) primary key, 
    [name] CHAR(10) default ('unknow'),
    birthday datetime CHECK( birthday getdate() )
    )
    

    (二)表的修改
    1.用企业管理器修改表
     (1)右键点击所要修改的学生表,选择“设计表”,会弹出如图3-4所示的窗体,在这个窗体中可以更改数据表的字段。在空白处点右键,选择“属性”,弹出另一窗体,在此可以更改约束,也可以增加约束。

    2、利用Transact-SQL语句修改表
    向表中添加新的字段:在学生表中添加一个“班级”字段,数据类型为字符型。
    ALTER TABLE student  ADD class CHAR(6)

    删除表中的旧列:将学生表中的“Sdept”字段删除。
    ALTER TABLE student DROP COLUMN Sdept

    更改表以添加具有约束的列。(sp_help:用于显示参数清单和其数据类型)
    给学生表的增加“grade”字段并加上CHECK约束,让其不可以大于100。
    ALTER TABLE student ADD grade int CONSTRAINT ch_grade CHECK(grade100)
    EXEC sp_help ch_grade

    给学生表中添加“birthday”字段,并且这个日期不能在录入当天的日期之后。
    ALTER TABLE student ADD birthday DATETIME NULL
    CONSTRAINT ch_birthday CHECK(birthdaygetdate())

    添加具有默认值的可为空的列:
    在学生表中加入“matriculationday”字段,并且这一字段的默认值为录入当天的日期。
    ALTER TABLE  student ADD matriculationday smalldatetime NULL
    CONSTRAINT adddateflt  DEFAULT getdate() 

    请参考上面所给的例子:
    自行设计表结构修改操作(不少于8个语句),并进行实验验证。
    修改表student,结果如表1-4。
    创建表1-5、表1-6,为后续实验建立基础。

    (三)表的删除
    可以在企业管理器中选择要删除的表直接删除,也可以通过Transact-SQL语句DROP 删除表的定义及表中的所有数据、索引、出发器、约束和权限规范。
    如要删除ta1表,语句如下: DROP TABLE ta1
    请参考上面的例子完成对表Student 、Course 、SC的删除操作,它们删除的次序如何?并进行实验验证。

    二、数据操作

    (一)查看、重命名及删除用户定义的数据类型
    1.使用企业管理器创建一个名为newtype1、长度为6、可变长字符、允许为空的自定义数据类型。
    进入企业管理器,进入stu_DB数据库,用鼠标右键单击“用户定义的数据类型”后选择“操作”菜单中的“新建用户定义数据类型”或点击“新建”按扭,将弹出下图所示窗体:

    输入要定义的数据名称newtype1,选择数据类型varCHAR,输入长度为6,在“允许NULL值”复选框中打个“√”,单击“确定”按钮即可。
    2.使用T-SQL语句创建一个名为newtype2,数据长度为6,定长字符型,不允许为空的自定义数据类型。

    USE stu_DB
    EXEC sp_addtype newtype2, ‘CHAR(6)', ‘not null'

    3.命名用户自定义的数据类型
    (1) 使用系统存储过程sp_rename将自定义数据类型newtype1重新命名为a1。
                EXEC sp_rename newtype1, a1 
    (2) 使用企业管理器再将自定义数据类型a1重新命名为newtype1。
    4.删除用户自定义数据类型
    (1) 使用系统存储过程sp_droptype来删除用户自定义的数据类型。
                 EXEC sp_droptype newtype1
    (2)使用企业管理器删除用户自定义数据类型
    进入企业管理器,进入stu_DB数据库,单击“用户定义的数据类型”后,右边窗口将出现所有用户定义的数据类型,再用鼠标右键单击newtype2,在弹出的快捷菜单上单击“删除”按钮即可。
    注意:正在被表或其他数据库对象使用的用户定义类型能不能删除?请进行实验验证。
    (二)数据的更新
    1. 利用企业管理器更新数据

    打开企业管理器,右键点击所要修改的表,选择“打开表”,单击“返回所有行”,会弹出如图3-5所示的窗体,在该窗体中可以修改表中的数据内容。这里的修改内容是自动存储的,修改完之后,直接关闭该窗体,数据内容即修改成功。

    2.利用查询分析器更新数据
    在关系数据库中,常见的数据更新的语句有三条:INSERT、UPDATE和DELETE
    (1)INSERT语句
    向student表中插入一行数据,具体数据如下:
    学号:04265005, 姓名:刘辉, 性别:男,年龄:21, 系别:计算机系

    USE stu_DB
    INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept) 
    VALUES (‘04265005', ‘刘辉', ‘男', 21, ‘计算机系')
    INSERT INTO student (Sno, Sname, Ssex, Sage) 
    VALUES (‘04265006', ‘李慧', ‘女', 21)
    
    

    向ta1表中插入数据如下:

    INSERT ta1([name],birthday) values (‘lan','1977-03-02')
    INSERT ta1 values (‘lan','1977-03-02')
    INSERT ta1(birthday) values (‘1977-03-02')
    
    

    请根据上述例子,自行设计不同情况下的数据插入语句(不少于10个语句),并进行实验验证,验证要求如下:
    不满足唯一性约束的数据的插入。
    不满足用户自定义约束的数据的插入。
    不满足外键约束的数据的插入。
    利用缺省值的数据的插入。
    不合理的数据是否能进入数据库。

    (2)UPDATE语句
    更改(学生)表数据,将学号为‘04265005'的学生的所在系改成‘机械工程系'。

    UPDATE student SET Sdept=‘机械系' WHERE Sno=‘04265005'
    
    

    请根据上述例子,自行设计数据修改语句(不少于10个语句),并进行实验验证,验证要求同INSERT语句。

    (3)DELETE语句删除行
    删除student表中的学号为‘04265005'的记录。

    DELETE FROM student WHERE Sno =‘04265005'
    

    如果想清除表中的所有数据但不删除这个表,可以使用TRUNCATE TABLE语句。该语句相当于没有条件的DELETE语句,并且该语句不记录日志。

    请根据上述例子,自行设计不同情况的数据删除语句(不少于10条语句),并进行实验验证不满足外键约束的数据删除操作。

    对数据定义中创建的学生管理系统(Student, Course,SC,Teacher,TC表)的每个表添加充足的数据(每个表不少于20条),以便完成本实验的后继操作。具体表信息可参考如下:

    今天的实验课就结束了,小编带大家大致的了解了表的创建、管理和数据操作,下次就进行实战演练,我们继续一起学习。

    以上就是表的创建和管理实验的全部内容,希望对大家的学习有所帮助。

    您可能感兴趣的文章:
    • SQL查询出表、存储过程、触发器的创建时间和最后修改时间示例
    • MySQL中修改表结构时需要注意的一些地方
    • MySql表、字段、库的字符集修改及查看方法
    • SQL Server存储过程中使用表值作为输入参数示例
    • SQL Server查询数据库中表使用空间信息实现脚本
    • SQL Server根据分区表名查找所在的文件及文件组实现脚本
    • 详解MySql基本查询、连接查询、子查询、正则表达查询
    • mysql不同数据库不同数据表导入数据
    • sql server 2000中禁止创建表(权限设置方法)
    • sql server创建临时表的两种写法和删除临时表
    • sql server建库、建表、建约束技巧
    • 详解Mysql多表联合查询效率分析及优化
    • 数据库表的查询操作(实验二)
    • 数据库表的查询操作实践演练(实验三)
    上一篇:MySql更新优化策略
    下一篇:MySql删除和更新操作对性能有影响吗
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    数据库表的创建、管理和数据操作(实验一) 数据库,表,的,创建,管理,