dualsql
⑴ pl-sql中select * from al 這個al是什麼
Dual簡單的說就是一個空表,Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。常用來通過select語句計算常數表達式。
特性:
1、Oracle提供的最小的表,不論進行何種操作(不要刪除記錄),它都只有一條記錄——'X'。
例如:執行select * from al,裡面只有一條記錄;執行insert into al values('Y')後,再次查詢al表,仍然顯示一條記錄。
2、是sys用戶下的一張內部表,所有用戶都可以使用DUAL名稱訪問,無論什麼時候這個表總是存在
例如:執行一個查看當前日期的語句 select sysdate from al,這條語句在放在放在任何一個oracle資料庫當中都不會報錯,所以一般做一些特定查詢的時候用這個表是最穩妥的。
(1)alsql擴展閱讀:
用途
1、select計算常量表達式、偽列等值
oracle內部處理使它只返回一行數據,而使用其它表時可能返回多個數據行。
2、查看當前用戶
select user from al;
select count(*) from al;
3、用做計算器
select 7*9*10-10 from al;
4、調用系統函數
(1)獲得當前系統時間
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from al;
(2)獲得主機名
select sys_context('userenv','terminal') from al;
(3)獲得當前locale
select sys_context('userenv','language') from al;
(4)獲得一個隨機數
select DBMS_RANDOM.random from al;
5、查看序列值
(1)創建序列aaa 以1開始,每次加1
create sequence aaa increment by 1 start with 1;
(2)獲得序列aaa 的下一個序列值
select aaa.nextval from al;
(3)獲得序列aaa 的當前序列值
select aaa.currval from al;
⑵ mysql中al是什麼意思
mysql中al是虛擬表,select ...from .....;格式:select sysdate from al;
MySQL是一個關系型資料庫管理系統,由瑞典MySQL AB 公司開發,目前屬於Oracle旗下產品。MySQL 是最流行的關系型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的RDBMS應用軟體之一。
MySQL是一種關系資料庫管理系統,關系資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。
由於其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。
(2)alsql擴展閱讀
MyISAMMySQL 5.0 之前的默認資料庫引擎,最為常用。擁有較高的插入,查詢速度,但不支持事務
InnoDB事務型資料庫的首選引擎,支持ACID事務,支持行級鎖定, MySQL 5.5 起成為默認資料庫引擎
BDB源 自 Berkeley DB,事務型資料庫的另一種選擇,支持Commit 和Rollback 等其他事務特性
Memory所有數據置於內存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會佔用和數據量成正比的內存空間。並且其內容會在 MySQL 重新啟動時丟失
Merge將一定數量的 MyISAM 表聯合而成一個整體,在超大規模數據存儲時很有用
Archive非常適合存儲大量的獨立的,作為歷史記錄的數據。因為它們不經常被讀取。Archive 擁有高效的插入速度,但其對查詢的支持相對較差
Federated將不同的 MySQL 伺服器聯合起來,邏輯上組成一個完整的資料庫。非常適合分布式應用
Cluster/NDB高冗餘的存儲引擎,用多台數據機器聯合提供服務以提高整體性能和安全性。適合數據量大,安全和性能要求高的應用
CSV: 邏輯上由逗號分割數據的存儲引擎。它會在資料庫子目錄里為每個數據表創建一個 .csv 文件。這是一種普通文本文件,每個數據行佔用一個文本行。CSV 存儲引擎不支持索引。
⑶ SQL語句中select mmy from al;有什麼意義
FORM 後面就是 表名 說的明白一下 select 列名 from 表名 這句話的意思是 從這個表裡選擇制定的列!
⑷ SQL Server中有沒有類似Oracle中 的 DUAL 的表
SQL Server中沒有DUAL,要什麼就直接SELECT什麼。
比如:
Oracle 中 select 999*999 from al;
在SQL Server中:
可以是:select 999*999 ;
或准確點:
select999*999AStRevNumber;--選擇999*999的積作為tRevNumber來返回
個人認為,還是MS SQL來得更科學,Or中這是典型的脫了褲子打屁。
(單位有個基於OR的管理系統,用了幾年,個人對它吐槽無數)