Oracle数据库操作。

    面向对象告一段落,重新捡起来SQL server的知识,幸好数据库语言都差不多,让我重新学习Oracle的时候并没有想象中的费劲,只需要复习起来旧知识,再融合Oracle特有的语法就足矣。

    废话不多说,进入正题,此文章按照网上的资料+个人理解编写,尽量做到通俗易懂,以便日后忘了能够见文知意。

  •     数据类型

       注:SQL语句本身不区分大小写,但是出于可读性的目的,我们通常会将SQL语句的关键字全部大写,非关键字小写。

  • 数字类型    
  • NUMBER

        NUMBER(P,S)

                -P     表示数字的总位数。

                -S     表示小数点后面的位数。

        例:    如有sal列,定义如下

sal NUMBER(6,2)

         表示sal列中的数据,整数位为4位,小数位为2位,最大值取9999.99。


  • 字符类型
  • CHAR

            CHAR(N)

                -N     表示占用的字节数。最大长度是2000字节。

        例:ename列定义如下

ename CHAR(20)

         表示ename列中最多可存储20个字节的字符串,并且占用的空间是固定的20字节。

  • VARCHAR2

        可变长度的字符类型,使用方式参考如上

        根据其中保存的数据长度,占用的空间是变化的。

        与CHAR的优缺点:

                CHAR:        固定字节长度,读取速度快,占用空间大。

                VARCHAR2:可变的字节长度,读取速度慢,占用空间小。

                CHAR与VARCHAR2之间具体看项目要求进行取舍、


  • DATE     日期时间型

         用于定义日期时间的数据,长度为7个字节。

                默认格式是:DD-MON-RR,例如:11-APR-71

        例:有列horedate定义如下

hiredate DATE

                表示hiredate列中存放的是日期数据。

  • 数据定义语言(DDL)
  • 创建数据表    CREATE

       语法格式:

                      

CREATE TABLE mytable(
id NUMBER(4);
name VARCHAR(20)
)
            上述代码创建了一个表,其中有两个列,id列值为4位数字,name列为20字节的字符串。
    
  • 查看表结构    DESC 表名

                        在此不赘述,没有特殊用法。


  • 删除表    DROP    TABLE  表名

                    删除整个表的操作。

  • 默认值    DEFAULT    (数据库中的所有数据类型的默认值都是NULL,可以通过DEFAULT子句给列指定默认值)
 
CREATE TABLE mytable(
sex CHAR(1) DEFAULT'M'
)

                上述代码表示创建了一个表,表里有一个sex列,列的默认值为M。(字符串区分大小写)

  • 非空    NOT NULL    (约束条件,确保字段值不为空)

                    

CREATE TABLE mytable(
sex CHAR(1) NOT NULL
)

            上述代码表示创建了一个表,表里有一个sex列,列的值不能为空。

  • 修改表
            1.修改表名(RENAME)
                            
RENAME 旧表名 TO 新表名
            2.修改表结构(ALTER)
                        1)添加新的字段(列)    给表增加字段可以使用ALTER TABLE 的ADD子句实现
                                    
语法

ALTER TABLE 表名 ADD (列 数据类型)
                                例:给表mytable增加一列hiredate,并设置默认值为当前日期。
ALTER TABLE mytable (hiredate DATE sysdate)
                     2)删除字段 (列)    给表删除字段可以使用ALTER TABLE的DROP子句实现。
                                
ALTER TABLE 表名 DROP 列名
                     3)修改字段(列)    修改字段烈性可以使用ALTER TABLE的MODIFY子句实现
                                        可以修改字段的类型,长度,默认值,是否为空。
                                        修改表结构都应当 避免在表中有数据以后进行。
                                        若表中有数据,修改表中字段时尽量不要修改类型。
                                        若修改长度,尽量增大,避免缩小,否则可能导致失败。
                            
语法

ALTER TABLE 表名 MODIFY(
列名 数据类型 约束&默认值
)
    
  • 数据操纵语言(DML)
        DML是对表中的数据进行的操作。
        DML伴随事物控制(TCL)
        DML包含操作( 增、删、改
  • 向表中插入数据        INSERT
语法

INSERT INTO 表名
(列名)
VALUES
(值)
            注: 列名可无序,不填默认为给所有列插入数据,对应的值必须对应填写的列进行插入,如为填写列,则按照表中的列顺序进行填写。
  • INSERT(续)
                如插入的列有时间日期型,需要考虑日期的格式。
                默认的日期格式"DD-MON-RR"
                可以自定义日期格式,用TO_DATE函数转换为日期类型的数据。
  
例1: 使用默认的日期格式插入记录
INSERT INTO mytable
(birth)
VALUES
('01-SEP-03')


例2:使用自定义日期格式插入记录
INSERT INTO matable
(birth)
VALUES
(TO_DATE('2009-09-01','YYYY,MM-DD'))

  • 修改(更新)表中数据    UPDATE 表名 SET 列名=值 WHERE 条件
            
例:

UPDATE mytable SET salary = 6000 WHERE id = 1
            注:修改表中数据要使用 WHERE添加过滤条件,这样才回只将满足条件的记录进行修改,否则则修改全表中的所有数据。可以一次性修改多列(字段)


  • 删除表中数据(DELETE)
                删除表中数据,删除数据通常也要添加 WHERE 语句来限定要删除的数据的条件,否则就是清空表操作。
例:

DELETE FORM mytable WHERE id = 1 
                注: 字符串区分大小写!!


        

        

    

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值