Oracle 创建表语句

本文详细介绍了在Oracle数据库中创建、修改和删除表的步骤,包括创建表的基本语法、添加注释、授权、插入数据、更新、删除、查询等操作。此外,还涵盖了修改表的增加、修改和删除列,以及重命名表的语法。最后,讨论了清空表和查询表、列、备注信息的方法。
摘要由CSDN通过智能技术生成

一、前言

oracle 创建表时,表名称会自动转换成大写,oracle 对表名称的大小写不敏感。

oracle 表命名规则:

1、必须以字母开头

2、长度不能超过30个字符

3、避免使用 Oracle 的关键字

4、只能使用A-Z、a-z、0-9、_#S

二、语法

2.1 创建表 create table

-- 创建表: student_info 属主: scott (默认当前用户)

create table scott.student_info (
  sno         number(10) constraint pk_si_sno primary key,
  sname       varchar2(10),
  sex         varchar2(2),
  create_date date
);

-- 添加注释
comment on table scott.student_info is '学生信息表';
comment on column scott.student_info.sno is '学号';
comment on column scott.student_info.sname is '姓名';
comment on column scott.student_info.sex is '性别';
comment on column scott.student_info.create_date is '创建日期';

-- 语句授权,如:给 hr 用户下列权限
grant select, insert, update, delete on scott.student_info to hr;

插入验证数据:

-- 插入数据
insert into scott.student_info (sno, sname, sex, create_date)
values (1, '张三', '男', sysdate);
insert into scott.student_info (sno, sname, sex, create_date)
values (2, '李四', '女', sysdate);
insert into scott.student_info (sno, sname, sex, create_date)
values (3, '王五', '男', sysdate);

-- 修改
update scott.student_info si
   set si.sex = '女'
 where si.sno = 3;
 
-- 删除 
delete scott.student_info si where si.sno = 1; 

-- 提交
commit; 

-- 查询
select * from scott.student_info;

2.2 修改表 alter table

1. '增加' 一列或者多列
   alter table scott.student_info add address varchar2(50);
   alter table scott.student_info add (id_type varchar2(2), id_no varchar2(10));
   
2. '修改' 一列或者多列
   (1) 数据类型
   alter table scott.student_info modify address varchar2(100);
   alter table scott.student_info modify (id_type varchar(20), id_no varchar2(20));
   
   (2) 列名
   alter table scott.student_info rename column address to new_address;
   
   (3) 表名
   alter table scott.student_info rename to new_student_info ;
   alter table scott.new_student_info rename to student_info;   
   
3. '删除' 一列或者多列,删除多列时,不需要关键字 column
   alter table scott.student_info drop column sex;
   alter table scott.student_info drop (id_type, id_no);

2.3 删除表 drop table

-- 删除表结构
drop table scott.student_info;

2.4 清空表 truncate table

-- 清空表数据
truncate table scott.student_info;

2.5 查询表、列、备注信息

权限从大到小: 'dba_xx' > all_xx > user_xx ('dba_xx' DBA 用户才有权限)
1. 查询表信息       select * from dba_tables; -- all_tables、user_tables
2. 查询表的备注信息  select * from dba_tab_comments;
3. 查询列信息       select * from dba_tab_cols t order by t.column_id;
4. 查询列的备注信息  select * from dba_col_comments;
Oracle中,建表的语句可以使用"create table"命令。例如,下面是一个建名为"student_info"的表的示例语句: create table scott.student_info ( sno number(10) constraint pk_si_sno primary key, sname varchar2(10), sex varchar2(2), create_date date ); 在这个示例中,"scott"是表的属主,"student_info"是表的名称。表中包含了四个列,分别是"sno"、"sname"、"sex"和"create_date"。其中,"sno"列是主键列,它的数据类型是number(10),"sname"和"sex"列的数据类型是varchar2(10)和varchar2(2),"create_date"列的数据类型是date。 此外,还可以使用"comment on"命令为表和列添加注释。例如: comment on table scott.student_info is '学生信息表'; comment on column scott.student_info.sno is '学号'; comment on column scott.student_info.sname is '姓名'; comment on column scott.student_info.sex is '性别'; comment on column scott.student_info.create_date is '建日期'; 这些注释可以提供关于表和列的额外说明信息。 请注意,建表和添加注释的操作需要相应的权限。可以使用"grant"命令为其他用户授予对表的访问权限。例如: grant select, insert, update, delete on scott.student_info to hr; 这样,用户"hr"就被授予了对"scott.student_info"表的查询、插入、更新和删除的权限。 除了建表,还可以使用"alter table"命令对表进行修改。例如,可以使用"alter table"命令添加、修改或删除表的列。具体的语法和示例可以参考引用\[2\]中的内容。 另外,如果需要查询表、列和备注信息,可以使用相应的查询语句。例如,可以使用"select"语句查询表的信息和备注信息,可以参考引用\[3\]中的示例。 #### 引用[.reference_title] - *1* *2* *3* [Oracle 建表语句](https://blog.csdn.net/KevinChen2019/article/details/126758741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值