期中考试加餐(施工度:95%)

考试信息:

1.不规定使用指定查询。抓到老鼠就是好猫。

2.考试时间紧张,给出表的结构,用create建表,给出insert语句,数据就可以载入

3.10道题左右,会有一个题考触发器

4.主要是创建和查询

5.不涉及授权

6.创建表、创建视图、创建索引了解一下

7.创建表时可能涉及到完整性约束,

包括主码、外码和用户定义的约束

8.大家复习时把删除数据delete语句也掌握一下

9.其他班情报:考试范围:SQL语句、完整性约束、触发器

一、SQL语句增删改查(尤其是删除和修改)

增:insert into 表名 values 数据元组

格式1(通用):insert into 表名 values(数据1,数据2,...,数据n)

格式2:insert into 表名(列名1,列名2) values(列名1对应的数据,列名2对应的数据)

删:delete from 表名 where 条件

删前先用select确认要删的东西!!!

格式:delete from 表名 where 条件

删掉了。

改:update 表名 set 赋值逻辑

格式update 表名 set 赋值逻辑

李丽的名字不小心打错成了丽丽,试着改回来吧。

UPDATE student SET sname='李丽' where sname='丽丽'

查:select * from 表名 where 条件 group by 列名 having 聚集函数条件 order by 列名接limit和offset

二、触发器

教材上的写法:一执行就报错

软件班学来的写法:可以运行很舒服

例1

CREATE TRIGGER test
    AFTER 
    INSERT ON student
    FOR EACH ROW 
    UPDATE answer SET answer.totalStudent= answer.totalStudent + 1

意思是如果有人在学生表student中插入数据,就在answer表中的每一行

执行answer.totalStudent= answer.totalStudent + 1

也就是学生总数+1

例2

再来一个

CREATE TRIGGER test5
AFTER 
INSERT ON student
FOR EACH ROW
INSERT INTO answer values(5);


INSERT INTO student VALUES('20180012','dd','女','2022-01-01','能动')
SELECT*FROM answer;

三、完整性约束

增 

create table 表名(

ssex char(6);

constraint check(ssex='女')

);

ALTER TABLE t表名 ADD CONSTRAINT c33 CHECK(sage>34)

或者alter table t表名 

alter table t表名 drop c1

啊哦,前面忘在constraint后面写c1了。没关系,用这个

上面这个图里面漏了一个constraint

下面这个ok。

先删再增即可

或者

ALTER TABLE t表名 MODIFY CONSTRAINT c33 CHECK (sage>33 OR sage IS NULL);
modify用不了。一直报错。

*处显示后通常关注constraint_name,这部分是一个constraint的名字。不找到名字没法删除。

SELECT *
FROM information_schema.table_constraints
WHERE table_name = 't表名' AND constraint_type = 'CHECK';

四、创建视图

核心格式:create view 视图名 as 查询语句

CREATE VIEW  top10 AS
SELECT * FROM sc WHERE grade>90

SELECT * FROM top10;

DROP VIEW IF EXISTS top10;

CREATE VIEW  top10 AS
SELECT * FROM sc ORDER BY grade DESC LIMIT 10

SELECT * FROM top10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值