您的位置:首页 > 数据库 > Oracle

Oracle学习笔记1-用户操作及基本数据类型

2013-03-29 13:22 309 查看
 

        之前一段时间闲来无事,因而利用此时间对Oracle的语法进行了一次系统的学习,现将学习笔记分享一下,希望对需要之人有所帮助,若有什么错误之处,请不吝赐教。

      一    对用户进行操作:

      前提:之行该命令的用户必须有DBA权限

      给表空间添加新用户:

            CREATE USER tom(用户名) IDENTIFIED BY tom(密码)

            DEFAULT TABLESPACE inspur(默认表空间)

            TEMPORARY TABLESPACE TEMP(临时表空)

      给用户指定角色:

            ALTER USER tom DEFAULT ROLE "CONNECT";

     给用户授权的方法:

            1)     直接将权限授予用户

            2)     通过角色间接将权限授予用户

二    Oracle的基本数据类型

Char
用于描述定长的字符型数据,长度<=2000字节
varchar2
用于描述变长的字符型数据,长度<=4000字节
nchar
用来存储Unicode字符集的定长字符型数据,长度<=1000字节
nvarchar2
用来存储Unicode字符集的变长字符型数据,长度<=1000字节
number
用来存储整型或者浮点型数值
Date
用来存储日期数据
Long
用来存储最大长度为2GB的变长字符数据
Raw
用来存储非结构化数据的变长字符数据,长度<=2000字节
Long raw
用来存储非结构化数据的变长字符数据,长度<=2GB
rowid
用来存储表中列的物理地址的二进制数据,占用固定的10个字节
Blob
用来存储多达4GB的非结构化的二进制数据
Clob
用来存储多达4GB的字符数据
nclob
用来存储多达4GB的Unicode字符数据
Bfile
用来把非结构化的二进制数据存储在数据库以外的操作系统文件中
urowid
用来存储表示任何类型列地址的二进制数据
float
用来存储浮点数
  varchar和varchar2的区别:


   目前没有本质的区别 但是:

   varchar2是oracle提供的独特的数据类型oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,这是因为varchar是标准sql提供的数据类型有可能随着sql标准的变化而改变

 

    表的约束:

 

     PRIMARY KEY约束:这个约束称为主键约束,主键约束列不能为空,而且主键不能重复

     FOREIGN KEY约束:这个约束称为外键约束或参照完整性约束,一个外键对应于另一个表中的主键,外键引用另外一个表的主

                                    键值

                    【在Oracle中当一个表中的一个字段(即做为外键)要引用另外一个表中的字段做为主键时,该字段在本表必须存在。例如:

                    create table test1(

                      t1_id varchar2(20) not null primary key,

                     name varchar(2) ,

                     constraint t1_id foreign key (t2_id) referenses test2(t2_id)

                   )

                】

    NOT NULL :约束的列值不能为空,也就是每一行的这列上都必须有值,可使用SQL语句将某列设置为非空

    (例如:ALTER TABLE EMP MODIFY(USERNAME VARCHAR2(20) NOT NULL)

    UNIQUE约束:  这个约束说明被约束列的值必须独一无二,即表中这个列值不能重复

    CHECK约束:列值必须满足CHECK约束,利用CHECK约束可以强制这个列值必须满足某些条件,这个值是PL/SQL表达式,如果表达式返回结果为真,就允许这个值存储

 (例如

       CREATE TABLE DEMO_TAB5(

              ID VARCHAR2(2),

              SAL NUMBER(10,2) CHECK (SAL>0)

       )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle