1. 表空间的创建

表空间的创建,格式:
create tablespace 表空间名
datefile '路径名/表空间名.dbf' size 60M(初始空间大小为:60M)
autoextend ON NEXT 30M(每次扩容的空间大小:30M) 
maxsize unlimited(最大空间大小: unlimited 无限大);

-- 表空间的创建: 创建表空间my_tabs2
CREATE TABLESPACE my_tabs2
DATAFILE 'd:/software/Oracle/Space/my_tabs2.dbf' size 60M
AUTOEXTEND ON NEXT 30M MAXSIZE UNLIMITED;

2. 创建用户

格式:
create user 用户名
identified by  用户密码 
default tablespace 默认表空间

-- 创建用户user2              
create user user2  			
identified by 123456 		
default tablespace my_tabs2  
-- 创建用户user1
create user user1
identified by user1
default tablespace my_tabs2

3. 给新创建的用户授权

给用户授权格式:
grant 权限名1,权限名2,权限名3 to 用户名

Oracle用户权限: 
connect -> 只能连接数据库,不能对表进行增删改查操作
resource -> 可以做增删改查操作,不能修改数据库结构
dba -> 系统管理员权限,可以修改数据库结构

 -- 给新创建的用户授权
grant connect,resource to user2;
-- 回收权限
revoke connect,resource from use2;
-- 修改创建用户的密码
alter user user2 IDENTIfiEd by use231;
-- 锁定用户 lock
ALTER USER user1 ACCOUNT LOCK;
-- 解锁用户 UNLOCK
ALTER USER user1 ACCOUNT UNLOCK;
-- 删除用户:
DROP USER user1;

4. 通过命令创建表

格式:   
create table 表名(
字段名1 数据类型 约束1 约束2 约束3 ,
字段名2 数据类型 约束1 约束2 约束3 ,
字段名3 数据类型 约束1 约束2 约束3   -> 注意最后一个字段这儿没有逗号,
);
 -- 通过命令创建student表
CREATE TABLE student(
       sid int primary key , -- sid int类型 主键
       sname char(20),  -- sname 字符类型(最多20个字符)
       sex char(2) 		-- sex 字符类型(最多2个字符) 
)

5. 对表中数据进行增删改查

表插入数据格式:
insert into 表名 (字段名1,字段名3) ,values(值1,值2);

如果values()中插入的是全字段的值,则可以省略前面的()例如:
-- 插入数据 1001 李四 女
insert into student values(1001,'李四','女');

更新表数据格式: 
update 表名 set 字段名1=值1, 字段名2=值2 where 更新条件;
-- 更新student表的所有学生的性别为女
update student set sex = '女';
-- 将student表学号为1001的学生名字改为张三
update student set sname = '张三' where sid = 1001;

查询表格式:
select 要查询的内容 from 表名 where 条件名;
-- 查询学号为1001的姓名
select sname where sid=1001;

删除表数据格式: 
delete from 表名 where 条件
-- 删除id=1001的学生数据
delete from student where id = 1001;

6. 对表或字段的增删改查操作:

-- 创建一个QQUser表
create table QQUser(
       QQID number ,
       QPassWord char(10) ,
       ListLogWordTime date ,
       QOnline number(2),
       QLevel number(2)
)
-- 更新表的字段
alter table QQUser  alter column QQID Number(10);
-- 插入数据
insert into QQUser values(123456,1,null,2,99);
insert into QQUser values(123456,1,null,2,99);
-- 查询
select * from QQUser ;
-- 重命名表名
rename 表一 to 表二
-- 截断表 , 清空表中所有的数据,但是表结构还是存在的
truncate table user
-- 添加列
alter table QQUser add sex char(2)
-- 修改列
alter table QQUser modify sex varchar(2)
-- 删除列
alter table QQUser drop column sex;
-- 添加QQname字段
alter table QQUser add constraint QQName varchar(100);
-- 添加一个唯一约束
alter table QQUser add constraint QQName unique(QQName);
-- 设置主键约束
alter table QQUser add constraint QQid primary key(QQID);
-- 添加年龄字段
alter table QQUser add QQage number(3);
-- 检查约束: 限定年龄的范围为10到40
alter table QQUser add constraint QQage check(QQage between 10 and 40);
-- 单行函数 length(字段) 返回字段的长度
select length(QQName), QQname from QQUser;
-- 限定name字段的长度>=2
alter table QQUser add constraint QQname check(length(QQName)>=2);
-- 模糊查询,查询名称以张的开头的内容 
select * from QQUser where QQname like '%张%';
-- 查询QQUser表中QQID以1开头的所有内容
select * from QQUser where QQID like '1%';

另:设置主外键约束

1.创建表时设置外键约束
create table A (
       anumber int primary key , -- 字段名 primary key
       aname char(11) unique ,
       bnumber int
);
create table B (
      Bnumber int primary key ,
      bname varchar(11),
      anumber int,
      -- constraint 约束名 forgin key(主键) reference 从表名(从表主键)
      constraint a_b foreign key(bnumber) references B(bnumber)
);
-- 2.表已经创建成功后再添加外键约束
-- 添加外键约束: alter table 从表名 add constraint 外键约束名称 foreight key(列名) references 主表名称(主键列名)
alter table B add constraint B_A foreign key(bnumber) references A(anumber);