下面是本人学习Oracle中的笔记一些基本创建表和管理表语句总结:
数据库中创建表和管理表是是最为重要的也是关系到整个项目的运作的,如果数据库设计不好会导致项目的运转不起来,容易崩掉项目,从而又重新设计数据库导致自己很麻烦,如果到公司里工作之后会被项目总监骂,说你不认真做事搞得负责的模块都做不好。
下面是我在学习中总结创建表最为基础的一些语句,把基础的把握好了难的也是由基础的演变过去的。
-
建表命名和列命名规则:
• 必须以字母开头
• 必须在 1–30 个字符之间
• 必须只能包含 A–Z, a–z, 0–9, _, $, 和 #
• 必须不能和用户定义的其他对象重名
• 必须不能是Oracle 的保留字 -
下面我创建的表是没有主键、外键和列非空的约束也没有,唯一性也没有,这时一个简单有基础的建表,这些条件是在建表需要的什么条件时就加上去的。
代码如下:
Create table dept–(表名:dept)
(deptno_ID in(10)
deptno Number(2),–(列名:deptno 类型:Number)
deptno_name Varchar2(10)
dname Varchar2(14),
loc Varchar2(13)); -
使用子查询创建表。我的理解是在已有的表用子查询查出某个表需要的列和筛选出来的数据,然后给一个表名执行之后就完成了
代码如下
create table dept81
AS select employee_id, last_name,
salary*12 salary, hire_date
from employees
where department_id = 80; -
Alter table语句追加列, 修改, 或删除列的语法:下面用例子来完成:
4.1可以修改列的 数据类型, 尺寸和默认值:
修改列的数据类型:
alter table dept81
modify (last_name varchar2(30))
4.2删除一个列:(dept81:表名 job_id:列名;)
alter table dept81 drop column job_id;
4.3向表中添加数据:(dept81:表名 ‘207’:列对应输入的数据)向表中添加数据是必 须根据添加的表中约束条件添加,什么类型就添加什么数据,如果可为空的用“null”
表示即可。
insert into dept81
values(‘207’,‘scoot’,‘2222222’,
sysdate,null)
4.4 追加一个新的列:当你需要在某个表添加一个列的时候就可以用到下面的语句,追加列的时候如果要用到约束时给它舔上。
(job_id:追加列的名 Varchar2(9):数据类型)
Alter Table dept80 Add (job_id Varchar2(9));
4.5重命名一个列:column:原列名 to 后面跟紧的是改后名
alter table dept81 rename column salary to “工资”
- 常用到的数据类型
数据类型 | 描述 |
---|---|
VARCHAR2(size) | 可变长字符数据 |
CHAR(size) | 定长字符数据 |
NUMBER(p,s) | 可变长数值数据 |
DATE | 日期型数据 |
LONG | 可变长字符数据,最大可达到2G |
CLOB | 字符数据,最大可达到4G |
RAW (LONG RAW) | 原始的二进制数据 |
BLOB | 二进制数据,最大可达到4G |
BFILE | 存储外部文件的二进制数据,最大可达到4G |