[oracle初级]关于简单的建表的,添加数据,设置约束条件等

本文介绍了Oracle数据库中表的创建、修改、数据插入等基本操作,包括数据类型的选择、主键自增设置及常见SQL语句的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ;最后提交数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值