UID只是數(shù)據(jù)庫(kù)的一個(gè)記錄號(hào),每個(gè)數(shù)據(jù)庫(kù)的記錄號(hào)不一樣,類似于ROWID、ROWNUM。
創(chuàng)新互聯(lián)建站專注于甘德網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供甘德?tīng)I(yíng)銷型網(wǎng)站建設(shè),甘德網(wǎng)站制作、甘德網(wǎng)頁(yè)設(shè)計(jì)、甘德網(wǎng)站官網(wǎng)定制、小程序定制開(kāi)發(fā)服務(wù),打造甘德網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供甘德網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
SELECT du.username, du.user_id
FROM dba_users du
首先:UID,DATE 屬于ORACLE關(guān)鍵字,字段名不能是UID,DATE。
所以需要改個(gè)名字:
UID-- CUSTID
DATE -- ORD_DATE
-- 字符型日期:
select
custid
from t_order
where ord_date between '20091001' and '20091031'
group by custid
having count(distinct ord_date)1 ;
-- 日期類型日期:
select
custid
from t_order
where ord_date between to_date('20091001','yyyymmdd')
and to_date('20091101','yyyymmdd')
group by custid
having count(distinct to_char(ord_date,'yyyymmdd') )1 ;
你不用管它uid和gid,uid和gid分別是用戶的id和組的id,你只要把這個(gè)用戶加到那個(gè)默認(rèn)組里就可以了。usermod可以直接用組名,不一定非要用組的id。
oracle默認(rèn)的數(shù)據(jù)庫(kù)用戶組是oinstall,這個(gè)組可以創(chuàng)建數(shù)據(jù)庫(kù)等。建議的數(shù)據(jù)庫(kù)操作組是dba(其實(shí)你安裝的時(shí)候不選,它就會(huì)把這一項(xiàng)默認(rèn)選成oinstall)
創(chuàng)建用戶的時(shí)候useradd -g oinstall -G dba oracle
你已經(jīng)改了,就這樣修改 usermod -g oinstall -G dba oracle
其實(shí)加入dba組我覺(jué)得沒(méi)什么必要,直接usermod -g oinstall 就ok了
在mysql中,數(shù)據(jù)表的主鍵是 auto increment
在oracle中,不支持 auto increment
table 標(biāo)簽中添加generateKey 子標(biāo)簽,同時(shí)需要在oracle中創(chuàng)建sequence。示例:
mysql的排序語(yǔ)句
在oracle中不支持,直接換成
即可
mysql的模糊查詢語(yǔ)句
oracle中的concat只支持兩個(gè)參數(shù),會(huì)報(bào)參數(shù)個(gè)數(shù)錯(cuò)誤,替換成下面的
or
注意,mysql中不支持用 || 的模糊查詢
mysql中的別名可以使用uid,但是uid在oracle中是一個(gè)保留關(guān)鍵字。替換成oracle之后,注意有別名設(shè)置成uid的別名語(yǔ)句是不能通過(guò)執(zhí)行的。(報(bào)找不到 from關(guān)鍵字)
constraint:約束條件 在Oracle中有幾種constraint用來(lái)約束table確保其數(shù)據(jù)的完整性,例如: Check Constraint,Not Null Constraint, Primary Key Constraint,References Constraint。 舉例:CREATE TABLE STUDENT ( STUDENT _ID NUMBER(3) CONSTR.
看下面的例子:
SQL DROP TABLE k;
Table dropped
-- 建立表K,字段名為UID(oracle關(guān)鍵字)
SQL CREATE TABLE k(UID INT);
CREATE TABLE k(UID INT)
ORA-00904: : invalid IDENTIFIER
-- 字段名加""表創(chuàng)建成功
SQL CREATE TABLE k("UID" INT);
Table created
--插入一些數(shù)據(jù)
SQL INSERT INTO k VALUES(1);
1 row inserted
SQL INSERT INTO k VALUES(2);
1 row inserted
SQL INSERT INTO k VALUES(3);
1 row inserted
-- 查詢時(shí)加不加""都正常(似乎不太符合規(guī)范,UID 可能是比較特殊的關(guān)鍵字???)
SQL SELECT UID FROM k;
UID
----------
5
5
5
SQL SELECT "UID" FROM k;
UID
---------------------------------------
1
2
3
-- update時(shí)必須加上""
SQL UPDATE k SET UID=5 WHERE UID=3;
UPDATE k SET UID=5 WHERE UID=3
ORA-01747: invalid user.table.column, table.column, or column specification
SQL UPDATE k SET "UID"=5 WHERE "UID"=3;
1 row UPDATED
總結(jié):
1. oracle可以在"關(guān)鍵字"的形式引用關(guān)鍵字作為字段名與查詢語(yǔ)句的別名。如果不是特殊情況最好
不要使用,以免引起代碼編寫過(guò)程中的錯(cuò)誤。
2. 加了""的關(guān)鍵字必須大寫。(補(bǔ)充)
-- The End --