Oracle基础(三):表的管理
来源:互联网 发布:北京智慧沃家组合优化 编辑:程序博客网 时间:2024/06/13 18:54
一、数据的存储方式——表
二、数据类型
1、char(size)
1)存放字符串,最大 2000 个字符,是定长。
2)实例:
- name char(32) :
- name 这列最多只能放 32个 字符
- 超过,就报错;如果不够,则使用空格补上
- select name ,dump(name) from dev_user;
- dump:显示列内容具体内容
2、varchar2(size)
1)最大 4000 个字符,是变长。
2)实例
- name varchar2(16)
- name 这列最多只能放 16 字符
- 超过,就报错;如果不够,其余的空间会回收
3)注意:
- 数据的长度是固定的,使用char,存取的速度会很快。
- 原因在于,char是定长的,每次比较都是按定义的大小比较。
- varchar2 是变长,大小不固定只能一个一个比较。
- 数据长度变化的,使用 varchar2 。
3、nchar 与 nvarchar 是 unicode 编码存放
1)char 和 varchar 存放中文时,一个中文占 2 个字符空间。
2)nchar nvarchar 存放中文时,一个中文占 1 个字符空间。
4、clob:
1)字符型大数据对象,最大是8TB
2)变长。
5、blob :二进制数据,可以存放图片/声音
- 其实这些不会直接存数据库,只会存路径,然后去这个路径取。
6、数字型:Number(p,s)
1)表示:整数与小数
- p:有效整数位,1~38。从左到右,第一个非0的数。
- s:小数位,-86~-127。负数即保存到具体的整数位,如-1,保存到十位。
- 变长,存储1~22个字节
- number(5) == number(5,0)
- number(5,2):5位有效位,2位小数。
- 范围:-999.99~999.99
- 如果数值超出了位数限制,就会被截取多余的位数。(四舍五入)
- 575.314 -->575.31
- 575.316 -->575.32
- number(5):5位整数
7、日期类型:Date 和 Timestamp
1)date:包含年月日和时分秒
- 默认格式:day-mon-year
- 自定义函数:使用 to_date() 函数
- 当你对数据进行更新的时候,会自动更新日期。(人,修改名字,生日变化修改)
三、建表
1、语法:
- create table 表名 (列名 number(4),列名 varchar2(20), 列名 date)
- 创建学生表 与 班级表
四、修改表
1、操作表名
1)修改表名称
- 语法:
- ALTER TABLE table1 RENAME TO table2;
- 实例:
- ALTER TABLE dev_class RENAME TO dev_class2;--修改班级表名
2、操作表列
1)添加列
- 语法:
- alter table table1 add (user_number VARCHAR2(2)) ;
- 实例:
- alter table dev_student add class_id number ;--学生表添加班级号
2)删除列
- 语法:
- ALTER TABLE table1 DROP COLUMN user_number;
- 实例:
- ALTER TABLE dev_student DROP COLUMN FELLOWSHIP;--删除学生表的 fellowship 列
3)修改列的名称
- 语法:
- ALTER TABLE table1 RENAME COLUMN a TO b;
- 实例:
- ALTER TABLE dev_student RENAME COLUMN name TO stu_name;--修改学生姓名列
4)修改列的类型
- 语法:
- ALTER TABLE A MODIFY(B not null);
- 实例:
- ALTER TABLE dev_student MODIFY(name varchar2(30));--学生姓名 变成 varchar2(30)
3、操作注释
1)添加表注释
- 语法:
- comment on table table1 is '公司机构团单基础表';
- 实例:
- comment on table dev_student is '学生表';
2)添加列注释
- 语法:
- comment on column table1.base_id is '基础ID';
- 实例:
- comment on column dev_student.id is '学号';
4、其他
1)查看表结构
- 语法:
- desc 表名
- 实例
- desc dev_student;
2)删除表
- 语法:
- drop table 表名;
- 实例
- drop table dev_student;
五、表的CRUD
1、Insert语句
1)语法:
- insert into 表名 (列名,列名...) values(值,值...)
2)注意点
- 类型相同
- 位置对应
- 字符需要加单引号
- 日期类型注意转换格式,加单引号。
- 如果给没个列都添加值,可以省略列名。
3)实例:
- insert into dev_student (id, name, sex, birthday, resume, class_id)
- values (7369, 'SMITH', '男', to_date('17-12-1990', 'dd-mm-yyyy'), null, 1234);
2、Update语句
1)语法:
- UPDATE 表名 SET 列=exprl【WHERE 条件】
- where 条件不加,则全表更新。
2)实例
- UPDATE dev_student a SET a.resume='简历' ;
3、Delete语句
1)语法:
- delete from 表名 【where 条件】;
- where 条件不加,则全表删除。
- 不能删除某一列的值,只能使用update
2)实例: DELETE FROM dev_student a WHERE a.id='73694';
3)比较注意
- delete
- 写日志,可以恢复。
- 如savepoint aa; rollback to aa;
- truncate table 表名
- 删除表中的所有记录,表结构还在。不写日期,无法找回删除的记录。
4、Select语句
- SELECT * FROM dev_student ;
0 0
- Oracle基础(三):表的管理
- Oracle基础(三):索引管理
- Oracle基础(三)数据库管理
- oracle 表管理(三)
- oracle基础(三)
- Oracle基础(二):表管理
- Oracle用户管理(基础)
- Oracle数据库基础(三)
- Oracle—用户管理的完全恢复(三)
- oracle(表的管理)
- Oracle数据库管理(三)之表空间和数据文件
- (oracle数据库基础)第二章 表管理和查询
- OC基础-内存管理(三)AutoreleasePool
- OC基础(三)内存管理
- mysql基础---字段管理(三)
- 三、Oracle数据库之学习笔记---Oracle的表的管理
- Oracle起步学习(三)--权限管理
- Oracle学习笔记(三)——Oracle用户的管理、权限与角色
- magento 时区,对Magento的时间/时区的几点见解
- 快速排序(转载自脚本之家)
- iOS7之后修改状态栏状态
- 读取资源文件的几种方法
- adobe 奥多比bridge extention等产品 “安装程序无法初始化。请下载Adobe Support Advisor检测该问题”
- Oracle基础(三):表的管理
- NAT与NAT穿透(二)
- OpenCV实现仿射变换--通过三个点进行变换
- SkImageDecoder::Factory returned null
- __forceinline 内联函数
- Android学习心得(4) --- MAC下smali文件编写与运行
- 网页图表Highcharts实践教程之图表代码构成
- win8.1 + tomcat8 + JDK1.8 配置经验
- 高可用可伸缩架构实用经验谈