Oracle 基本操做--數據類型、修改和刪除表、增刪改查和複製表

1、Oracle基礎數據類型:
數據類型:
java

  1. 建立數據表時,設計數據表的結構問題,也就是設計及肯定數據表中各個列的數據類型,是數值、字符、日期仍是圖像等其餘類型。
  2.  由於只有設計好數據表結構,系統纔會在磁盤開闢相應的空間,用戶才能向表中填寫數據。 

4類:
   字符型:字符串
    char(最大2000), nchar(最大1000, 支持Unicode)--->固定長度的字符串。
    varchar(最大4000), nvarchar2(最大2000, 支持Unicode)--->可變長度的字符串。數據庫

   數字類型
    包括整數和小數
    number(有效數字, 總位數);
                  聲明語法:NUMBER(p,s)函數

          •   p表示精度,s表示小數點的位數
          •   能夠存儲整數、浮點數等數值類型,最高精度爲38位。

                    例如:NUMBER(5,0) 最多可存儲五位整數
                                NUMBER(5,2) 最多可存儲999.99的浮點數
     flaot-->存儲二進制類型的數據, 1-126位0.30103
     日期類型:時間
     date:取值範圍:公元前4712年1月1號---公元9999年12月31號, 能夠直接精確到秒
     timestamp(時間戳: 更精確的數據, 能夠精確到毫秒)
   其它類型:大文本, 文件
     blob(binary LOB): 最大4G, 以二進制的形式來存放數據,能夠存儲較大的二進制對象,如:圖形、視頻剪輯和聲音文件。
     clob(charcater LOB): 最大4G, 以字符串的形式存放,它可以存儲大量字符數據。spa

  Oracle運算符和表達式設計

    表達式相似於java, 能夠是常量, 能夠是變量, 也能夠是表中的一個字段
    算術運算符(+ - * /)
    比較運算符(> >= < <= = <>/!=)
    邏輯運算符(and or not)
    字符串鏈接符(||)日誌

經常使用關鍵字:
    insert into----insert into  表名 values ();code

    delete-----DELETE 表名 WHERE 列名 運算符 條件視頻

    update----UPDATE 表名 SET 列名=值 WHERE 限制條件對象

    select---儘可能不要寫*blog

    where

    in

    like(%, _)---模糊查詢,%表示0個或多個;_表示一個;

    order by----SELECT * FROM emp ORDER BY deptid DESC, ID DESC(排序,加上desc成倒序)

    group by--(group by 加強)-------結合分組函數使用 SELECT deptid FROM emp GROUP BY deptid

    having

    case...when...--------SELECT CASE E.SSEX WHEN 1 THEN '男' WHEN 0 THEN '女' ELSE '不詳' END bb FROM EMP E;

    set

    distinct----去除一列中的重複;

    between...and(閉合區間, 即包括前面的數, 也包括後面的數)

    all-------SELECT * FROM emp e WHERE e.intime>=ALL(SELECT e1.intime FROM emp e1);

2、Oracle基本操做

一、建立表:

經過create table語句

語法結構以下:

create  table  table_name(

column_name datatype;

)

二、修改和刪除表

  • 添加列:

語法結構:alter table 表名 add 新增列名 數據類型

 如:alter table student add tel varchar2(11);

  •  修改列:

語法結構:alter table 表名 modify 列名 新數據類型;

如:alter table student modify tel number(11,0);

 

  • 刪除列:

語法結構:alter table 表名 drop colunm 列名;

如:alter table student drop column tel;

  • 修改列名:

語法結構:alter table 表名 rename column 列名 to 新列名;

如:alter table student rename column sex to gender;

  • 修改表名:

語法結構:rename 表名 to 新表名

如:rename student to studentinfo;           

 三、增刪改查

DML基本操做:添加信息insert 

                         查詢信息selete 

                         修改信息update

                         刪除信息delete

添加信息:

語法結構:insert into 表名[(列1,列2,...,列n)] values(值1,值2,...,值n);

如:insert into student(sid,name,sex) values(2001,'張三','女');

       insert into student(sid,name,sex,address,brithday) values(2001,'張三','女','北京',to_date('19900909','YYYYMMDD'));

       insert into student values(2001,'張三','女','北京',to_date('19900909','YYYYMMDD'));

查詢信息:

語法格式:selete *|column[...]  from 表名;

如:一、查詢全體學生的學號和姓名

             selete sid,name from student;

       二、查詢全體學生

             selete * from student;

       三、查詢學號不等於20的學生 !=

             selete * from student where sid!=20;

        四、查詢學號在20-30範圍的學生 between and | in

             selete name from student where sid>=20 and sid<=30;

             selete name from student where sid between 20 and sid 30;

              selete name from student where sid in (20,30);

       五、模糊查詢,查詢以s開頭的學生姓名 xx%

             selete name from student where name like 'S%';

            查詢姓名含有S的學生

             selete name from student where name like '%S%';

             說明:與like搭配用,'s%'中的字母區分大小寫。

       六、佔位查詢,查詢名字爲5個字母,而且第二位是的學生姓名

             selete name from student where name like '_o____';

       七、notnot null,查詢沒有學號|有學號的學生

             selete * from student where sid is null|not null;

      八、查詢學生的出生日期

            selete * from student where birthday between  '10-1月-90' and '10-12月-90';

      九、查詢學生信息

            selete sid,name,sex,to_char(date,'yyyy-mm-dd hh24:mm:ss')  as 入職時間 from student;

      十、查詢系統時間

            selete sysdate from sys.dual;

      十一、任意字段與null都爲null  null+1000=null

            selete sid+1000,name,sex from student;

      十二、nvl()函數設置null爲0,nvl(sid,0)

            selete nvl(sid,0)+1000,name,sex from student;

      1三、|| 每一個字段能夠經過||進行拼接

            selete sid,name,sid||'---'||sex from student;

      1四、查詢學生不重複的地址 去重複distinct

            selete distinct address from student;

      1五、按學號升序查詢 order by asc升序(默認隱藏)/desc降序

            selete * from student order by sid asc

修改信息:

語法格式:update table 

                  set column=value[column=values,...]

                   [where condition];

如:update student set tel='123' where sid=2001;

       update student set address='北京朝陽';

刪除信息:

語法格式:delete from table[where condition];

如:delete from student;

delete from student where sid=2001;

  • delete命令(數據操做語言DML)

              格式:delete 表名;

              如:刪除學生表  delete student;

                  注意:一、用delete刪除表,只是刪除表中的數據,表結構不會被刪除。

                             二、雖然是刪除整個表的數據,可是刪除過程是系統一行一行地刪,效率比truncate低。

                             三、delete刪除是不釋放空間的,刪除後數據庫容量大小不變。

                             四、delete 語句每次刪除一行,並在事務日誌中爲所刪除的每行記錄一項。因此能夠對delete操做進行Rollback回滾數據信息。

  •  truncate命令(數據定義語言DDL)也叫截斷表

  格式:truncate  table 表名;

   如:刪除學生表  truncate table student;

     注意:一、用truncate刪除表,只是刪除表中數據,表結構不會被刪除,刪除內容、釋放空間但不刪除定義,還能夠新增元素。

                二、刪除整 個表的數據時,刪除過程是系統一次性進行刪除數據,效率比較高。

                三、truncate刪除會釋放空間,不會觸動任何delete觸發器。

                四、Rollback無效。

                五、truncate 將從新設置高水平線和全部的索引。在對整個表和索引進行徹底瀏覽時,通過 truncate 操做後的表比Delete操做後的表要快得多。 

                六、不能清空父表。

truncate與delete比較:


 

           一、truncate table 在功能上與不帶 WHERE 子句的 delete語句相同,兩者均刪除表中的所有行。

           二、 truncate 比 delete速度快,且使用的系統和事務日誌資源少。

           三、當表被清空後表和表的索引講從新設置成初始大小,而delete則不能。

 

 

 

 

 

 

 

 

 

 

 

 

  •  drop命令(數據定義語言DDL)

                 格式:drop table 表名

                 如:刪除學生表   drop table student 

                   注意:一、用drop刪除表數據,不但會刪除表中數據,也會將表結構刪除。

                              二、自動提交,Rollback無效,不會觸動觸發器,會將空間釋放出來。

四、複製表

能夠從其餘用戶,選用已存在的表。

如:scott中的dept表,拖拽到右側顯示欄,彈出框選擇單個語句,顯示2-7行,再添加1行,就能將此表dept中全部信息複製到本地表depts中。

 

1 create table depts as
2   SELECT
3  deptno, 4  dname, 5  loc 6   FROM
7     scott.dept;
相關文章
相關標籤/搜索