1. oracle select *, id需要在星號前加別名,mysql則不需要
mysql語法:
select *, id from xin_student_t;
oracle語法:
select st.*, st.id from xin_student_t st;
2. oracle表定義了別名,在查詢時可以不用別名指定字段,mysql必須用別名
3. mysql不同的表可以有相同的索引名稱,而oracle的索引名稱需要在整個庫中都是唯一的
同樣,刪除時mysql需要指定表名,oracle則不需要
mysql: drop index index_name on table_name;
oracle: drop index index_name;
4. mysql大部分函數(shù)使用時都會導(dǎo)致索引失效,比如instr,而oracle則不是,像instr就可以使用到索引
5. 聯(lián)合索引的第一個列未命中索引的情況下,此聯(lián)合索引在mysql中無法命中了已經(jīng),但在oracle中第一個列會使用跳躍式索引,第二列若使用到也會命中索引
6. mysql有反引號`,oracle沒有
7. oracle有clob來保存大量字符,最大4GB,mysql沒有clob,有類似的
CLOB(Character Large Object)是一種用于存儲大量字符數(shù)據(jù)的數(shù)據(jù)類型。它可以容納高達(dá)2^32-1個字節(jié)的文本數(shù)據(jù),適合存儲大文本如文章、文檔、XML等。
在MySQL的具體實現(xiàn)中,由于歷史原因,沒有直接對應(yīng)的CLOB類型,而是通過TEXT類型來支持大文本數(shù)據(jù)。MySQL提供了四種TEXT類型:
- TINYTEXT:最大長度為255個字符。
- TEXT:最大長度為65,535個字符。
- MEDIUMTEXT:最大長度為16,777,215個字符。
- LONGTEXT:最大長度為4,294,967,295個字符,通常用來替代CLOB類型。
如果你需要存儲大量的字符數(shù)據(jù),并且期望與標(biāo)準(zhǔn)SQL中的CLOB相對應(yīng),那么可以選擇使用LONGTEXT類型字段。例如:
CREATE TABLE my_table (
id INT PRIMARY KEY,
large_text LONGTEXT
);
在這個例子中,large_text字段就可以存儲類似CLOB的大文本數(shù)據(jù)。
8. oracle中有number(30, 6)類型,mysql中沒有,mysql中有如下數(shù)據(jù)類型
8.1 mysql數(shù)值類型
整數(shù)類型:
- TINYINT:占用1字節(jié)存儲空間,范圍-128至127(有符號)或0至255(無符號)。
- SMALLINT:占用2字節(jié)存儲空間,范圍-32,768至32,767(有符號)或0至65,535(無符號)。
- MEDIUMINT:占用3字節(jié)存儲空間,范圍-8,388,608至8,388,607(有符號)或0至16,777,215(無符號)。
- INT 或 INTEGER:占用4字節(jié)存儲空間,范圍-2,147,483,648至2,147,483,647(有符號)或0至4,294,967,295(無符號)。
- BIGINT:占用8字節(jié)存儲空間,范圍-9,223,372,036,854,775,808至9,223,372,036,854,775,807(有符號)或0至18,446,744,073,709,551,615(無符號)。
浮點數(shù)類型:
- FLOAT:單精度浮點數(shù),可以指定總位數(shù)(如FLOAT(M,D)),但不推薦使用這種方式。
- DOUBLE 或 DOUBLE PRECISION:雙精度浮點數(shù),提供更高的精度。
- DECIMAL 或 NUMERIC:高精度定點數(shù),常用于需要精確計算的情況,例如財務(wù)應(yīng)用。可以指定總位數(shù)和小數(shù)位數(shù)(如DECIMAL(M,D))。
在實際應(yīng)用中,根據(jù)具體的數(shù)值大小和精度要求選擇合適的數(shù)字類型。同時,也可以通過ZEROFILL屬性來控制填充零以達(dá)到固定寬度顯示的效果。
8.2 oracle數(shù)值類型
數(shù)值類型主要用于存儲整數(shù)和浮點數(shù)數(shù)據(jù)。
- NUMBER:
-
Oracle的核心數(shù)值類型是NUMBER,它可以存儲任意精度(從1到38位)的正負(fù)整數(shù)、定點數(shù)或浮點數(shù)。
-
定義格式為 NUMBER(precision, scale),其中:
- precision(精度):總數(shù)字位數(shù),包括小數(shù)點兩邊的數(shù)字。如果省略,最大默認(rèn)值為38。
- scale(小數(shù)位數(shù)):小數(shù)點右邊的數(shù)字位數(shù)。如果省略,默認(rèn)值為0。若scale為負(fù)數(shù),則表示該數(shù)字會被四舍五入到小數(shù)點左邊相應(yīng)的位置。
例如:文章來源:http://www.zghlxwxcb.cn/news/detail-666195.html
- NUMBER(5,2) 表示最多可以存儲5位數(shù)字,其中2位是小數(shù)部分,如123.45。
- NUMBER(10) 表示最多可以存儲10位數(shù)字,無小數(shù)部分,如1234567890。
- NUMBER(5,-2) 表示最多可存儲5位數(shù)字,并將結(jié)果四舍五入到小數(shù)點前兩位,如12.34會變成12。
- BINARY_FLOAT 和 BINARY_DOUBLE:
從Oracle 10g開始引入了兩種二進(jìn)制浮點類型以提高浮點計算性能:
- BINARY_FLOAT 是單精度浮點類型,占用4字節(jié)內(nèi)存空間。
- BINARY_DOUBLE 是雙精度浮點類型,占用8字節(jié)內(nèi)存空間。
總的來說,NUMBER類型非常靈活,可以根據(jù)實際需求來定義適合的精度和規(guī)模,而BINARY_FLOAT和BINARY_DOUBLE則更適合進(jìn)行高性能的浮點運算場景。文章來源地址http://www.zghlxwxcb.cn/news/detail-666195.html
到了這里,關(guān)于Mysql Oracle 區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!