1. 程式人生 > >oracle中的增刪改查和一些常用的sql語句

oracle中的增刪改查和一些常用的sql語句

對於oracle工作當中的操作覺得看了我的部落格基本就沒什麼問題了。通俗易懂

oracle當中的修改密碼問題



1. 管理員登入
    *. sqlplus sys/密碼 as sysdba
    *. sqlplus / as sysdba




2. 解鎖
alter user scott account unlock;


3. 修改密碼
alter user scott identified by 新密碼;

基本的select語句
select *from tablename;
select[distinct] column1,column2 from tablename;
distinct是去掉重複的關鍵字
使用別名
select  column1 col1,column2 col2 from tablebname;
col1和col2就是別名
顯示錶結構:describe tablename;
過濾和排序:使用的where
是用以下表做示範:
city表:cid(number(10))   cname (varchar2(20))  country(varchar2(20)
          1                 北京                   中國
          2                 首爾                   韓國
          3                 倫敦                   英國
          4                 東京                   日本
          5                 舊金山                 美國
          6                 莫思科                 俄羅斯
          7                  孟買                  印度
          8                  臺灣                   null             
country:表
           id  (number(10))  dname(varchar2(20))     ranking(number(10))  code varchar2(20)    money(number(20))
           1                 中國                    1                         zhongguo                                                                          9999999
           2                 美國                    3                          meiguo                                                                              6383838
           3                 俄羅斯                  2                          eluosi                                                                               3897262
           4                 印度                    5                           yindu                                                                                4447474
           5                 日本                    4                           riben                                                                                 7474747
           6                 韓國                    7                          hanguo                                                                                2121212
            7                英國                    6                          meiguo                                                                                  3232323
select*from city where cid=1;
這就查詢出中國來了
between ...and  在兩個值之間
in (set)  等於兩值中的一個
like 模糊查詢
is null 叛斷空值
模糊查詢
select  country from city where counry like '國%'
這樣就可以查詢出含有國字的country 
判斷空
select  cname   ,  country  from city where country is  null;
這樣就可以查到臺灣


排序:order by   asc(升序)desc(降序)
select  id ,dname, ranking from country order by ranking ; 


函式:
單行函式:
大小寫控制函式:lower ,upper。
select id  ,dname, ranking , code from country
where   upper(code) ='zhonguo';
這樣中國的拼音就是大寫的。小寫同理;
字元控制函式:
     函式                       結果
concat('hello','world')          helloword
substr  (‘helloworld’,1,5)   hello
length   ('helloworld')          10
instr   ('helloworld',w)         6
lpad     (id,5,'*')              ****1
rpad    (id,5,'*')               1****
trim    ('h' from 'hellorold)    elloworld
replace ('abcd' ,'b','m')        amcd
數字函式:
round   四捨五入
trunc   截斷
mod     求餘
日期函式:           描述:
months_between    兩個日期相差的月數
add_months        向指定日期中加上若干月數
next_day          指定日期的下一個日期
last_day          本月最後的一天
round              日期四捨五入
trunc              日期截斷
轉換函式
to_date
to_char
to_number
等等:其他在日常開發中不是資料庫專員可以瞭解就可以了
分組:group by用法
select  dname ,avg(money) from country  group by  money;
多列分組
select  id,dname, sum(money)  form  country group by dname,id;


group by 只能在having中使用篩選


select id ,max(money) from country  group by id; having max(money) >400000;


多表查詢:
select  table1.column,table2.coulumn from table1,table2 where table1.coumb1=table2.column2;
子查詢:
select dname from  where  money>(select money from country where danme=‘中國’)
多行使用and連線;


向表中插入資料;
insert into tablename(column) values (columnvalues,)
insert into city(cid,cname,country) values(9,’曼谷’,‘泰國’);
列的內容要和值的類容一致 如有空值這使用‘null’
修改表中的資料
pudate table  set  column=value[,column=value...]
update city set name='曼谷1’ where country='泰國';
  如果沒有where則所有的name都改變了
刪除表中的資料
delete from tablename where  tiaojian
delete from  city   where  cid=9;
如果沒有where條件那麼表中所有資料都被刪除


事務提交和回滾
commit    rollback
savapoint 儲存回滾點;savapoint name  .回滾到回滾點:rollback to name;


create table  tablename(
Column daetype  yuesu
....
)
country  表結構為              cid  ,        cname.
                                 1            中國
cites表結構為              mid,       mname,    coutryid;
                             1     北京          1
他們的關係就是一個國家對應幾個城市。所以他們的countryid是和cid是相等的。
select cid,cname,mid,mname from cites, country where cid=coutryid and  cid=1;
通過上面的資料我們查詢結果為    1, 中國, 1,北京。


以下就是建立表格了:
create table tabname(
列名    資料結構    約束,
列名  資料結構    約束
)
示範一個簡單的表
create table  login(
id   number (10) primarykey   not null,
name  varchar2(20)  not null,
password   number(20) not null
)
這個就是最基本的表格;同時我們可以加上主外來鍵紅色的類容是加上主鍵:
然後就是複製其他表的結構建立表:
還是以我上面的兩個表(country和cites)演示:
create table newcountry
as 
select  cid,cname from country;
這樣就ok了!
然後就是表的一些操作了(所謂的增刪改查了)
這次是使用cites表做演示;
追加一個照片列:alter table cites add (image blob);
圖片的資料型別是blob 這個要了解哈!
這樣cites 表格的資料結構為:cid,  cname, country , image了
然後就是修改列了:這個使用login表做示範以為他有資料型別
alter table login  modify (id  number(15)) ;
這樣就把login 表中的id 的number長度改為了15了
然後就是刪除列了:使用cites表做示範我們把剛才新增的image列給刪掉
alter  table  cites drop  column  image;
然後就是重新命名的操作我們使用 login表做演示;把name 重新命名為username
alter bable login rename  column  name to username;
然後就是刪除表了;
drop table login;
這樣login表就刪除了;
插入資料大家應該都會吧!我還是謝謝
insert into tabname (column)values(columnvalues)
接下來就是建立試圖使用login表做演示
creaet view  loginwiew
as  select  id , name,passworld from loginn where id=?