2024-01-15 19:17:19
这学期学的数据库主要偏向应用,理论部分相对比较少,重点如下:
整理的不是特别全乎,不过也涵盖不少了。往年大题就那几道,题型相对固定,针对性做题,做会题就算复习完了。
上面的知识点里边特别重要的就那几个:关系代数,关系完整性,SQL,关系数据理论和事务与并发,查询优化这几个。其他零碎的小知识点有印象就行了。
复习方法一是做题,最好是看答案;二是看例子,例题,然后递归复习知识点,效率最高。三是下策,先看知识点,再做题,适合开始复习比较早,时间充裕的情况,也是最充分的复习,但是问题是容易动力不足。
CREATE SCHEMA <"name"> AUTHORIZATION "username";
DROP SCHEMA "name" [CASCADE/RESTRICT];
CREATE TABLE "name"
VARCHAR(10) PRIMARY KEY,
{ Col1 NUMBER(10) NOT NULL UNIQUE,
Col2 INT FOREIGN KEY(Sno) REFERENCES TABLE2(Sno),
Col3 CHECK(Col1 > 1 AND Col1 < 10)
};CREATE TABLE schema.tablename{
// 同上
};CREATE SCHEMA "name" AUTHORIZATION "user" CREATE TABLE "table1"
{// 同上
};ALTER TABLE "name" [ADD COLUMN name VARCHAR(10) |
ADD UNIQUE(Cname) |
ADD FOREIGN KEY(Cno) REFERENCES Student(Cno) |
DROP Col1 CASCADE|RESTRICT
DROP CONSTRAINT “completeness” CASCADE|RESTRICT
ALTER COLUMN Col1 VARCHAR(114514)
];DROP TABLE "name" CASCADE|RESTRICT;
CREATE UNIQUE|CLUSTER INDEX "index_name" ON tableName(Col1 DESC, Col2 ASC);
ALTER INDX "old_index" RENAME TO "new_index";
DROP INDEX "index_name";
SELECT [DISTINCT|ALL] 2022-table1.age,table2.Sname
FROM ["table1" | "view1"]
WHERE age>5 AND|OR age<7 AND Sdept='CS' AND age [NOT] BETWEEN 20 AND 30 AND Sdept IN('CS','MA') AND name LIKE '张____' AND GRADE IS NULL
GROUP BY Col2 HAVING AVG(Grade)>=90
ORDER BY Col1 DESC;
连接查询时,列举全部属性列,去掉相同的列就是自然连接。
单表连接查询:
FROM Course.FIRST, Course.SECOND
SELECT FIRST.Cno, SECOND.Cpno
WHERE FIRST.Cpno=SECOND.Cno;
//外连接查询
FROM table1 LEFT|RIGHT OUTER JOIN table2 ON|USING(table1.sno=table2.sno) // USING去重
%_
任意字符、一个字符,汉字长两个字符
子查询使用IN
关键字,阅读/构造时从内部构造。下面的例子相当于是将子查询的结果作为父查询的语句的参数了。
SELECT Sno, Sname, Sdept
FROM Student
WHERE Sdept IN (
SELECT Sdept
FROM Student
WHERE Sname='lex'
AND xxx; )
还有EXISTS
子查询,跟上边IN
差不多,不过意思是将”至少存在一个查询结果“作为查询选择器的条件。
多个查询可以用UNION,, INTERSECT, EXCEPT
分别进行并,交,差三个集合运算,目标的数据结构必须相同。
### INSERT,UPDATE,DELETE
INSERT INTO table(Col1, Col2) [
VALUES(1,2,3,'4') |
SELECT xxx FROM xxx WHERE xxx GROUP BY xxx
];
UPDATE table
SET Col1=xxx
WHERE cond;
DELETE
FROM table
WHERE cond;
CREATE VIEW vname(Col1,Coln)
AS 子查询
WITH CHECK OPTION]
[GROUP BY xxx;
DROP VIEW vname CASCADE
IS [NOT] NULL xxx