oracle表的管理(数据类型,表的创建,删除,数据操作)
2017-08-17 10:21
435 查看
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
日期类型
date 包含年月日和时分秒 oracle 默认格式 : DD-MON-YY
timestamp 这是oracle9i版本对date数据类型的扩展。可以精确到毫秒。
图片
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; –删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
表名与列名的命名规则:
• 必须以字母开头
• 表名长度不能超过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
日期类型
date 包含年月日和时分秒 oracle 默认格式 : DD-MON-YY
timestamp 这是oracle9i版本对date数据类型的扩展。可以精确到毫秒。
图片
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; –删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
相关文章推荐
- oracle表的管理(数据类型,表创建删除,数据CRUD 操作)
- oracle表的管理(数据类型,表创建删除,数据CRUD 操作)
- oracle 表的管理(数据类型,表创建删除,数据CRUD 操作)
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- 表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询) 1.Oracle表的管理
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
- 4.oracle表的管理(数据类型,表创建删除,数据CRUD操作)
- oracle的数据泵导入,导出以及创建用户及删除当前连接用户
- PostgreSQL简介、安装、用户管理、启动关闭、创建删除数据库
- 认识oracle以及创建用户和了解数据类型!
- oracle创建定时job,job调用存储过程,批量查询,批量修改,自定义数据类型,
- sql server 2005 中数据库表 的创建 ,查看表 属性,表的名称重命名,情况表中信息,删除表 ; 表中列重命名,添加新列,修改列的数据类型,删除列,设置列的主键外键
- 4.windows和Linux下创建oracle用户名表空间,表,插入数据,用户管理表等操作
- 在Oracle中存储与管理大对象数据类型
- oracle创建数据表,修改,删除数据表
- oracle创建删除表空间、用户、数据导入导出等常用sql语句
- Oracle数据库管理之创建和删除数据库
- sqlite数据类型、关键词及创建、修改、删除数据表
- 订单号数据类型修改--删除和创建复制订阅项目(只需要操作指定字段作为主键的那些)
- oracle使用还原段的目的和还原数据的管理方法及还原段的类型