第二十三天:听课笔记

1.多行子查询
in

all  max min
     > 我就跟最大值比较
     < 我就跟最小值比较
all和全部的值比较,所以条件最为苛刻,返回一个值 最大/最小
要找个XXX条件的女的,条件苛刻

any
     > 我就跟最小值比较
     < 我就跟最大值比较
any和任意一个值比较,所以其条件最为宽松,返回所有值
是个女的就可以了,条件宽松

我们可以用max ,min替换all,any

2.最简单的就是最好的

3.处理数据

4.常见的数据库对象:

视图
序列
索引
同义词

5.表:
用户定义的表
数据字典
desc user_tables;
select * from user_tables where lower(TABLE_NAME) = 'employees';

创建表:
权限 存储空间
限额 指定大小

create table XXX(.....);
drop table XXX;

数据类型:

使用子查询来建表:
create table YYY as ..写select...

create table YYY() as ..写select...;
写select中用别名as
那么create table 中的列名就可以自定义了

alter table add
        modify
        drop column

rename XXX to YYY

清空表

truncate table XXX
truncate不能回滚

Oracle中auto_commit为false
MySQL中auto_commit为true

6.insert into dept_1 select department_id, department_name from departments
不能使用values

7.create table employees2 as select * from employees where 1=2;
人为的搞错,只复制表结构,记录不要

8.insert into XXX () values ();
字符和日期要放在' '中
日期: to_date() 不知道它的格式,我同一用to_date()

插入空值 : 不写(不插你) 或者 null(插你个null)

9. &取值
insert into emp(name, email) values ('&name', '&email')

10.从其他表中拷贝数据
insert into XXX (不写values) ...写select...

11.update中使用子查询
update employees
set job_id = (
        select job_id
        from employees
        where employee_id = 205
          ),
    salary = (....)
where employee_id = 104;

12.数据完整性:
update
...中没有

13.delete from XXX where
数据完整性
通过外键。。来约束

14.事务
原子性:要么都成,要么都不成
一致性:A有100,B有100
        转账后A有50,B有150
  钱的总数和转账前是一致的
隔离性:
持久性:一旦被提交,在数据库中是永久的

15.事务 结束
commit / rollback
DDL   DCL (自动提交)
用户会话正常结束
系统异常

16.回滚点
rollback to XXX  

17.约束
not null
unique
primary key 唯一标识,非空不能重复
foreign key
            关联另一张表的 列 那个列要是唯一的
            主键是:唯一 非空不重复
        大部分是关联到主键上
        外键 指向.... 它的取值范围是关联的那个列的取值范围
  on delete cascade
  on delete set null
 
 

check 
  定义每一行必须满足的条件           

列级约束              对一列
表级约束 constraint   对多列
not null 只能定义在列上
建约束的时候 最好给它取名字

唯一约束的列值可以为空

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值