Day59-Oracle03 - 创建表空间、创建表(子查询创建表)、表的约束、事务、数据库对象(视图、序列、索引、同义词)、PLSQL编程、(if,循环)、数据的导入导出备份

DDL语句管理表 DML管理表数据

1)语法: 创建 和 删除 表空间 / 创建用户

         create tablespace 表空间的名称
         datafile '文件路径'   //这个文件是存储在服务器端的电脑上的。
         size 初始大小
         autoextend on  --打开自动扩容
         next 每次扩容大小

例子:
– 创建表空间,前提是需要切换到管理员帐号,比如system,ps:root

create tablespace xiongan
datafile 'c:\xiongan.dbf'
size 100m
autoextend on
next 10m;

创建完表空间之后,是需要创建用户来管理和操作这个表空间的。

    语法: 创建用户
        create user 用户名
        identified by  密码
        default tablespace 表空间的名称

例子:

create user zhangsan
identified by zhangsan
default tablespace xiongan

创建完用户之后,现在还是不能够登录的,因为现在的用户是没有权限的,需要对用户进行授权
Oracle中已经存在三个重要的角色,connect角色,resource角色,dba角色

     grant 角色 to 用户名

例子:

grant dba to zhangsan

因为我们的授予zhangsan用户的是dba的权限,所以可以访问和修改其他角色select * from scott.emp;
这里写图片描述
删除表空间 ,在逻辑上断开连接

drop tablespace xiongan;

2)创建表

              create table 表名(
                  列名1 列的类型 [列的约束],
                  列名2 列的类型 [列的约束]
              );

2.1)列的类型

         number(总长度,小数长度)  :数字 小数长度不能大于总长度number(2,3)   
         varchar2(长度)  :可变长度字符      varchar2(10) hello , 只存5个字符
         char(长度)   :   固定长度字符  char(10)     hello , 不够长度,用空格 
                                 varchar2(5)  hellooooo 
         date : 年月日时分秒 
         timestamp : 时间戳, 更加精确,表示的时间更丰富   
         Long : 存放大文本 2G
         Clob : 存放大文本 4G character large object ,大文本数据
         Blob : binary large object 二进制大对象 ,存放音频视频

下面这两个可以查询时间和事件戳:

select sysdate from dual;
select current_date from dual;  -- 2017/8/26 15:18:37
select current_timestamp from dual; -- 26-AUG-17 03.19.53.250000 PM +08:00

–前面两种的结果是一样的,current_timestamp显示的信息更加丰富

2.2)使用子查询创建表 / 修改表

-- 使用子查询创建表
create table emp as select * from scott.emp;

-- 复制表,只要结构,不需要数据
create table emp1 as select * from scott.emp where 1=2;

-- 添加列, add,注意添加列的时候,要求表是空表,否则会报错
alter table person add sex varchar2(20) not null;

-- 同时添加多列
alter table person add (
     mobile varchar2(11),
     address varchar2(20)
);

-- 重定义列的类型 -  modify
alter table person modify sex number;

-- 删除列
alter table person drop column mobile;

-- 修改列名
alter table person rename column sex to gender;

-- 修改表名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值