1.Oracle建表
oracle数据库常用的5种标准数据类型
CHAR(length) 存储固定长度的字符串,若存储的字符长度较小,在末尾填空格 。
VARCHAR(length) 存储可变长度的字符串,length参数是指定的参数最大长度,但仅仅是预定义,可扩展。
DATE 存储日期和时间,格式需要根据自己要求定义,可存储公元前4712.01.01-公元9999.01.01 常用格式为‘yyyy-MM-dd’
INTEGER 存储整数,必须是整数数字,不可是浮点数,简单理解为自然数,(但也支持INT)
NUMBER(precision,sacle)存储存储浮点数,precision精度是使用的最大位数,包括小数点之前和之后的部分总和,oracle数据库支持的最大精度为38位。
创建语句:
CREATE [GLOBAL TEMPORARY] TABLE table_name ---GLOBAL TEMPORARY 该表的行都是临时的
(column_name type [CONSTRAINT constraint_def DEFAULT default_exp], ---column 列名,type数据类型
column_name type [CONSTRAINT constraint_def DEFAULT default_exp]...) ---constraint_def 指定对某个列的约束,
[ON COMMIT {DELETE | PRESERVE} ROWS] ---on commit控制表的有效期,delete 说明行在事务在结束时才能删除,preserve说明行在用户会话结束时才能被删除,若没指定,默认为delete。
TABLESPACE tab_space; ----tab_space 该表的指定表空间,若没指定,默认存储在该用户的默认表空间中。
事实上,创建表的语法远远比这个复杂,但实际创建表却也没这么麻烦,一般为简单创建:
eg:create table person (
id int constraint id_pk primary key,name varchar(200) constraint name_not not null,age integer,
city varchar(50) constraint city_not not null,sex char(4) constraint sex_ck check(sex in('M','W')),
birthday date constraint bir_not not null); ----其中列的名称不能为关键字,像‘name','user'之类的虽然可以创建,但也为关键字,应该尽量避免使用。
2.数据表的修改
①向表中添加一列 :ALTER TABLE table_name add (column_name,type)
eg: ALTER TABLE person ADD(telphone,char(11));
②修改表中某一列的数据类型 :ALTER TABLE table_name modify (column_name,type);
eg: alter table person modify (name,char(50));
③ 修改某一列的列名 : alter table table_name rename column old_name to new_name;
eg: alter table person rename column city to hometown;
④修改表名 : Rename table old_name to new_name
eg: alter table person to people;
三、设置主键自增长
①创建序列: create sequence seq_id increment by 1 start with 1 minvalue 1 nomaxvalue nocycle nocache;
----对id这个列创建序列,从1开始每次增长1,最小值是1,没有最大值,不循环,没有缓存。
②创建触发器
create trigger tri_id
before insert on students for each row when(new.id is null)
begin
select seq_id.nextval into:new.id from dual;
end;
四 插入数据
① 对所有列都插入数据 : insert into table_name values('','',...);
② 未对所有列都插入数据,则必须指明每列的列名: insert into table_name(column_name1,column_name2,...)values('','',..)
eg: insert into(name,age,city,sex,birthday) values('Aaron',24,'wuhan','M',to_date('1990-09-08','yyyy-MM-dd'));
手动输入数据:
①执行:select * from table_name for update;
②点击锁,打开锁
③ 点击”+“,增加数据
④
五 保存数据
commit ;最后提交数据