三、初始使用
四、更多
oracle資料庫在傳統行業應用較多,這裡介紹oracle的初步使用。
2.2 安裝
這裡為了快速學習,直接在docker中oracle。安裝步驟如下:
拉取oracle映象
安裝執行oracle
進入docker oracle 容器
docker exec -it oracle11 bash
配置oracle環境變數
切換為root身份,調整/etc/profile配置
#切換為root身份,密碼預設為: helowin
su root
#修改profile
vim /etc/profile
/etc/profile調整內容如下:
#這裡oracle_sid=helowin的helowin,據說在製作映象時設定的資料庫sid為helowin,自行修改調整地方較多,待考證
export oracle_sid=helowin
export path=
$oracle_home/bin:$path
啟用配置
source /etc/profile
連線到oracle
進行oracle命令列:
sqlplus /nolog
連線oracle,格式如下:
conn 使用者名稱/密碼 [ as sysdba]
初次登入如:
conn / as sysdba
2.3 建立新使用者
建立新使用者,這裡以建立使用者名為school_user和密碼為xx為例。步驟如下:
先進入oracle
sqlplus /nolog
sqlplus /nolog
建立使用者
create user school_user identified by xx;
給新使用者賦許可權
grant connect,resource,dba to school_user;
使用新使用者登入
conn school_user/xx as sysdba
這裡以剛建立使用者school_user為賬號,建立表stu及常規sql操作為例
3.1 建立表
oracle建表與mysql有些不同。
-- 建立表stu
create
table school_user.stu (
id int(11
)primary
key,
novarchar(30
)default'',
name varchar(60
)default'',
create_user varchar(50
)default'',
create_time timestamp
default
current_timestamp
, update_user varchar(50
)default'',
update_time date
default
null);
-- 建立備註
comment
ontable school_user.stu is
'學生表'
;comment
oncolumn school_user.stu.id is
'使用者id'
;comment
oncolumn school_user.stu.
nois
'學號'
;comment
oncolumn school_user.stu.name is
'使用者名稱'
;comment
oncolumn school_user.stu.create_user is
'建立人'
;comment
oncolumn school_user.stu.create_time is
'建立時間'
;comment
oncolumn school_user.stu.update_user is
'更新人'
;comment
oncolumn school_user.stu.update_time is
'更新時間'
;-- 建立序列,初始為1,每次增1,不限制最大值,不迴圈,沒有快取
create sequence stu_seq increment by
1start
with
1 nomaxvalue nocycle nocache ;
-- 建立觸發器,用於主鍵自增
create
trigger stu_id_trigger before
insert
on stu for each row
when
( new.id is
null
)begin
select stu_seq.nextval into:new.id from dual;
end;
上面建立的序列,可以直接獲取,如下:
select stu_seq.nextval from dual;
3.2 常規操作
查詢
-- 查詢
select
*from stu;
新增(其它語句類似)
-- 新建
insert
into stu(id,
no, name)
values(13
,'013',)
;insert
into stu(
no, name)
values
('002',)
;insert
into stu(
no, name, update_time)
values
('002'
,, sysdate)
;-- 提交,當update、delete、insert時,需要單獨執行提交命令commit,而create、drop不需要,其隱含了提交操作
commit
;
這裡特別注意,當update、delete、insert時,需要單獨執行提交命令commit,而create、drop不需要,其隱含了提交操作。
3.3 非表操作
oracle中操作,除了目標表外,還有些沒有表的操作,如檢視當前時間,這裡可以使用dual當目標表,如:
-- 檢視當前使用者
select
user
from dual;
-- 查詢當前時間
select sysdate from dual;
-- 時間轉字串
select sysdate, to_char(sysdate,
'yyyy-mm-dd hh24:mm:ss'
)from dual;
-- 字串轉時間
select to_date(
'2020-09-25 04:09:48'
,'yyyy-mm-dd hh24:mi:ss'
)from dual;
-- 字串相連
select
'hello'
||' world'
from dual;
oracle區別於mysql,使用中有不少不同之外,下面列舉部分:
1、邏輯結構為:資料庫下可建立表空間,表空間下的為 使用者.表名 ,而mysql為:使用者下的 資料庫.資料表
2、建立表和字段時不能指定注釋,需要單獨使用語句 comment on table 或 comment on column單獨指定注釋
3、建立表時表主鍵不能指定為自增,需要單獨使用序列和觸發器實現
oracle初步訪問
伺服器端 安裝了oracle資料庫伺服器,並配置相關資訊 客戶端 訪問oracle軟體,根據 url,賬戶遠端登入 oracle 資料庫伺服器 a.sqlplus 命令列的資料庫工具 b.sql developer 圖形介面的工具 a.本地 oracle訪問 sqlplus as sysdba 以資...
初步了解oracle
在oracle10g 11g中預設scott被鎖定。a 啟動兩個服務 listener service b 開始 執行 sqlplus或 sqlplusw a conn connect scott tiger system orcl sys orcl as sysdba b 解鎖 鎖定 alter ...
mysql5 7初步使用 MySQL使用初步知識
一 建立資料庫 create database database name php中建立資料庫的兩種方法 mysql create db mysql query conn my 一 建立資料庫 create database database name php中建立資料庫的兩種方法 mysql cr...