oracle创建表

合集下载

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。

Oracle创建表、修改字段类型

Oracle创建表、修改字段类型

Oracle创建表、修改字段类型1.创建表1.创建表create table SCM_PER( --SCM_PER表名ID NUMBER(6) primary key,--主键IDUSERID varchar2(30),--⽤户ID--Permission varchar2(11),--⽤户权限--begin_date date,--end_date date,--def_date date,--def_usr_id varchar2(30),upd_date date,upd_usr_id varchar2(30),PRE_INV_005 number,PRE_CM_001 number(2),PRE_STK_039 number(2),PRE_INV_012 number(2),PRE_PRB_001 number(2),REM varchar2(200))SELECT*FROM SCM_PER2.创建序列create sequence SCM_PER_Seq --序列名increment by1start with1maxvalue 999999999;3.创建触发器create or replace trigger SCM_PER_TRGbefore inserton SCM_PERfor each rowdeclareID NUMBER;beginSELECT SCM_PER_Seq.NextvalINTO :NEW.IDFROM DUAL;end;View Code4.删除列alter table tablename drop (column)5.增加列alter table tablename add (column datatype [default value][null/not null],….);--增加新字段alter table TABLENAME add NAME VARCHAR2(200);--增加备注comment on column is'注释';2.修改字段类型注:⽆法直接修改字段类型,⽅法是添加⼀个新列,将原数据更新到新列中--PROJ为tablename,CONSTRUCTION_SEQ为原列名--修改原表名alter table PROJ rename column CONSTRUCTION_SEQ to CONSTRUCTION_SEQold;--增加新字段alter table PROJ add CONSTRUCTION_SEQ VARCHAR2(200);--增加备注comment on column PROJ.CONSTRUCTION_SEQ is'更改后的字段,建造序列';--to_char--将原字段数据给到新字段update PROJ set CONSTRUCTION_SEQ=to_char(CONSTRUCTION_SEQold);--删除原字段alter table PROJ drop column CONSTRUCTION_SEQold;View Code3.查询树形所有上下级数据select*from std_cls start with std_cls_id='SABT' connect by prior p_std_cls_no=std_cls_nounion(select*from std_cls start with std_cls_id='SABT' connect by prior std_cls_no=p_std_cls_no)4.常⽤语句1.将回车符去除update TABLENAME t set t.column=replace(t.column,chr(13),'');--/r2.转成⽇期格式To_Date('2019-09-11 09:11:07', 'yyyy-mm-dd hh24:mi:ss')3.找到某个字段有⾮数字的select*from Non_Ship_Mat s where regexp_replace(substr(s.non_ship_mat_id, 9, 14),'^[-\+]?\d+(\.\d+)?$','') is not null;。

oracle table of 创建方法

oracle table of 创建方法

oracle table of 创建方法(最新版3篇)《oracle table of 创建方法》篇1在Oracle 数据库中,创建表(table)的方法有以下几种:1. 使用SQL 语句直接创建表:```sqlCREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);```例如,创建一个名为`students`的表,包含`id`、`name`和`age`三列,可以使用如下SQL 语句:```sqlCREATE TABLE students (id NUMBER(5),name VARCHAR2(20),age NUMBER(3));```2. 使用PL/SQL程序创建表:在PL/SQL程序中,可以使用`CREATE TABLE`语句来创建表。

例如:```plsqlBEGINCREATE TABLE students (id NUMBER(5),name VARCHAR2(20),age NUMBER(3));END;```3. 使用图形界面工具创建表:可以使用Oracle SQL*Plus、SQL Developer、Toad 等工具,通过图形界面创建表。

这些工具通常提供了可视化的表设计器,便于用户指定表结构和约束。

以SQL Developer 为例,创建表的步骤如下:-打开SQL Developer 软件-登录到Oracle 数据库-点击"新建"按钮,创建一个新的表-在表设计器中,添加表列并指定数据类型、约束等-点击"保存"按钮,完成表的创建无论使用哪种方法,创建表时都需要指定表名、列名和数据类型。

根据需要,还可以设置主键、外键、检查约束、默认值等。

《oracle table of 创建方法》篇2在Oracle 数据库中,创建表(table)的方法有很多种。

Oracle数据库建表及其基本操作

Oracle数据库建表及其基本操作

1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。

oracle创建表空间、表、主键、外键、序列

oracle创建表空间、表、主键、外键、序列

oracl‎e创建表空间‎、表、主键、外键、序列--创建表空间‎creat‎e table‎s pace‎proje‎c tsdataf‎i le 'D:\proje‎c ts.dbf'size 10m autoe‎x tend‎on;--创建用户名‎creat‎e user projident‎i fied‎by projdefau‎l t table‎s pace‎proje‎c ts;--分配系统权‎限和角色grant‎conne‎c t to proj;--创键表和其‎它对象grant‎resou‎r ce to proj;grant‎dba to proj;--连接该用户‎conne‎c t proj/proj;--创建序列creat‎e seque‎n ce U_seq‎minva‎l ue 1maxva‎l ue 10000‎start‎with 1incre‎m ent by 1cache‎20;--创建表creat‎e table‎Users‎(Id varch‎a r2(10) not null prima‎r y key,uName‎varch‎a r2(20) not null,uPwd varch‎a r2(10) not null,uSex varch‎a r2(10) not null,uEmai‎l varch‎a r2(20) not null,uLike‎varch‎a r2(20));--为表插入数‎据inser‎t into Users‎value‎s(U_seq‎.nextv‎a l,'aa','12345‎6','女','feiya‎n***********','唱歌'); inser‎t into Users‎value‎s(U_seq‎.nextv‎a l,'bb','12345‎6','男','feiya‎n***********','篮球');creat‎e seque‎n ce U_ord‎e rminva‎l ue 1maxva‎l ue 10000‎start‎with 1incre‎m ent by 1cache‎20;--创建表creat‎e table‎Order‎s(id varch‎a r(2) not null prima‎r y key,uuid varch‎a r2(10) not null,oName‎varch‎a r2(20) not null,oPric‎e numbe‎r not null,oNum numbe‎r not null);--创建主外键‎关系alter‎table‎Order‎s add const‎r aint‎fk_Id‎forei‎g n key (uuid) refer‎e nces‎Users‎(id);--创建约束alter‎table‎Users‎add const‎r aint‎ck_Up‎w d check‎(lengt‎h(Upwd)=6);插入数据inser‎t into Order‎s value‎s(U_ord‎e r.nextv‎a l,'1','oracl‎e书籍',98.88,1);inser‎t into Order‎s value‎s(U_ord‎e r.nextv‎a l,'2','java书‎籍',128.88,1);。

Oracle创建表语句(Createtable)语法详解及示例

Oracle创建表语句(Createtable)语法详解及示例

Oracle创建表语句(Createtable)语法详解及⽰例创建表(Create table)语法详解1. ORACLE常⽤的字段类型ORACLE常⽤的字段类型有VARCHAR2 (size) 可变长度的字符串, 必须规定长度CHAR(size) 固定长度的字符串, 不规定长度默认值为1NUMBER(p,s) 数字型p是位数总长度, s是⼩数的长度, 可存负数最长38位. 不够位时会四舍五⼊.DATE ⽇期和时间类型LOB 超长字符, 最⼤可达4GCLOB 超长⽂本字符串BLOB 超长⼆进制字符串BFILE 超长⼆进制字符串, 保存在外的⽂件⾥是只读的.数字字段类型位数及其四舍五⼊的结果原始数值1234567.89数字字段类型位数存储的值Number 1234567.89Number(8) 12345678Number(6) 错Number(9,1) 1234567.9Number(9,3) 错Number(7,2) 错Number(5,-2) 1234600Number(5,-4) 1230000Number(*,1) 1234567.92. 创建表时给字段加默认值和约束条件创建表时可以给字段加上默认值例如 : ⽇期字段 DEFAULT SYSDATE这样每次插⼊和修改时, 不⽤程序操作这个字段都能得到动作的时间创建表时可以给字段加上约束条件例如: ⾮空 NOT NULL不允许重复 UNIQUE关键字 PRIMARY KEY按条件检查 CHECK (条件)外键 REFERENCES 表名(字段名)3. 创建表的例⼦CREATE TABLE DEPT(EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,DNAME VARCHAR2(14),LOC VARCHAR2(13)) ;CREATE TABLE region(ID number(2) NOT NULL PRIMARY KEY,postcode number(6) default '0' NOT NULL,areaname varchar2(30) default ' ' NOT NULL);4. 创建表时的命名规则和注意事项1)表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,#2)⼤⼩写不区分3)不⽤SQL⾥的保留字, ⼀定要⽤时可⽤双引号把字符串括起来.4)⽤和实体或属性相关的英⽂符号长度有⼀定的限制注意事项:1)建表时可以⽤中⽂的字段名, 但最好还是⽤英⽂的字段名2)创建表时要把较⼩的不为空的字段放在前⾯, 可能为空的字段放在后⾯3)建表时如果有唯⼀关键字或者唯⼀的约束条件,建表时⾃动建了索引4)⼀个表的最多字段个数也是有限制的,254个.5. 约束名的命名规则和语法约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是SYS_Cn(n是数字)约束名字符串的命名规则同于表和字段名的命名规则6. 使⽤约束时的注意事项约束⾥不能⽤系统函数,如SYSDATE和别的表的字段⽐较可以⽤本表内字段的⽐较想在事务处理后, 做约束的检查SQL> alter session set constraints deferred.7. 由实体关系图到创建表的例⼦ s_dept前提条件:已有region表且含唯⼀关键字的字段idSQL> CREATE TABLE s_dept(id NUMBER(7)CONSTRAINT s_dept_id_pk PRIMARY KEY,name VARCHAR2(25)CONSTRAINT s_dept_name_nn NOT NULL,region_id NUMBER(7)CONSTRAINT s_dept_region_id_fk REFERENCES region (id),CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id));8. 较复杂的创建表例⼦SQL> CREATE TABLE s_emp(id NUMBER(7)CONSTRAINT s_emp_id_pk PRIMARY KEY,last_name VARCHAR2(25)CONSTRAINT s_emp_last_name_nn NOT NULL,first_name VARCHAR2(25),userid VARCHAR2(8)CONSTRAINT s_emp_userid_nn NOT NULLCONSTRAINT s_emp_userid_uk UNIQUE,start_date DATE DEFAULT SYSDATE,comments VARCHAR2(25),manager_id NUMBER(7),title VARCHAR2(25),dept_id NUMBER(7)CONSTRAINT s_emp_dept_id_fk REFERENCES s_dept(id),salary NUMBER(11,2),commission_pct NUMBER(4,2)CONSTRAINT s_emp_commission_pct_ck CHECK(commission_pct IN(10,12.5,15,17.5,20)));8. 通过⼦查询建表通过⼦查询建表的例⼦SQL>CREATE TABLE emp_41 AS SELECT id, last_name, userid, start_dateFROM s_emp WHERE dept_id = 41;SQL> CREATE TABLE A as select * from B where 1=2;只要表的结构.10. ⽤⼦查询建表的注意事项1)可以关连多个表及⽤集合函数⽣成新表,注意选择出来的字段必须有合法的字段名称,且不能重复。

navicat oracle创建表

navicat oracle创建表

navicat oracle创建表【实用版】目录1.Navicat Oracle 简介2.创建表的步骤3.创建表的实例4.创建表的注意事项正文【Navicat Oracle 简介】avicat Oracle 是一款用于管理和操作 Oracle 数据库的图形界面工具,它可以让用户以直观的方式创建、修改和管理数据库对象,大大简化了 Oracle 数据库的管理工作。

使用 Navicat Oracle,用户可以轻松完成数据库的日常维护任务,提高工作效率。

【创建表的步骤】在 Navicat Oracle 中创建表的步骤如下:1.打开 Navicat Oracle 软件,连接到目标 Oracle 数据库。

2.在左侧的导航栏中,展开“数据库”对象,找到需要创建表的模式(schema),右键点击并选择“新建表”。

3.在弹出的“新建表”对话框中,输入表名、选择列名和数据类型,还可以根据需要设置列的约束和默认值。

4.确认无误后,点击“应用”按钮,系统会自动创建表。

5.创建完成后,可以在“查询”窗口中查看新创建的表。

【创建表的实例】假设我们需要在一个名为“my_schema”的模式下创建一个名为“employees”的表,包含以下列:id(员工编号,主键,自增长),name (员工姓名,字符串类型,长度为 50),age(员工年龄,数值类型,范围为 18-65),salary(员工薪资,数值类型,范围为 1000-100000)。

按照上述步骤,在 Navicat Oracle 中创建表如下:1.连接到目标 Oracle 数据库。

2.展开“数据库”对象,找到“my_schema”,右键点击并选择“新建表”。

3.在“新建表”对话框中,输入表名为“employees”,然后添加以下列:- id:字符串类型,长度为 10,自增长,主键- name:字符串类型,长度为 50- age:数值类型,范围为 18-65- salary:数值类型,范围为 1000-1000004.点击“应用”按钮,系统会自动创建表。

oracle数据库创建表语句

oracle数据库创建表语句

oracle数据库创建表语句摘要:1.Oracle 数据库简介2.Oracle 数据库创建表的基本语法3.Oracle 数据库创建表的具体示例4.Oracle 数据库创建表的注意事项正文:【Oracle 数据库简介】Oracle数据库是当前业界最流行的客户/服务器体系机构的数据库之一,它的性能卓越、安全性高、可扩展性强,被广泛应用于各个行业。

Oracle数据库系统由Oracle公司开发,是一款关系型数据库管理系统,它支持SQL(结构化查询语言)进行数据操作。

【Oracle 数据库创建表的基本语法】在Oracle 数据库中,创建表的基本语法如下:CREATE TABLE 表名(列名1 数据类型约束,列名2 数据类型约束,列名3 数据类型约束,...);其中,表名、列名和数据类型是必须的元素,约束可以指定也可以不指定。

【Oracle 数据库创建表的具体示例】下面是一个具体的Oracle 数据库创建表的示例:```CREATE TABLE employee(emp_no NUMBER PRIMARY KEY,emp_name VARCHAR2(50) NOT NULL,emp_age NUMBER,emp_salary NUMBER);```在这个示例中,我们创建了一个名为employee 的表,包含了4 个列:emp_no、emp_name、emp_age 和emp_salary。

其中,emp_no 是主键,emp_name 是非空列。

【Oracle 数据库创建表的注意事项】在Oracle 数据库创建表时,需要注意以下几点:1.表名和列名应遵循命名规范,不能使用关键字或者特殊字符。

2.数据类型要正确选择,以保证数据的正确存储和查询。

3.根据需要设置列的约束,如非空、唯一、主键等。

4.在创建表之前,需要确保已经创建了相应的用户和模式(schema)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CREATE TABLE DEPT(id NUMBER(7),name VARCHAR2(25));
2、将Departments表中数据插入到DEPT表中
SELECT * FROM HR.DEPARTMENTS;
INSERT INTO DEPT(ID,NAME) SELECT * FROM DEPARTMENTS;
CREATE TABLE EMP
(id NUMBER(7),last_name VARCHAR2(25),first_name VARCHAR2(25),dept_id NUMBER(7));
4、修改EMP表,允许输入更长(50)员工的姓氏(LAST_NAME)
ALTER table EMP modify(last_name varchar2(50));
5、在数据字典中确认DEPT表和EMP表的创建结果
DESCRIBE dept;
DESCRIBE emp;
6、根据表Employees的结构创建表Employees2表,仅包含EMPLOYEE_ID、FIRST_NAME、
LAST_NAME、SALARY和DEPARTMENT_ID。

将新表中的各列分别命名为EMPLOYEE_ID、FIRST_NAME、LAST_NAME、SALARY和DEPT_ID
CREATE TABLE employees2 as
SELECT employee_id,first_name,last_name,salary,department_id dept_id
FROM employees;
7、删除EMP表
HR> drop table emp;
8、将EMPLOYEES2表重命名为EMP
HR> alter table employees2 rename to emp;
9、删除表EMP的FIRST_NAME列,并确认
HR> alter table EMP drop column FIRST_NAME;
10、根据以下要求创建EMP2表:包含EMPLOYEE_ID,LAST_NAME,SALARY三列,创建表
同时将EMPLOYEES表中数据导入,导入的数据要求:在20部门工作且工资在10000元以下的员工增加50%工资后导入。

CREATE TABLE EMP2 as
SELECT employee_id,last_name,salary
FROM employees
WHERE
SELECT salary
FROM employees
WHERE salary<1000
Having salary=1.5*salary;
11、基于EMPLOYEES表创建一张新表EMP3,把在Toronto工作的员工的所有信息在创
建表的同时导入
12、创建一张Test,包含三列(c1 number,c2 char(10),c3 varchar2(10)),并插入三
行数据。

待续…。

相关文档
最新文档