oracle創建表格


建表

Create table +名稱(

列名  類型  約束

);

注:類型一般分為

char型  固定長度字符

varchar2型  可變長度字符

number型  number(5,2)

date型

 

約束

主鍵約束 (primary  key):規定的列值不允許為空,不允許重復,唯一性

   Eg:身份證ID

  根據主鍵的條件進行查詢,一個主鍵值只會對應一條數據

唯一約束(unique):  規定的列值不允許重復

非空約束(not null):規定列值不允許為空

檢查約束(check+(條件)):規定的列值必須滿足制定條件

 

刪除表格

Drop+table +表名

插入數據

Insert into 表名[(列1,列2,列3…..列n)]value (值1,值2…..,值n)

eg: insert into student (sid,sname,sex,birthday,height) values  (001,'法士特','男',null,1.51);

備份

Create table emp_back as select * from emp;

--提交
commit;
插入數據時后面加 一個 commit 就自動一次性上傳數據

 

級聯更新

如果更新列的所有信息就不需要加where    如果要改指定的信息,需要加where

級聯刪除

eg:從emp表中刪除所有部門編號為 sales這個部門所屬的部門編號
delete from emp where deptno = (select deptno from dept where dname='sales')

簡單去重 distinct  某列中重復的值不顯示  .復雜一點去重使用group by
select deptno from emp

強制轉換
將字符串轉換為數字  to_number(char)

將字符串轉換為日期 to_date
select to_date("2006-05-03","YYYY-WW-DD") from emp

 --一鍵清空所有表格
truncate table  表名 ;
eg:truncate table emp;

alter使用
alter table student rename to student1;       --修改表名
alter table student rename column birthday to shengri;--修改列名
alter table student add(nashen varchar2(43));--新增列
--刪除列
alter table student modify(sname varchar2(30));--修改列的類型
--添加約束
--刪除約束

 rownum

--排序,根據輸出的數據進行排序
--只能從1開始

eg:  查詢工資前3 名

select rownum, t.*
  from (select * from emp order by sal desc) t
 where rownum <= 3;

--nv1  將空值改為0
select comm,nvl(comm,0) from emp

--數字函數
select round(1235.122) from dual; -- 不接參數默認取整
select round(1235.678,2) from dual; -- 接參數n 精確到n 位 且四舍五入
select round(1235.122,-2) from dual; --接參數-n,-n位歸0
select trunc(1235.122 ,2) from dual;  --不四舍五入

--字符函數
select initcap ('bindongming') from dual; --將首字母改為大寫,其他全部小寫
select upper ('bindongming') from dual; --全部改為大寫
select lower ('bindongming') from dual; --全部改為小寫

--字符函數
select initcap ('bindongming') from dual; --將首字母改為大寫,其他全部小寫
select upper ('bindongming') from dual; --全部改為大寫
select lower ('bindongming') from dual; --全部改為小寫

--rowid   新增 修改 刪除數據
select rowid, t.* from emp t where deptno=10

--排序
--按個人薪資升序排列   order by .. esc  以xxx升序排列
select * from emp order by sal asc;
--按個人薪資降序排列
select * from emp order by sal dasc;

 --group by 去重

select job from emp where comm is not null and comm!=0 group by job;

注意:去重的時候 查詢對象必須是去重的對象,不能查詢全部,再用去重


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM