数据库——SQL

基本类型

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

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

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

int/integer

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

real, double precision:浮点精度数字

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

date:日期

time:时间

 

基本模式定义

数据库的操作

表操作

约束包括:

Primary key

Unique

not null

外键:foreigh key (A) references table_name

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

 

增删改查

添加删除修改元素

查询

结果唯一性

select distinct name

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

查询所有属性

select *

算数表达

select salary * 1.1

聚集函数

sum

avg

count

max

min

排序(默认增序)

模糊查询问题

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

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

字符串匹配:

% :匹配0个或多个字符

_ :匹配任意一个字符

 

where

逻辑连接词:and or not

比较运算符,算数表达式

between

in

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

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);

 

更名运算

 

集合运算

默认去重

union:∪

intersect:∩

except:-

保留重复:UNION ALL

 

分组聚集

 

空值不能进行运算:

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

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

null参与算数运算,值为null

 

 

 

链接表达式

链接条件:

A join B on A.id = B.id

A join B using (column)

left outer join:

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

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

right outer join

full outer join:

inner join/ join:

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

  • natural join和inner join区别:

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

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

 

 

视图

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

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

MySQL:虚拟表

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

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

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

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

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

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

                         2.COMPLETE:完全刷新

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

                         4.NEVER

 

 

完整性约束

列完整性:

表完整性:

增加、删除约束

断言

 

 

数据类型与模式

索引

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

用户定义类型:

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

 

 

授权

 

 

程序设计语言

JDBC,ODBC

1.连接到数据库 getConnection:

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

参数2:用户名

参数3:密码

2.传递SQL语句:

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

 

 

触发器

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

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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值