数据库(笔记)——SQL命令操纵数据表数据与视图创建

SQL命令操纵数据

  • 数据操纵
    • 修改数据
    • 数据添加
    • 数据删除
  • 视图创建
    • 创建
    • 使用
  • 总结

在这就不适用实际存在的数据库作为演示,主要便于自己复习语法

数据操纵

修改数据

如下

  • 修改单个信息
//修改学生小杨的性别为女
Update Student
Set s_sex = '女'
Where s_name = '小杨'
  • 批量修改
//将所有学生的成绩都提高5分
Update SC
Set score = score + 5
  • 涉及多表查询的修改
//修改年龄大于小杨的所有学生的年龄,将他们的年龄+1
Update Student
Set s_age = s_age +1
Where s_name != '小杨' And s_age > (Select s_age
									From Student
									Where s_name = '小杨')
//在修改操作下,涉及到多表时,需要使用子查询来解决

修改数据的大致操作与查询几乎差不多,用着并没有太多变化

数据添加

  • 添加新的一行数据
//向学生表插入新的学生信息
Insert Into Student (s_no,s_na,s_age,s_sex)
Values ('007','大杨',21,'男')
//Values括号内的数据个数、类型要与前面的保持一致,包括顺序
  • 给已存在的一行添加数据
//给大杨学生添加信专业息
Insert Into Student (s_dept)
Values ('计算机')
//无论是添加一行还是添加部分,语法相同
  • 查询结果添加到其他表
//将学生的平均成绩按学号+平均成绩的格式录入新表avg_grade中
Insert Into avg_grade (s_no,avg_score)
Select s_no,Avg(score)
From SC
Group By s_no

数据删除

数据删除通常是删除一个元组,如下

//删除大杨学生的记录
Delete 
From Student
Where s_name = '大杨'
//语法非常简单,若需要删除多行,只需要写出相应条件就行

视图创建

创建

在之前的笔记中说过,视图的作用相当于函数,接下来先看如何创建一个视图

//创造一个查询学生学号和平均成绩的视图
Create View avg_grade (s_no,avg_score)
As Select s_no,Avg(score)
From Choice
Group By s_no

数据库(笔记)——SQL命令操纵数据表数据与视图创建_第1张图片执行后刷新,如下数据库(笔记)——SQL命令操纵数据表数据与视图创建_第2张图片

使用

视图的使用与基本表的使用几乎相同,如下数据库(笔记)——SQL命令操纵数据表数据与视图创建_第3张图片

这并不是代表avg_grade是一个新的、实际存在的表,而是sql在执行的时候,会查找到avg_grade的定义,发现它是视图,并执行这个视图的定义(就很像avg_grade是一个函数,能够在使用的时候执行函数语句一样)

总结

对于数据的操纵,相对于对数据表创造后的修改而言简单太多
视图的作用就是为了方便,把它当成一个函数来理解比较好
至于视图的删除,Drop View 视图名,就完了

你可能感兴趣的:(数据库学习笔记,数据库,sql)