Oracle是比MySql更為嚴格的資料庫。使用時需要更加嚴謹。 一、安裝註意事項: 1、選擇地址時需要註意好不能有漢字,以免造成安裝的時候註冊表顯示監聽失敗; 2、可視化視窗PLSQL編輯器(相當於SQLyog)安裝的時候需要配套的安裝包等; 二、部分概念: 1、SQL為結構化查詢語言,它的主要功 ...
Oracle是比MySql更為嚴格的資料庫。使用時需要更加嚴謹。
一、安裝註意事項:
1、選擇地址時需要註意好不能有漢字,以免造成安裝的時候註冊表顯示監聽失敗;
2、可視化視窗PLSQL編輯器(相當於SQLyog)安裝的時候需要配套的安裝包等;
二、部分概念:
1、SQL為結構化查詢語言,它的主要功能就是同各種資料庫建立連接,進行溝通;
2、目前,絕大多數流行的關係型資料庫管理系統,如Oracle,Sybase,Microsoft SQL Server,Access等都採用ANSI-SQL語言標準;
3、不同的類型的DBMS會根據實際需要,對標準SQL作適當的調整,形成自己的SQL.
三、SQL語句的組成:
1、DDL:數據定義語言:
維護(定義create、修改Alert、刪除drop、查show)SQL模式對象(也就是數據可以結構對象,如庫 、 表及索引、視圖等);
2、DML:數據操作語言:
包括數據查詢和數據更新(增insert into、刪delete、改update、查select)
3、DCL:數據控制語言:
對數據的訪問控制(授予許可權、取消許可權)
4、TCL:事務控制語言:
對事務的控制(提交、回滾、保存點)
四、類型:
常用的數據類型:
1、字元串類型:
char(固定長度、少補)、varchar(可變)
2、數值類型:
number(包含小數點的位數,小數位數) 可以不寫括弧裡面的--可以存儲整數、浮點數、實數;
3、date類型:
4、timestamp帶時區的時間戳
5、clob、blob (所以oracle存儲的比mysql的大)
五、獲取當前時間:
select sysdate from dual -- 精確到秒 Select systimestamp from dual -- 精確到小數點後6位
2019/7/26 20:01:48
26-7月 -19 08.02.03.829000 下午 +08:00
<dual是個虛擬的表。因為在oracle中需要嚴格的模式,必須from表)
六、偽列:
1、Oracle中偽劣就像一個表列,但是它並沒有存儲在表中(因為其不是表裡的欄位,所以只能進行查詢);
2、偽列有:
rownum:查詢返回的結果集中行的序號,可以使用它來限制查詢返回的行數(就是得到結果的顯示的地方的哪個區域的高度決定返回的行數),可以代替mysql裡面的limit;
select rownum,emp.*from emp;
rowid是表中行的存儲地址,該地址可以唯一的標識資料庫中的一行,可以使用其快速的定位表中的一行
select rowid,emp.*from emp;
七、數據定義語言:
1、用於改變資料庫結構,包括創建、更改和刪除資料庫對象;
2、命令:
create table :創建
alter table 修改
drop table 刪除表
truncate table 刪除表數據(不可以回滾)
2、創建表:
-- 創建表 create table sclass( cid int primary key, cname varchar(10) ) create table java ( ssid int primary key, -- 主鍵約束 sname varchar2(20) unique, -- 唯一約束 ssex char(5) check(ssex in ('男','女')),--檢查約束,檢查輸入的是否是男或者女 sbirth date not null, -- 非空約束 saddress varchar2(50) default '淄博',-- 預設值約束 --score double check(score between 0 and 100), -- 檢查約束的範圍寫法 cid int, constraint fk_student_class foreign key(cid) references sclass(cid) --設置外鍵 )