国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
最新Oracle 和 mysql 的對比參照----開發(fā)篇
Oracle
mysql
對比版本
Release 10.2.0.1.0 XE  windowsXP
5.0.45-community-nt-log MySQL Community Edition (GPL)
當(dāng)作計算器
SQL> select 1+1 from dual;
mysql> select 1+1;
mysql> select 1+1 from dual;
顯示表結(jié)構(gòu)
SQL> desc 表名
mysql> desc 表名;
SQL> describe 表名
mysql> describe 表名;
mysql> explain  表名;
注意:explain 也可以用來獲取執(zhí)行計劃。
需要訪問:
User_tables、user_tab_cols、USER_COL_COMMENTS、USER_INDEXES等等字典表。
mysql> show columns from 表名;
bin>mysqlshow 庫名 表名
日期的概念
一個完全不同于字符串的類型。日期類型沒有所謂的格式,日期就是日期,只有在顯示的時候可以指定轉(zhuǎn)換成的字符串的格式。絕對不會允許2008-00-00這種情況出現(xiàn)。對于日期轉(zhuǎn)換為另一個日期相對比較簡單,比如select trunc(sysdate) from dual;
可以方便的和字符串進行比較、轉(zhuǎn)換 。允許0000-00-00這種情況出現(xiàn)作為null的替代品方便處理(個人不認為這樣比較方便,反而給我造成困惑)。對于字符串轉(zhuǎn)換為日期比較簡單,比如CREATE TABLE `datetime` (
`dt` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY  (`dt`)
);
INSERT INTO `datetime` VALUES ('2008-01-01 00:00:00');
select * from `datetime`;
日期類型
date
datetime
Date
日期
Time
時間
Timestamp
如果表中其他字段變化,此類型的字段自動更新為當(dāng)前系統(tǒng)時間。
Timestamp
保存了毫秒級別的時間
不清楚
日期函數(shù)
SQL> select trunc(sysdate) from dual;
mysql> select curdate();
mysql> select current_date;
SQL> select sysdate from dual;
mysql> select sysdate();
mysql> select now();
SQL> select to_char(sysdate,'HH24:Mi:SS') from dual;
注意此處返回結(jié)果為字符串,而不是日期類型。Oracle不提供和mysql中time類型相應(yīng)的類型。
mysql> select current_time;
mysql> select curtime();
注意:此處返回的是time類型。就是時間17:22:14這種時間。Oracle中沒有此類型。
毫秒級別:
SQL> select current_timestamp from dual;
需要使用函數(shù)MICROSECOND。目前還不會。
日期格式化
SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;
mysql> select date_format(now(),'%Y-%m-%d');
SQL> select to_char(sysdate,'hh24-mi-ss') from dual;
mysql> select time_format(now(),'%H-%i-%S');
日期函數(shù)
(增加一天)
SQL> select sysdate+1 from dual;
結(jié)果:2008-2-20 19:34:27
mysql> select date_add(now(),interval 1 day);
mysql>select now()+interval 1 day;
日期函數(shù)
(增加一個月)
SQL> select add_months(sysdate,1) from dual;
結(jié)果:2008-3-19 19:34:27
mysql> select date_add(now(),interval 1 month);
mysql>select now()+interval 1 month;
別名
SQL> select 1 as a from dual;
mysql> select 1 as a;
SQL> select 1 a from dual;
mysql> select 1 a;
字符串截取函數(shù)
SQL> select substr('abcdefg',1,5) from dual;
結(jié)果:abcde
mysql> select substr('abcdefg',1,5);
結(jié)果:abcde
去除空格:
select trim('abc   ') from dual;
去除空格:
select trim('abc   ') from dual;
字符串拼接:
SELECT CONCAT('a',' test') from dual;
結(jié)果:a test
SELECT CONCAT('a',' test');
結(jié)果:a test
注意oracle中||為字符串拼接
select 'a'||' test' from dual;
結(jié)果:a test
注意mysql中||為或操作符。
select 0||1;
結(jié)果1;
Select 0||0;
結(jié)果0。
判斷是否包含:
select instr('abcd','bcd') from dual;
結(jié)果:2
mysql> SELECT INSTR('foobarbar', 'bar');
結(jié)果:4
另有正則表達式。
另有SUBSTRING_INDEX(str,delim,count)函數(shù)
執(zhí)行sql腳本
SQL >@a.sql
1:mysql> source a.sql
執(zhí)行外部shell腳本
SQL>host test.sh
目前還不會
SQL>! cd ..
改表名
SQL> alter table T rename to T1;
mysql> alter table t rename t1;
mysql> alter table T1 rename to  T;
執(zhí)行命令
;<回車>
;<回車>
/
go
r
ego
run
distinct用法
SQL> select distinct 列1 from 表1;
mysql> select distinct 列1 from 表1;
SQL> select distinct 列1,列2 from 表1;
mysql> select distinct 列1,列2 from 表1;
注釋
--
--
/* 與*/
/*與*/
REM
#
限制返回記錄條數(shù)為5條
SQL> select * from 表名 where rownum<=5;
mysql> select * from 表名 limit 5;
分頁查詢
select *
from (
select row_.*, rownum rownum_
from (
yourSqlHere ) row_
where rownum <= 100)
where rownum_ > 20;
select * from t limit 20,100;
外連接
(+)
left join
LEFT OUTER JOIN
left outer join
RIGHT OUTER JOIN
查詢索引
SQL> select index_name,table_name from user_indexes;
mysql> show index from 表名 [FROM 庫名];
通配符
“%”
“%”和“_”
如果存在則更新,否則插入
Merge into
Replace into
參見,mysql的replace沒有oracle的merge嚴格:
http://www.bitbybit.dk/carsten/blog/?p=128#comment-50048
SQL語法
SELECT selection_list 選擇哪些列
SELECT selection_list 選擇哪些列
FROM table_list 從何處選擇行
FROM table_list 從何處選擇行
WHERE primary_constraint 行必須滿足什么條件
WHERE primary_constraint 行必須滿足什么條件
GROUP BY grouping_columns 怎樣對結(jié)果分組
注意:oracle如果需要排序必須指定order by 子句。
GROUP BY grouping_columns 怎樣對結(jié)果分組
注意:即使不存在order by子句,mysql也會按照group by 的列進行排序。甚至還能為group by 語句指定asc/desc子句。
HAVING secondary_constraint 行必須滿足的第二條件
HAVING secondary_constraint 行必須滿足的第二條件
ORDER BY sorting_columns 怎樣對結(jié)果排序
ORDER BY sorting_columns 怎樣對結(jié)果排序
Oracle的結(jié)果集限定語句見:”分頁查詢”
注意:oracle的rownum和mysql的Limit完全不同。
LIMIT count 結(jié)果限定
對not in null的處理,是關(guān)于三值邏輯的問題。
CREATE TABLE a
( code INT );
INSERT INTO a
VALUES (2);
INSERT INTO a
VALUES (NULL);
SELECT 1
FROM DUAL
WHERE 1 NOT IN (SELECT code  FROM a);
結(jié)果:無返回結(jié)果。
CREATE TABLE a
( code INT );
INSERT INTO a
VALUES (2);
INSERT INTO a
VALUES (NULL);
SELECT 1
FROM DUAL
WHERE 1 NOT IN (SELECT code  FROM a);
結(jié)果:無返回結(jié)果
對not exists的處理
CREATE TABLE a
( code INT );
INSERT INTO a
VALUES (2);
INSERT INTO a
VALUES (NULL);
SELECT 1
FROM DUAL
WHERE NOT EXISTS (SELECT 1
FROM a WHERE a.code = 1);
結(jié)果:1
CREATE TABLE a
( code INT );
INSERT INTO a
VALUES (2);
INSERT INTO a
VALUES (NULL);
SELECT 1
FROM DUAL
WHERE NOT EXISTS (SELECT 1
FROM a WHERE a.code = 1);
結(jié)果:1
獲取sql語句執(zhí)行計劃
SQL>EXPLAIN PLAN FOR   select * from t;
然后
SQL>select * from table(DBMS_XPLAN.DISPLAY)
Mysql> explain select * from t;
執(zhí)行計劃對照
全表掃描: TABLE ACCESS FULL
Type=all
Where條件過濾:FILTER
Extra=Using where
排序:SORT ORDER BY
Extra=Using filesort
事務(wù)管理
默認不自動提交
innoDB支持事務(wù)
默認自動提交autocommit
阻塞讀取方式
Unique index的區(qū)別。
又是關(guān)于三值邏輯的問題。
CREATE TABLE hr.t (
ID INT NOT NULL,
DATA CHAR(30) DEFAULT NULL,
UNIQUE (ID, DATA)
);
INSERT INTO hr.t
VALUES (1, NULL);
INSERT INTO hr.t
VALUES (1, NULL);
mysql> CREATE TABLE t (
ID INT NOT NULL,
DATA CHAR(30) DEFAULT NULL,
UNIQUE (ID, DATA)
);
INSERT INTO t
VALUES (1, NULL);
INSERT INTO t
VALUES (1, NULL);
select * from t;
Query OK, 0 rows affected
Query OK, 1 row affected
Query OK, 1 row affected
+----+------+
| ID | DATA |
+----+------+
|  1 | NULL |
|  1 | NULL |
+----+------+
2 rows in set
ORA-00001: 違反唯一約束條件 (HR.SYS_C003999)
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle數(shù)據(jù)庫移植到MySQL實戰(zhàn)
Oracle結(jié)構(gòu)與管理
MySQL與Oracle SQL語言差異比較一覽
oracle基礎(chǔ)sql語句
oracle查詢語句大全(oracle 基本命令大全一)
魔樂科技李興華Oracle教程學(xué)習(xí)筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服