oracle表的管理(数据类型,表的创建,删除,数据操作)

oracle入学第二天—-2017-08-17


表名与列名的命名规则:
• 必须以字母开头
• 表名长度不能超过30个字符 (最大30字符)
• 不能使用oracle的保留字
• 只能使用如下字符 A-Z,a-z,0-9,$,#等


数据类型(常用,常见)

1,char 定长 最大2000个字符。
例子:char(10) ‘小韩’前四个字符放‘小韩’,后添6个空格补全 如‘小韩’
2,varchar2(20) 变长 最大4000个字符。
(oracle优化了)
例子:varchar2(10) ‘小韩’ oracle分配四个字符。这样可以节省空间。
3,clob(character large object) 字符型大对象 最大4G
char 查询的速度极快,但浪费空间,查询比较多的数据用。
varchar 查询速度较慢,但节省空间

数字型

(oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集,int类型只能存储整数;)
1. number范围 -10的38次方 到 10的38次方;//相当java的int类型 可以表示整数,也可以表示小数
number(5,2) 表示一位小数有5位有效数,2位小数 范围:-999.99到999.99 number(5)
表示一个5位整数 范围99999到-99999

日期类型

  1. date 包含年月日和时分秒 oracle 默认格式 : DD-MON-YY
  2. timestamp 这是oracle9i版本对date数据类型的扩展。可以精确到毫秒。

图片

  1. blob 二进制数据 可以存放图片/声音 4G
    一般来讲,在真实项目中是不会把图片和声音真的往数据库里存放,一般存放图片、视频的路径,如果安全需要比较高的话,则放入数据库
    (这个没用过,希望知道可以告诉下怎么用,以及在什么情况下用好!)

表的创建

–学生表
alter table student(
stuNo number(2) –学号,
stuName varchar2(10) ,–姓名
sex char(2) –性别,
birthday date –出生日期
)
–班级表
create table class(
classId number(2),
cName varchar2(40)
)

修改表:

–添加一个字段
SQL>alter table student add( classId number)
–添加多个字段
SQL>alter table student add( classId number,cName varchar2(40))
–修改一个字段的长度
SQL>alter table student modify (stuNo varchar2(30));
修改字段的类型/或是名字(不能有数据) 不建议做
SQL>alter table student modify (stuName char(30));
删除一个字段 不建议做(删了之后,顺序就变了。加就没问题,应为是加在后面)
SQL>alter table student drop column sex;
修改表的名字 很少有这种需求
SQL>rename student to newTableName;

删除表
SQL>drop table student;


添加数据

所有字段都插入数据
INSERT INTO student VALUES (‘A001’, ‘张三’, ‘男’, ‘01-5月-05’, 10);
(Oracle为什么不能想SQL servlet 多行添加数据, oracle怎么多行添加呢)
oracle中默认的日期格式‘dd-mon-yy’ dd日子(天) mon 月份 yy 2位的年 ‘09-6月-99’ 1999年6月;

修改日期的默认格式(临时修改,数据库重启后仍为默认;如要修改需要修改注册表)
ALTER SESSION SET NLS_DATE_FORMAT =’yyyy-mm-dd’;
修改后,可以用我们熟悉的格式添加日期类型:
INSERT INTO student VALUES (‘A002’, ‘MIKE’, ‘男’, ‘1905-05-06’);
插入部分字段
INSERT INTO student(stuNo, stuName, sex) VALUES (‘A003’, ‘JOHN’, ‘女’);
插入空值
INSERT INTO student(stuNo, stuName, sex, birthday) VALUES (‘A004’, ‘MARTIN’, ‘男’, null);

修改数据

修改一个字段
UPDATE student SET sex = ‘女’ WHERE stuNo= ‘A001’;
修改多个字段
UPDATE student SET sex = ‘男’, birthday = ‘1984-04-01’ WHERE stuNo= ‘A001’;

删除数据
DELETE FROM student;
删除所有记录,表结构还在,写日志,可以恢复的,速度慢。
Delete 的数据可以恢复。
savepoint a; –创建保存点
DELETE FROM student;
rollback to a; –将删除的数据恢复到保存点
(提示:听说一个有经验的DBA,在确保完成无误的情况下要定期创建还原点哦!)
DROP TABLE student; –删除表的结构和数据;
delete from student WHERE xh = ‘A001’; –删除一条记录;
truncate TABLE student; –删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值