基本类型

char(len):固定长度的字符串

           如果存放的字符串长度不足,则自动追加空格

varchar(maxlen):可变长度的字符串

int/integer

numeric(p,d):p位数字,小数点后d位

real, double precision:浮点精度数字

float(len):精度至少n位的浮点数

date:日期

time:时间

 

基本模式定义

数据库的操作

数据库——SQL

表操作

数据库——SQL

约束包括:

Primary key

Unique

not null

外键:foreigh key (A) references table_name

多个属性构成键:primary key (A1, A2, …)

 

增删改查

添加删除修改元素

数据库——SQL

查询

数据库——SQL

结果唯一性

select distinct name

select all name from instructor  #all显示声明保留重复

查询所有属性

select *

算数表达

select salary * 1.1

聚集函数

sum

avg

count

max

min

排序(默认增序)

数据库——SQL

模糊查询问题

使用单引号标示字符串,如果单引号位字符串组成部分,则使用2个单引号

字符串函数:upper(s), lower(s), trim(s)

字符串匹配:

% :匹配0个或多个字符

_ :匹配任意一个字符

数据库——SQL

 

where

逻辑连接词:and or not

比较运算符,算数表达式

between

in

some/all(支持>, <, >=, <=, <>)

数据库——SQL

exists:子查询结果中有无元组存在

   通常使用not exists

   select xxx fromxxx where not exists (子查询)

unique:用来测试子查询结果是否存在重复元素

where unique()

 

多关系查询

select * from A, B where A.id = B.id

先对A,B进行笛卡尔积,然后查找A.id = B.id的行并返回

自然连接:在两个关系模式中都出现的属性上取值都相同的元组对

select * from A natural join B

指明需要相等的列

select * from A join B using (v1, v2);

 

更名运算

数据库——SQL

 

集合运算

默认去重

union:∪

intersect:∩

except:-

保留重复:UNION ALL

数据库——SQL

 

分组聚集

数据库——SQL

 

空值不能进行运算:

聚集运算中,除了count(*),其他函数都忽略null数据项

null参与比较运算,结果视为false

null参与算数运算,值为null

数据库——SQL

 

 

 

链接表达式

链接条件:

A join B on A.id = B.id

A join B using (column)

left outer join:

表1的所有元组都会保留,

如果表2中有满足链接条件的元组,则连接;否则与空值元组连接

数据库——SQL

right outer join

full outer join:

数据库——SQL

inner join/ join:

数据库——SQL

natural join:对两张表中字段名和数据类型都相同的字段进行等值连接,并返回符合条件的结果 。

  • natural join和inner join区别:

natural join自动对两个表按照相同的列(不超过1个)进行inner join

inner join可以选择(on)按照哪一列进行连接

 

 

视图

对视图的更改最终要反映在对基本表的更改

数据库——SQL

with check option:对视图进行更改时,检查是否满足条件表达式

MySQL:虚拟表

     程序按照视图定义获取/更新数据(安全层)

物化视图(Oracle):实际存在的表

         预先计算并保存复杂的操作结果

刷新模式:1.用户需要时更新

                 2.基表更新提交同时(触发器)

        刷新方法:1.FAST:增量刷新

                         2.COMPLETE:完全刷新

                         3.FORCE:选择是否能快速刷新,否则完全刷新

                         4.NEVER

 

 

完整性约束

列完整性:

数据库——SQL

表完整性:

数据库——SQL

增加、删除约束

数据库——SQL

断言

数据库——SQL

 

 

数据类型与模式

索引

数据库——SQL

大对象数据类型(clob)+二进制数据的大对象数据类型(blob):

数据库——SQL

用户定义类型:

数据库——SQL

创建与现有某个表模式相同的表:

数据库——SQL

 

 

授权

数据库——SQL

 

 

程序设计语言

JDBC,ODBC

1.连接到数据库 getConnection:

参数1:字符串表示的URL,包括服务器的主机名,通信协议,端口号,数据库

参数2:用户名

参数3:密码

2.传递SQL语句:

Statement传递:自动完成检查,插入转移字符,防止SQL注入

 

 

触发器

指明什么条件下执行,当对数据库作修改时,自动触发

数据库将超过某个长度的触发器链看作错误

数据库——SQL

 

 

相关文章: