Oracle建表、索引、主键

以下内容转自:http://blog.csdn.net/singit/article/details/71188898

Oracle建表、索引、主键

--主键
create table emp (id number constraint id_pr primary key ,name1 varchar(8));
create table emp9 (id number ,name1 varchar(8) ,constraint aba_pr primary key(id,name1));
--外键
create table emp1(id number references emp(id),name varchar(8));
--复合外键
create table emp0(id number ,name varchar(8) ,constraint fk_nam1e foreign key(id,name) references emp9(id,name1));


--主键另外写法
create table emp2(id number,name varchar(8),id1 number, constraint pk_id primary key(id),constraint fk_name foreign key(id1) references emp(id))
--check 约束的写法

create table emp4(id number check(id in(1,2 ,3)),name varchar(8));

 

 

[sql] view plain copy
 
  1. create table userInfo (  
  2. id number(6) primary key,--主键  
  3. name varchar2(20) not null,--非空  
  4. sex number(1),  
  5. age number(3) default 18,  
  6. birthday date,  
  7. address varchar2(50),  
  8. email varchar2(25) unique,--唯一  
  9. tel number(11),  
  10. deptno number(2) references dept(deptno)—外键  
  11. );  

 

[sql] view plain copy
 
  1. 带约束名称:  
  2. create table userInfo (  
  3. id number(6) constraint id_pk primary key,  
  4. name varchar2(20) constraint name_nn not null,  
  5. sex number(1),  
  6. age number(3) default 18,  
  7. birthday date,  
  8. address varchar2(50),  
  9. email varchar2(25) constraint email_uqe unique,  
  10. tel number(11),  
  11. deptno number(2) constraint dept_deptno_ref references dept(deptno)  
  12. );  
  13.   
  14. 列模式:  
  15. create table userInfo (  
  16. id number(6),  
  17. name varchar2(20),  
  18. sex number(1),  
  19. age number(3) default 18,  
  20. birthday date,  
  21. address varchar2(50),  
  22. email varchar2(25),  
  23. tel number(11),  
  24. deptno number(2),  
  25. constraint id_pk primary key (id),--也可以两个以上,联合主键  
  26. constraint dept_deptno_ref foreign key (deptno) references dept(deptno),  
  27. constraint emial_name_uqe unique (email, name)  
  28. );  

 

[sql] view plain copy
 
    1. 4、创建索引  
    2. 普通索引:create index idx_dpt_dname on dept(dname);  
    3. 联合索引:create index idx_dept_dname_deptno on dept(dname, deptno);  
    4. --唯一索引  
    5. create unique index idx_emp_ename on scott.emp(ename);  
    6. --反向键索引  
    7. create index idx_emp_rev_no on scott.emp(empno) reverse;  
    8. --位图索引  
    9. create bitmap index idx_emp_name on scott.emp(dname);  
    10. --索引组织表,一定要有主键  
    11. create table tab (  
    12. id int primary key,  
    13. name varchar2(20)  
    14. ) organization index;  
    15. --索引组织表的insert效率非常低  
    16. --分区表索引  
    17. create index idx_name on table(col) local/global;  
    18. --索引分区  
    19. 提示:当给表创建主键或唯一键约束时,系统也会创建一个约束给该字段;同样创建索引也会占用数据库空间;索引在访问、查询的时候效率有提高,但是在修改表的时候效率就会降低;  
    20. 5、创建序列  
    21. create sequence seq;  
    22. select seq.nextval from dual;  
    23. insert into tab values(sql.nextval, ‘music’);  
    24. create sequence seqtab  
    25. start with 2 –从2开始  
    26. increment by 3—每次加3  
    27. nomaxvalue—没有最大值  
    28. minvalue 1—最小值1  
    29. nocycle—不循环  
    30. nocache;--不缓存  
    31. --修改序列 ,不能修改起始值  
    32. alter sequence seqtab  
    33. maxvalue 1000;  
    34. 6、创建同义词  
    35. 同义词,顾名思义就是说别名、或是另一个名字。  
    36. create synonym scott_emp for scott.emp;  
    37. create public synonym scott_dept for scott.dept;  
    38. select * from scott_emp;  
    39. select * from scott_dept;  
    40. 7、创建表空间  
    41. create tablespace HooMS  
    42. datafile 'E:\HooMS.dbf'  
    43. size 5M  
    44. autoextend on next 2M maxsize 10M;  
    45. --创建用户、分配可以操作表空间  
    46. create user hoo  
    47. identified by hoo  
    48. default tablespace HooMS  
    49. temporary tablespace temp;  
    50. --创建表空间  
    51. create tablespace myMS  
    52. datafile 'c:\myMS.dbf'  
    53. size 1M  
    54. autoextend on;  
    55. --扩展表空间--修改表空间大小  
    56. alter database  
    57. datafile 'c:\myMS.dbf'  
    58. resize 2M;  
    59. --扩展表空间--添加数据文件  
    60. alter tablespace myMS  
    61. add datafile 'c:\myMS_2.dbf'  
    62. size 1M;  
    63. --设置dbf文件自动增长  
    64. alter database  
    65. datafile 'c:\myMS_2.dbf'  
    66. autoextend on next 2M maxsize 4M;  
    67. --表空间重命名  
    68. alter tablespace myMS  
    69. rename to hooMS;  
    70. --分离表空间(脱机)  
    71. alter tablespace hooMS  
    72. offline temporary;  
    73. --归档模式下脱机  
    74. alter tablespace hooMS  
    75. offline immediate;  
    76. --使表空间联机  
    77. alter tablespace hooMS online;  
    78. --删除无数据的表空间  
    79. drop tablespace hooMS;  
    80. --删除带数据的表空间  
    81. drop tablespace hooMS  
    82. including contents;  

posted on 2018-02-09 17:19  傻瓜乐园  阅读(1038)  评论(0)    收藏  举报

导航