Oracle笔记2
一、数据类型
1、字符型:
①char()固定长度字符串char() 'x' char(5) 'Jack_' 2000 byte存储固定长度的字符串。参数length指定了长度,如果存储的字符串长度小于length,用空格填充。默认长度是1,最长不超过2000字节。
②varchar2()可变长度varchar2(5) 'Jack'4000 byte存储可变长度的字符串。length指定了该字符串的最大长度。默认长度是1,最长不超过4000字符。
2、数字型:
number(p,s) 数字 int short long float double number(5,4) 3.1415
既可以存储浮点数,也可以存储整数,p表示数字的最大位数(如果是小数包括整数部分和小数部分和小数点,p默认是38为),s是指小数位数。
3、时间型:
date 纪元年月日时分秒 存储日期和时间,存储纪元、4位年、月、日、时、分、秒,存储时间 从公元前4712年1月1日到公元后4712年12月31日。
timestamp 时间戳 时区精确到秒后6位,不但存储日期的年月日,时分秒,以及秒后6位,同时包含时区。
4、文件型:
clob 文本文件 存储大的文本,比如存储非结构化的XML文档
blob 二进制文件 存储二进制对象,如图形、视频、声音等。
二、
1、创建表 create table 表名 ( 字段1 数据类型, 字段2 数据类型 ... ) ;
约束 :
①主键约束 primary key 这列的值能唯一地表示表中的一个是实体, 复合主键, 唯一的 非空的
②非空约束 not null 这列的值不能为空
③唯一约束 unique 这列的值必须唯一
④检查约束 check 给列设定一些其他限制
⑤外键约束 foreign key ... references ... 这列是别表的主键,在本表里就是外键
⑥默认约束 default
2、添加约束的格式:
alter table 表名 add constraint 约束名字 约束关键字 (字段名) ;
三、常用SQL语句
修改表的结构
alter table 表名 ...
增加列
alter table 表名 add 列名 数据类型 [约束] ;
修改列
alter table 表名 modify 列名 新的数据类型 [ 新的约束 ] ;
删除列
alter table 表名 drop column 列名 ;
增加约束
alter table 表名 add constraint 约束名 约束关键字 (字段名);
删除约束
alter table 表名 drop constraint 约束名 ;
改列名
alter table 表名 rename column 旧列名 to 新列名 ;
改表名
alter table 旧表名 rename to 新表名;
rename 旧表名 to 新表名:
查询
select * from 表名 ;
插入数据
INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……) ;
复制表
create table 新表名 as select * from 旧表名;
更新表中的数据
update 表名 set 列名1=新值,列名2=新值 where 筛选条件 ;
删除表中的数据
delete from 表名 where 筛选条件 ;
向表中插入数据
insert into 表名(列名1,列名2...) values (值1,值2 ...) ;
删除表中的全部数据
delete from 表名 ; --DML 可以回滚 相对安全
truncate table 表名 ; --DDL 不能回滚 相对快捷 危险 !!!
删除表
drop table 表名 [purge] ;
保存点 回滚
savepoint
rollback