1. 数据类型:
(1)char(长度):存储固定长度的字符串。
(2)varchar2(长度):存储可变长度的字符串。
(3)number(p,s):存储浮点和整数,p数字的总长度,s小数位数。
(4)date :存储日期和时间,4位年月日时分秒,木有长度。
(5)timestamp :存储日期的年月日时分秒,以及秒后 6 位,同时包含时区。
(6)clob:存储大的文本,最大4G。
(7)blob:存储二进制对象,最大4G。
(8)integer:只能存储整数。
2. 表:
1.create table 表名(字段); --创建表
2.alter table 表名 add constraint 约束名 约束内容。
3.primary key(字段) --主键约束,字段非空且唯一的;
check(字段=’’ or 字段=’’) --验证约束,只能选设置的条件
check(字段>=0,字段<=x) --验证约束
unique(字段) --设置内容唯一约束
default( '默认值' ) for 字段 --设置默认值
注:主键约束:父记录(从表)要在子记录(主表)创建之前创建,子记录要在父记录删除之前删除。
4. alter table A表名 add constraint A约束名 foreign key
(A要关联B的字段) references B表名(B被A关联的主键);
--设置外键
A表为主表 B为从表 ,主表一般关联从表的主键,如不是主键必须是唯一性的,设置外键是限制数据修改。外键约束维护数据完整性
5. alter table 约束基于的表名 drop constraint 约束名
--删除表的约束
注:如有外键,先删主表,在删被关联的从表;
从表可添加,主表只能调用从表数据;如果从表中的某个数据没有被主表调用则可以删除,修改。
6.alter table 表名 modify (字段 新数据类型); --修改字段类型
alter table 表名 add (字段 数据类型); --增加字段类型
alter table 表名 drop(字段); --删除字段
alter table 表名 rename column 旧字段 to 新字段;
--修改字段名
alter table 旧表名 rename to 新表名; --表名重命名
7. create table 创建的表名 as select * from 表名;
--根据结果集创建表,可用并集创建两个表的内容
注:根据查询出来的内容,创建新的表,但创建时不复制任何约束,可用于复制,如果只复制表结构,只需要使where条件不成立。
8.insert into 表名 select * from 表名; --插入查询的结果
9.insert into 表名(列名:可忽略) values(值);--插入数据
插入数据是后面跟commit提交,rollback 回滚,用其中一个。
注: 忽略则显示全部列
提交就是把放在缓存区的数据提交到库存中。
回滚就相当于撤销,但只能回滚木有提交还在缓存区的数据;
10.添加备注:
comment on table 表名 is 个人信息; --给表添加备注
comment on column 表名.字段名 is 备注 ; --给字段添加备注
11.update 表名set 列名=值 where 条件;
--清空修改某个列的数据
注:更改符合where条件的信息,对满足条件的指定列进行修改
如果删除某个列,则update表达式的条件为null(空),即可。
如果条件后面跟的某个列为空,不能用=只能用is。
12.delete from 表名 where 条件;--删除整行数据,通过日志恢复
13.truncate table 表名; --删除数据,不可恢复,DDL命令,速度块
delete:手动提交,truncate:自动提交
逻辑删除:更改状态为删除,并不是数据的删除,其实它的数据还存在数据库中。用update
物理删除:真正的删除