天天看点

数据库增删查改表,用户,主键,外键

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;

继续阅读