天天看點

資料庫增删查改表,使用者,主鍵,外鍵

1、進入sqlplus(不區分大小寫,除了特殊要大寫的)

sqlplus system/yaoxiyao as sysdba

conn scott/yaoxiyao

2、建立一個表空間

(1)為orcl資料庫建立一個永久性的表空間orcl1,區自動擴充,段采用自動管理方式

create tablespace orcl1 datafile 'D:\app\oradata\yao\data_1.dbf' size 2000M;

(2)為orcl資料庫建立一個臨時的表空間orcl2

create temporary tablespace orcl1 tempfile 'D:\app\oradata\yao\data_1.dbf' size 2000M

extent management local uniform size 100M;

删除表空間orcl1及其所有内容,同時删除其所對應的資料檔案

DROP TABLESPACE orcl1 INCLUDING CONTENTS AND DATAFILES;

3、建立學生表,課程表,選課表

create table Student1(

sno number(6) constraint S_PK primary key,

sname varchar2(10) not null,

sex char(2),

sage number(6,2),

constraint S_CK2 check(sage between 18 and 60)

);

4、create table course(

cno number(10) primary key,

cname char(20) unique

);

5、create table SC(

sno number(6) references student1(sno),

cno number(4) references course(cno),

grade number(5,2),

constraint SC_PK primary key(sno,cno)       --聯合做主鍵             

);

6、檢視customers這個表

desc customers;

select * from customers;

7、修改表的列

(1)列的添加

alter table 表名 add(新列名 datatype() not null);

(2)修改列類型

alter table 表名 modify 列名 新類型;

(3)修改列名

alter table表名 rename column 舊名 to 新名;

(4)删除一列或多列

alter table 表名 drop column 列名 cascade constraints;

alter table 表名 drop (列名1,列名2);

(5)删除列可以先将列設定為unused,然後删除

alter table 表名 set unused column 列名;

alter table 表名 set unused column (列名1,列名2);

alter table 表名 drop unused columns;

8、主鍵限制添加

alter table customers add constraint 随意名 primary key(customers_id);

9、外鍵限制添加

alter table 表名 add constraint 随意名字 FOREIGN KEY(現在這個表的屬性即列名) REFERENCES publishers(引用表的屬性);

10、添加唯一性限制

alter table 表名 add contraint 随意名 unique(列名);

11、添加檢查限制

alter table 表名 add constraint 随意名 check(sage between 13 and 53);

12、添加空/非空限制

alter table 表名 modify resume not null;

alter table 表名 modify resume null;

13、限制的删除

(1)删除指定屬性的限制

alter table 表名 drop unique(列名);

(2)删除指定名稱的限制

alter table 表名 drop constraint 随意名;

(3)删除限制的同時也删除引用該限制的其他的限制,即删除此主鍵,其他外鍵也删?

alter table 表名 drop contraint 主鍵随意名 cascade;

14、檢視表'CUSTOMERS'的主鍵限制名稱,以及主鍵限制的字段名稱

select a.constraint_name, a.column_name

from user_cons_columns a, user_constraints b

where a.constraint_name = b.constraint_name

and b.constraint_type = 'P'

and a.table_name = 'CUSTOMERS';

15、檢視表student 中所有限制

select constraint_name, constraint_type, deferred, status from user_constraints where table_name=”STUDENT”;

16、檢視表student中各個限制所作用的列

select constraint_name, column_name from user_cons_columns where table_name=”STUDENT”;

17、建立一個使用者時沒有權限怎麼辦?

create user test1 identified by test;

如若權限不足,進入system,輸入alter user sys identified by newpass; 再輸入conn sys/newpass as sysdba;可進入sys。現在有權限建立test1了

grant create session to test1;

conn test1/test;

18、建立一個使用者user1,密碼是user1,預設表空間為users,在該表空間的配額為10MB,初始狀态為鎖定。

create user user1 identified by user1 default tablespace users quota 10M on users account lock;

19、建立一個使用者user2,密碼為user2,預設表空間為users,在該表空間的配額為10MB。密碼設定為過期狀态,即首次連接配接資料庫時需要修改密碼。概要檔案為example_profile(假設概要檔案已經建立)

create user user2 identified by user2 default tablespace users quota 10M on users profile example_profile password expire;

20、修改使用者user3的密碼為newuser3,同時将該使用者解鎖

alter user user3 identified by newuser3 account unlock;

21、修改使用者user4的預設空間為orcl,在該表空間的配額為20MB,在users表空間的配額為10MB。

alter user user4 default tablespace orcl quota 20M on orcl quota 10M on users;

22、删除使用者user5

drop user user5;

23、查詢使用者所有使用者名及其預設表空間

select username, default_tablespace from dba_users;

24、檢視資料庫中各使用者的登入時間、會話号

  select sid ,serial#,logon_time, username from u$session;

25、檢視目前使用者的表

select table_name from user_tables;

繼續閱讀