数据库一 数据库的建立—DDL&DML

【实验名称】:数据库的建立—DDL&DML

 

【实验目标】:

(1)   使用任何一种交互工具创建DDL脚本,包括创建、修改、删除、展示表结构,字段类型的指定及修改,主键、候选键和外键的指定;

(2)   创建、删除索引;

(3)   创建、删除视图;

(4)   数据的插、删、改等操作;

【实验具体要求】:

  1. 使用sql语句创建所有的表;
  2. 使用alter命令修改表结构,删除教师表中的“title” 字段,然后再添加到表中;修改学生表中的“sex” 字段的类型为char(2);
  3. 在教师表中添加任意一条数据,然后添加类型为char(2)的‘sex‘字段,该字段不能为空,默认值为“m”,添加是否成功,如果失败分析失败的原因并进行必要的操作使‘sex’字段添加成功;
  4. 在请假单表上为lessonNum列创建索引;在学生选课表中依据“studentNum”和“lessonNum”字段创建索引;
  5. 使用sql语句查询所有创建表的表结构;
  6. 将补充资料中提供的数据插入到相应的表中;
  7. 删除学生表中studentNum为“200101”的学生记录,如果不能请分析原因;
  8. 将课程号3的课程的学分更新为4分,将课程号4的课程的学分更新为1分,将课程号1的课程名称更新为“高级语言程序设计”;
  9. 创建学生选课视图v_stu_lesson,字段包括学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名;

【实验步骤】:

使用sql语句创建所有的表;

2. 使用alter命令修改表结构,删除教师表中的“title” 字段,然后再添加到表中;修改学生表中的“sex” 字段的类型为char(2);

代码如下:

运行结果:

   

3. 在教师表中添加任意一条数据,然后添加类型为char(2)的‘sex‘字段,该字段不能为空,默认值为“m”,添加是否成功,如果失败分析失败的原因并进行必要的操作使‘sex’字段添加成功;

①添加一条数据 ('1','刘波','男','教授');

代码如下:

运行结果:

②添加类型为char(2)的‘sex‘字段,该字段不能为空,默认值为“m”

代码如下:

添加失败,报错:

可以看到原本的teacher表中就有sex

所以错误原因是出现了字段重复。需要先删去原本的sex字段,再进行添加。

4. 在请假单表上为lessonNum列创建索引;在学生选课表中依据“studentNum”和“lessonNum”字段创建索引;

代码如下:

使用sql语句查询所有创建表的表结构;

代码如下:

6. 将补充资料中提供的数据插入到相应的表中;

7. 删除学生表中studentNum为“200101”的学生记录,如果不能请分析原因

出现这种错误的原因是,studentNum同时也是其他表的外键,而在删除操作时会自动检查外链。

解决方法:
不检查外链,在将执行语句前加上下句:
SET FOREIGN_KEY_CHECKS = 0;

8.将课程号3的课程的学分更新为4分,将课程号4的课程的学分更新为1分,将课程号1的课程名称更新为“高级语言程序设计”;

①课程号3的课程的学分更新为4分

②将课程号4的课程的学分更新为1分

③将课程号1的课程名称更新为“高级语言程序设计”

修改结果如下:

9.创建学生选课视图v_stu_lesson,字段包括学号、学生姓名、课程号、课程名称、学分、任课教师工号、任课教师姓名;

创建结果如下:

【小结】:

知识总结:

1.创建表CREATE TABLE

CREATE TABLE “表格名”

(“栏位1”“栏位1资料种类”,

“栏位2”“栏位2资料种类”,

……)

2.创建视图CREATE VIEW

视图可以当做虚拟表格,与表格不同的是,表格中有实际存储的资料,而视图是建立在表格之上的一个架构,其本身不实际存储资料。

CREATE VIEW “VIEW_NAME”AS “SQL语句”

3.创建索引CREATE INDEX

索引可以帮助快速查找资料。索引的存在,数据库系统可以先从这个索引找出需要的资料在表格的位置,在进行抓取。

CREATE INDEX “INDEX_NAME”ON “TABLE_NAME”(COLUMN_NAME)

4.更改表结构ALTER TABLE

ALTER TABLE “TABLE_NAME”[改变方式]

具体操作可以包括:增加栏位ADD,删除栏位DROP,改变栏位名称CHANGE和改变栏位种类MODIFY。

5.删除表格DROP TABLE

DROP TABLE “表格名”

6.修改表格UPDATE

使用UPDATA指令,可以修改表格中的资料。

UPDATE“表格名”

SET “栏位1”=[新值]

WHERE {条件}

7.插入资料INSERT INTO

加入一些资料进入表格

INSERT INTO “表格名”(“栏位1”,“栏位2”,……)

VALUES(“值1”,“值2”,…)

8.删除资料DELETE FROM

有时需要直接从数据库中去除一些资料。可以使用DELETE FROM实现。

DELETE FROM “表格名”

WHERE{条件}

9.限制条件CONSTRAINT

NOT NULL:不允许一个栏位含有NULL值。

UNIQUE:保障一个栏位中的所有资料都是不一样的值。

CHECK:限制保障一个栏位的所有资料符合某些条件。

PRIMARY KEY:主键

FOREIGN KEY:外键

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值