应试笔记4:SQL、修改表、视图更新问题

SQL:结构化查询语句


数据定义


创建表

              create table 表名(

              列名 类型 列级约束,

              ……

              表级约束);

  1. 主键约束:列级:primary key          表级:primary key (Sno,Cno)
  2. 外键约束:表级:foreign key (Sno) references Student(Sno)
  3. 唯一约束:列级:unique
  4. 非空:列级:not null
  5. 默认:列级:default 值
  6. 自动增加:列级:auto_increment

数据类型:常用varchar(len)、int、numeric(n,m)、date(格式:2018-12-15)、time(格式:16:21:55)、timestamp

删除表drop table 表名 cascade/restrict;

修改表alter table 表名

  1. add [column] 列名 类型 约束;
  2. drop [column] 列名 cascade/restrict;
  3. alter column 列名 类型;
  4. add 表级约束;
  5. drop constraint 约束 cascade/restrict;

索引create index 索引名 on 表名(列名 ASC/DESC,……);

删除索引:drop index 索引名;

修改索引名:alter index 旧名 rename to 新名;


数据查询


数据操纵

插入insert into 表名 values('200215128','陈冬','男','IS',18);

插入insert into 表名 子查询;

修改update 表名 set ______ where_________;

删除delete from 表名 where_________;


视图

虚表,是从一个或几个基本表(或视图)导出的表

只存放视图的定义,不存放视图对应的数据

基表中的数据发生变化,从视图中查询出的数据也随之改变

作用

1. 简化用户的操作

2. 以多种角度看待同一数据

3. 对重构数据库提供了一定程度的逻辑独立性

4. 对机密数据提供安全保护

5. 更清晰的表达查询

创建视图create view 视图名[(列名,……)] as 子查询select [with check option]

子查询语句中不能出现order by/distinct

查询视图——视图消解法

有些情况下,视图消解法不能生成正确查询。

更新视图insert/update/delete

  1. 视图中是多表联接而来的,不能更新
  2. 视图定义中有分组、聚集函数,不能更新
  3. 视图是行列子集,可以更新

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值