点击蓝色字关注“SQL数据库运维”

Oracle表是Oracle数据库的核心,是存储数据的逻辑基础。Oracle表是一个二维的数据结构,由列字段和对应列的数据构成一个数据存储的结构。可以简单看成行和列的二维表,列代表着Oracle字段(column),行代表着一行数据(即一条数据记录)。
但是在建立Oracle数据表之前,我们需要先了解下Oracle字段数据类型,根据列字段不同的属性,使用不同的数据类型进行Oracle表的建立,常用的Oracle列字段的数据类型如下:


CREATE TABLE schema_name.table_name (column_1 data_type column_constraint,column_2 data_type column_constraint,...table_constraint);
首先,在CREATE TABLE子句中,指定新表所属的表名和模式名称。
其次,在圆括号内列出所有列。如果一个表有多个列,则需要用逗号分隔每个列的定义。列定义包括列名,后跟它的数据类型,例如NUMBER,VARCHAR2和列约束,如NOT NULL,主键,约束检查等。
注意:请注意用户权限问题,必须具有CREATE TABLE系统特权才能在模式中创建新表,并使用CREATE ANY TABLE系统特权在其他用户的模式中创建新表。除此之外,新表的所有者必须具有包含新表或UNLIMITED TABLESPACE系统特权的表空间的配额。权限授权可参考:Oracle用户创建、赋权、查询及删除操作(点击可跳转至文章查看)
创建stuinfo(学生信息表)
--实例建表stuinfocreate table JT_CS.stuinfo(stuid varchar2(11) not null,--学号:'S'+班号(7位数)+学生序号(3位数)(不能为空)SC200101001stuname varchar2(50) not null,--学生姓名(不能为空)sex char(1) not null,--性别(不能为空)1(男)、2(女)age number(2) not null,--年龄(不能为空)classno varchar2(7) not null,--班号:'C'+年级(4位数)+班级序号(2位数)(不能为空)C200101stuaddress varchar2(100) default '地址未录入',--地址 (不填或为空时默认填入‘地址未录入‘)grade char(4) not null,--年级(不能为空)enroldate date,--入学时间idnumber varchar2(18) default '身份证未采集' not null--身份证(不能为空))--stuinfo存储的表空间是users,storage表示存储参数:区段(extent)一次扩展64k,最小区段数为1,最大的区段数不限制。tablespace USERSstorage(initial 64Kminextents 1maxextents unlimited);-- Add comments to the table--comment on table 是给表名进行注释comment on table JT_CS.stuinfois '学生信息表';-- Add comments to the columns--comment on column 是给表字段进行注释。comment on column JT_CS.stuinfo.stuidis '学号';comment on column JT_CS.stuinfo.stunameis '学生姓名';comment on column JT_CS.stuinfo.sexis '学生性别';comment on column JT_CS.stuinfo.ageis '学生年龄';comment on column JT_CS.stuinfo.classnois '学生班级号';comment on column JT_CS.stuinfo.stuaddressis '学生住址';comment on column JT_CS.stuinfo.gradeis '年级';comment on column JT_CS.stuinfo.enroldateis '入学时间';comment on column JT_CS.stuinfo.idnumberis '身份证号';

查询表结构方法可参考之前的文章:Oracle中查询表结构的六种方法(点击蓝色字体跳转至相关文章)

--添加约束--把stuid当做主键,主键字段的数据必须是唯一性的(学号是唯一的)alter table JT_CS.STUINFOadd constraint pk_stuinfo_stuid primary key (STUID);-- --给字段年龄age添加约束,学生的年龄只能0-60岁之内的alter table JT_CS.STUINFOadd constraint ch_stuinfo_agecheck (age>0 and age<=60);--性别不能填入不是1(男)、2(女)之外的数据alter table JT_CS.STUINFOadd constraint ch_stuinfo_sexcheck (sex='1' or sex='2');--年级alter table JT_CS.STUINFOadd constraint ch_stuinfo_GRADEcheck (grade>='2000' and grade<='9999');

--语法:SELECT语句可指定列或添加where条件CREATE TABLE new_tableAS (SELECT * FROM old_table);
CREATE TABLE JT_CS.STUINFO_01 AS (SELECT * FROM JT_CS.STUINFO);


点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。
动动小手点击加关注呦☟☟☟
文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




