Oracle建表語法

2021-10-09 02:57:06 字數 4616 閱讀 2869

1、建立表的語句

---1、建立模擬的資料表 ---

--1.1.建立學生表student

create

table student(

stuid number not

null

,--學生id

stuname varchar2(10)

notnull

,--名稱

gender varchar2(10)

notnull

,-- 性別

age number(2)

notnull

,-- 年齡

joindate date

null

,--入學時間

classid number not

null

,--班級id

address varchar2(50)

null

--家庭住址 );

--1.2、建立班級表stuclass

create

table stuclass(

classid number not

null

,-- 班級id

classname varchar2(20)

notnull

,--班級名稱

notes varchar2(50)

null

default

'班級資訊'

,--備註,預設班級資訊

);

2、建立約束的語句

----2、建立資料表的約束---

--2.1)建立主鍵約束--

alter

table student add

constraint pk_student_stuid primary

key(stuid)

;alter

table stuclass add

constraint pk_stuclass_classid primary

key(classid)

;--2.2) 建立檢查約束--

alter

table student add

constraint ck_student_gender check

(gender=

'男'or gender=

'女')

;alter

table student add

constraint ck_student_age check

(age>=

0and age<=

100)

;--2.3)建立唯一約束--

alter

table student add

constraint uq_student_stuname unique

(stuname)

;--2.4)建立預設約束--

--alter table student add constraint df_student_address default('位址不詳');

alter

table student modify address varchar(50

)default

'位址不詳'

;alter

table student modify joindate date

default sysdate;

--2.5)建立外來鍵約束--

alter

table student add

constraint fk_student_stuclass_classid

foreign

key(classid)

references stuclass(classid)

;

注意:建立表還是約束,與sql server基本相同,注意:在oracle中default是乙個值,而sql server中default是乙個約束,

因此oracle的default設定可以在建表的時候建立或者通過modify函式建立

3、新增模擬的資料

--3、新增模擬的資料--

--3.1)新增班級資訊

insert

into stuclass(classid,classname)

values(1

,'一班');

insert

into stuclass(classid,classname)

values(2

,'二班');

insert

into stuclass(classid,classname)

values(3

,'三班');

--3.2)新增學生資訊

insert

into student(stuid,stuname,gender,age,classid)

values(1

,'關羽'

,'男',17

,1);

insert

into student(stuid,stuname,gender,age,classid)

values(2

,'張飛'

,'男',16

,2);

insert

into student(stuid,stuname,gender,age,classid)

values(3

,'劉備'

,'男',18

,3);

oracle 建表語句

create

table table_name(

id numner(12)

,text verchar2(

255char

)not

null

,--char型別,乙個漢字佔乙個長度

pid varchar2(

32 byte)

notnull

,--byte型別,utf8乙個漢字佔大約兩個長度

status number(1)

default

0null

--新增預設值 如果為空預設值就為0

)--新增主鍵

alter

table

"test"

."table_name"

addprimary

key(

"id");

--新增注釋

comment

oncolumn table_name.id is

'主鍵'

;comment

oncolumn table_name.

text

is'說明'

;comment

oncolumn table_name.

status

is'狀態'

;--主鍵自增 ,1新建乙個序列

create sequence cw_bl_id_increment

increment by

1start

with

1 maxvalue 1.0e20

minvalue 1

nocycle

cache 20

noorder

--主鍵自增 ,2建立乙個觸發器

create

orreplace

trigger 觸發器名

before insert

on 表名

for each row

begin

select 序列名.nextval into :new.id from dual;

end;

--新增字段

alter

table table_name add

( rs_sftg number (1)

, rs_tgje varchar2 (

255char))

;--刪除字段

alter

table table_name drop

column rs_sftg ;

序列引數說明

create sequence seqname    	      //序列名字         

increment by

1//每次自增1, 也可寫非0的任何整數,表示自增,或自減

start

with

1//以該值開始自增或自減

maxvalue 1.0e20 //最大值;設定nomaxvalue表示無最大值

minvalue 1

//最小值;設定nominvalue表示無最大值

cycle

or nocycle //設定到最大值後是否迴圈;

cache 20

//指定可以快取 20 個值在記憶體裡;如果設定不快取序列,則寫nocache

order

or noorder //設定是否按照請求的順序產生序列

本文整理自以下兩篇博文:

Oracle 建表語句

create table table name id numner 12 text verchar2 255char not null char型別,乙個漢字佔乙個長度 pid varchar2 32 byte notnull byte型別,utf8乙個漢字佔大約兩個長度 status number...

Oracle資料庫基礎 建表語法 操作

語法 1 建表 create table 表名 列名 資料型別,2 刪除表 drop table 表名 3 新增列 alter table 表名 add 列名 資料型別 4 修改列 alter table 表名 rename column 原列名 to 列名 5 修改資料型別 alter table...

Oracle標準建表語句

create table 建表 create table outln.customer id varchar2 32 default sys guid not null,cust id varchar2 64 cust name varchar2 255 id no varchar2 64 mobi...