Oracle数据库学习笔记

1.SQL>select tablespace_name from user_tablespaces;
运行结果:
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                           NOT NULL VARCHAR2(30)
 BLOCK_SIZE                                NOT NULL NUMBER
 INITIAL_EXTENT                                     NUMBER
 NEXT_EXTENT                                        NUMBER
 MIN_EXTENTS                               NOT NULL NUMBER
 MAX_EXTENTS                                        NUMBER
 PCT_INCREASE                                       NUMBER
 MIN_EXTLEN                                         NUMBER
 STATUS                                             VARCHAR2(9)
 CONTENTS                                           VARCHAR2(9)
 LOGGING                                            VARCHAR2(9)
 FORCE_LOGGING                                      VARCHAR2(3)
 EXTENT_MANAGEMENT                                  VARCHAR2(10)
 ALLOCATION_TYPE                                    VARCHAR2(9)
 SEGMENT_SPACE_MANAGEMENT                           VARCHAR2(6)
 DEF_TAB_COMPRESSION                                VARCHAR2(8)
 RETENTION                                          VARCHAR2(11)
 BIGFILE                                            VARCHAR2(3)

2.SQL>select tablespace_name from dba_tablespaces;
运行结果:
TABLESPACE_NAME
------------------------------------------------------------
SYSTEM
UNDO
SYSAUX
TEMP
USERS

3.SQL>desc dba_tablespaces
运行结果:
名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                           NOT NULL VARCHAR2(30)
 BLOCK_SIZE                                NOT NULL NUMBER
 INITIAL_EXTENT                                     NUMBER
 NEXT_EXTENT                                        NUMBER
 MIN_EXTENTS                               NOT NULL NUMBER
 MAX_EXTENTS                                        NUMBER
 PCT_INCREASE                                       NUMBER
 MIN_EXTLEN                                         NUMBER
 STATUS                                             VARCHAR2(9)
 CONTENTS                                           VARCHAR2(9)
 LOGGING                                            VARCHAR2(9)
 FORCE_LOGGING                                      VARCHAR2(3)
 EXTENT_MANAGEMENT                                  VARCHAR2(10)
 ALLOCATION_TYPE                                    VARCHAR2(9)
 PLUGGED_IN                                         VARCHAR2(3)
 SEGMENT_SPACE_MANAGEMENT                           VARCHAR2(6)
 DEF_TAB_COMPRESSION                                VARCHAR2(8)
 RETENTION                                          VARCHAR2(11)
 BIGFILE                                            VARCHAR2(3)

4.SQL>select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM'; 更改表空间
运行结果:
DEFAULT_TABLESPACE
------------------------------------------------------------
TEMPORARY_TABLESPACE
------------------------------------------------------------
SYSTEM
TEMP

5.SQL>create tablespace test1_tablespace
datafile 'testfile.dbf' size 10m;
运行结果:
表空间已创建。

注:创造永久表空间,文件名'testfile.dbf' 大小为:10M

6.SQL>create temporary tablespace temptest1_tablespace
tempfile 'tempfile1.dbf' size 10m;
运行结果:
表空间已创建。

注:创造临时表空间,文件名'testfile1.dbf' 大小为:10M

7.SQL>desc dba_data_files
查看表空间
运行结果:
名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 FILE_NAME                                          VARCHAR2(513)
 FILE_ID                                            NUMBER
 TABLESPACE_NAME                                    VARCHAR2(30)
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 STATUS                                             VARCHAR2(9)
 RELATIVE_FNO                                       NUMBER
 AUTOEXTENSIBLE                                     VARCHAR2(3)
 MAXBYTES                                           NUMBER
 MAXBLOCKS                                          NUMBER
 INCREMENT_BY                                       NUMBER
 USER_BYTES                                         NUMBER
 USER_BLOCKS                                        NUMBER
 ONLINE_STATUS                                      VARCHAR2(7)

8.SQL>select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
注:查看表空间的默认位置
运行结果:
FILE_NAME
--------------------------------------------------------------------------------
C:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\TESTFILE.DBF

9.设置联机
SQL>alter tablespace test1_tablespace
    offline;
运行结果:
表空间已更改。

10.名词解释:status 表单是否联机提示 可根据上表数据查找
SQL>select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';
运行结果:
STATUS
------------------
OFFLINE

11.改变读写模式
SQL> alter tablespace test1_tablespace
    2  read only;只读
    &read write;读写   改变后STATUS为ONLINE
运行结果:
表空间已更改。

12.增加数据文件
SQL> alter tablespace test1_tablespace
  2  add datafile 'test2_file.dbf' size 10m;
运行结果:
表空间已更改。
<之后检查文件的实例>
SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
运行结果:
FILE_NAME
--------------------------------------------------------------------------------
C:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\TESTFILE.DBF
C:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\TEST2_FILE.DBF
13.删除数据文件
SQL> alter tablespace test1_tablespace
  2  drop datafile 'test2_file.dbf';

表空间已更改。

<之后检查文件的实例>
SQL> select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
运行结果:
FILE_NAME
--------------------------------------------------------------------------------
C:\ORACLEXE\APP\ORACLE\PRODUCT\10.2.0\SERVER\DATABASE\TESTFILE.DBF

14.删除表空间
SQL> drop tablespace test1_tablespace including contents;
运行结果:
表空间已删除。

15.数据类型
NUMBER:

VARNUMBER:可以改变大小的数据类型
NVARNUMBER:
nvarchar2和varchar2都可以表示可变长度的字符,其中nvarchar2用于存储Unicode格式的数据,更适合存储中文数据。

16.其他数据类型
BLOB:4GB 二进制类型存储
CLOB:4GB 字符串类型存储

17.创建表
SQL> create table userinfo
  2  ( id number(6,0),
  3  username varchar2(20),
  4  userpwd varchar2(20),
  5  email varchar2(30),
  6  regdate date);
运行结果:
表已创建。

18.查看表里数据类型
desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE

19.增加表里的数据
SQL> alter table userinfo
  2  add remarks varchar2(500);
运行结果:
表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE
 REMARKS                                            VARCHAR2(500)

20.修改表里的数据类型
SQL> alter table userinfo
  2  modify remarks varchar2(400);
运行结果:
表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            VARCHAR2(20)
 EMAIL                                              VARCHAR2(30)
 REGDATE                                            DATE
 REMARKS                                            VARCHAR2(400)

23.修改表里的数据
SQL> alter table userinfo
  2  modify userpwd number(6,0);
运行结果:
表已更改。

24.删除表里的数据
SQL> alter table userinfo
  2  drop column remarks;
运行结果:
表已更改。

25.修改表里的数据的名称
SQL> alter table userinfo
  2  rename column email to new_email;
运行结果:
表已更改。

SQL> desc userinfo
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 NEW_EMAIL                                          VARCHAR2(30)
 REGDATE                                            DATE

26.修改表的名称
 SQL> rename userinfo to new_userinfo;

表已重命名。

SQL> desc userinfo
运行结果:
ERROR:
ORA-04043: 对象 userinfo 不存在

27.删除表中所有数据(不包括所有数据类型及名称)
SQL> desc new_userinfo
  运行结果:
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(6)
 USERNAME                                           VARCHAR2(20)
 USERPWD                                            NUMBER(6)
 NEW_EMAIL                                          VARCHAR2(30)
 REGDATE                                            DATE

SQL> truncate table new_userinfo;

表被截断。

28.删除表(包括表内所有数据和数据类型)
SQL> drop table new_userinfo;

表已删除。

SQL> desc new_userinfo
  运行结果:
  ERROR:
  ORA-04043: 对象 new_userinfo 不存在

29.向表中添加数据

SQL> insert into userinfo
  2  values(1,'xxx','123','xxx@qq.com',sysdate);

注:其中system是系统获取当前时间的一个函数
  运行结果:
  已创建 1 行。

SQL> select * from userinfo;
        ID USERNAME
---------- ----------------------------------------
USERPASSWORD
------------------------------------------------------------
USEREMAIL
--------------------------------------------------------------------------------
REGDATE
--------------
         1 xxx
123
xxx@qq.com
23-4月 -18

30.单个修改数据
首先创建了一个userinfo1的表
SQL> create table userinfo1
  2  (id number(6,0),
  3  regdate date default sysdate);
注:其中default是默认的意思
然后
SQL> insert into userinfo1
  2  values(1);
insert into userinfo1
            *
第 1 行出现错误:
ORA-00947: 没有足够的值

发现数据修改出现错误,因为是因为没有一一对应修改数据,所以应该规定数据的字段
如下:
SQL> insert into userinfo1(id)
  2  values(1);
最后来坚持是否修改成功
SQL> select * from userinfo1; 

        ID REGDATE
---------- --------------
         1 23-4月 -18

31.复制表内容

SQL> create table userinfo_new
  2  as
  3  select * from userinfo;

表已创建。

userinfo_new为新的表
userinfo为要复制的表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值