Oracle 學習筆記(三)

2021-09-20 03:14:51 字數 2638 閱讀 8273

cid number(4) primary key, --班級編號

cname varchar2(100) unique not null, --班級名稱

cyear number(4), --入學年份

clen number(1) --學制

);建立學生表

create table stuinfo(

stuno number(4) primary key,

stuname varchar2(10),

cid number(4) constraint fk_cid references classinfo(cid),–新增行級約束

stuage number(3),

*** varchar2(3),

stutel varchar2(11),

addr varchar2(50)

);drop table stuinfo

alter table stuinfo add constraint fk_cid1 foreign key(cid) references classinfo(cid)

檢查約束

alter table stuinfo add constraint ck_*** check(***=『男』 or ***=『女』)

insert into stuinfo values(1,『張三』,1001,18,『張』,123456789,『衡陽』);–ora-02991

select * from stuinfo

年齡在18-30

alter table stuinfo add constraint ck_stuage check(stuage between 18 and 30)

alter table stuinfo add constraint ck_stuage check(stu>=18 and stuage<=30)

檢視約束

select * from user_constraints where table_name=『stuinfo』

刪除約束

alter table stuinfo drop constraint sys_c005465 --主鍵約束名

禁用約束

alter table stuinfo disable constraint ck_***

啟用約束

alter table stuinfo enable constraint ck_***

刪除指定行資料

delete from stuinfo where stuno=2

修改表結構

修改表名

alter table stuinfo rename to studentinfo

修改表的列名

alter table studentinfo rename column *** to stu***

修改列的資料型別

alter table studentinfo modify stutel varchar2(18)

檢視表結構

select * from user_tab_columns where table_name=『studentinfo』 --要大寫

新增列alter table studentinfo add stupwd varchar2(10)

刪除列alter table studentinfo drop column stupwd

classinfo新增資料

新增資料語法 insert into 《表名》(列名1,列名2…) values (『值1』,『值2』)

insert into classinfo(cname,cid,cyear,clen) values (『計算機21』,1009,2018,4)

insert into classinfo(cid,cname) values (1111,『計算機212』)

插入多條資料 insert into 《表名》(列名1,列名2…) select (列名1,列名2…) from(資料**表名)

select * from dept

insert into classinfo(cid,cname) select deptno,dname from dept

插入多條資料

insert into classinfo

select 1007,『技術4班』,2014,4 from dual union --union是連線符

select 1008,『技術5班』,2014,4 from dual union

select 1010,『技術6班』,2014,4 from dual

查詢當前使用者

select user from dual

查詢系統當前時間

select sysdate from dual

select 1+2 from dual

查詢序列

create sequence aab start with 1001 increment by 1

select aab.nextval from dual

Oracle 學習筆記(三)

約束 定義規則,確保資料完整性 規範性 1 非空約束 注意 非空約束盡可以列級新增,不可表級新增 在建立表時新增非空約束 create table table name column1 datatype not null,在修改表時新增非空約束 alter table table name modi...

Oracle學習筆記(三)

oracle 許可權傳遞 sky使用者登入 grant all on mytab to sinitek 授權mytab所有許可權給sinitek sinitek使用者登入 grant all on sky.mytab to freedom 授權sky的表mytab給freedom使用者 報錯,ora...

Oracle學習筆記 三

五 操作表 1 表分為行和列 約定 每行資料唯一性,每列資料同類性,每列列名唯一性。2 資料型別 字元型 固定長度的字元型別 字元型別 char n max n 2000 nchar max n 1000 可變長度的資料型別 節省空間隨著資料的大小生成相應的資料 varchar2 max n 400...