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=?