小編整理的一些比較常用的SQL語句語法
一
INSERT INTO 表名(字段名
INSERT INTO 表名(字段名
字符串類型的字段值必須用單引號括起來
如果字段值裡包含單引號
字符串類型的字段值超過定義的長度會出錯
日期字段的字段值可以用當前數據庫的系統時間SYSDATE
或者用字符串轉換成日期型函數TO_DATE(‘
TO_DATE()還有很多種日期格式
年
INSERT時最大可操作的字符串長度小於等於
方法借用ORACLE裡自帶的DBMS_LOB程序包
INSERT時如果要用到從
CREATE SEQUENCE 序列號的名稱 (最好是表名+序列號標記) INCREMENT BY
MAXVALUE
其中最大的值按字段的長度來定
INSERT 語句插入這個字段值為: 序列號的名稱
DELETE FROM表名 WHERE 條件;
注意
如果確實要刪除一個大表裡的全部記錄
TRUNCATE TABLE 表名;
此操作不可回退
UPDATE表名 SET 字段名
如果修改的值N沒有賦值或定義時
值N超過定義的長度會出錯
注意事項:
A
確認完成後
否則改變不一定寫入數據庫裡
如果想撤回這些操作
B
應該把它限定在較小 (一萬條記錄) 范圍內
程序響應慢甚至失去響應
其間加上COMMIT 確認事物處理
二
ORACLE常用的字段類型有
CHAR 固定長度的字符串
VARCHAR
NUMBER(M
DATE 日期類型
創建表時要把較小的不為空的字段放在前面
創建表時可以用中文的字段名
創建表時可以給字段加上默認值
這樣每次插入和修改時
創建表時可以給字段加上約束條件
例如 不允許重復 UNIQUE
改變表的名稱
ALTER TABLE 表名
在表的後面增加一個字段
ALTER TABLE表名 ADD 字段名 字段名描述;
修改表裡字段的定義描述
ALTER TABLE表名 MODIFY字段名 字段名描述;
給表裡的字段加上約束條件
ALTER TABLE 表名 ADD CONSTRAINT 約束名 PRIMARY KEY (字段名);
ALTER TABLE 表名 ADD CONSTRAINT 約束名 UNIQUE (字段名);
把表放在或取出數據庫的內存區
ALTER TABLE 表名 CACHE;
ALTER TABLE 表名 NOCACHE;
刪除表和它所有的約束條件
DROP TABLE 表名 CASCADE CONSTRAINTS;
TRUNCATE 表名;
三
SELECT字段名
字段名可以帶入函數
例如: COUNT(*)
TO_CHAR(DATE字段名
NVL(EXPR
解釋:
IF EXPR
RETURN EXPR
ELSE
RETURN EXPR
DECODE(AA﹐V
解釋:
IF AA=V
IF AA=V
ELSE
RETURN NULL
LPAD(char
解釋:
字符char
字段名之間可以進行算術運算
例如: (字段名
查詢語句可以嵌套
例如: SELECT …… FROM
(SELECT …… FROM表名
兩個查詢語句的結果可以做集合操作
例如: 並集UNION(去掉重復記錄)
分組查詢
SELECT字段名
[HAVING 條件] ;
兩個以上表之間的連接查詢
SELECT字段名
表名
SELECT字段名
表名
有(+)號的字段位置自動補空值
查詢結果集的排序操作
SELECT字段名
ORDER BY字段名
字符串模糊比較的方法
INSTR(字段名
字段名 LIKE ‘字符串%
每個表都有一個隱含的字段ROWID
四
CREATE INDEX 索引名ON 表名 ( 字段
ALTER INDEX 索引名 REBUILD;
一個表的索引最好不要超過三個 (特殊的大表除外)
也可以建立多字段的組合索引和基於函數的索引
ORACLE
ORACLE
ORACLE DOC上說字符串最大可以建索引的長度約是:數據塊的大小(db_block_size)*
CREATE VIEW 視圖名AS SELECT …
ALTER VIEW視圖名 COMPILE;
視圖僅是一個SQL查詢語句
CREATE SYNONYM同義詞名FOR 表名;
CREATE SYNONYM同義詞名FOR 表名@數據庫鏈接名;
CREATE DATABASE LINK數據庫鏈接名CONNECT TO 用戶名 IDENTIFIED BY 密碼 USING ‘數據庫連接字符串
數據庫連接字符串可以用NET
數據庫參數global_name=true時要求數據庫鏈接名稱跟遠端數據庫名稱一樣
數據庫全局名稱可以用以下命令查出
SELECT * FROM GLOBAL_NAME;
查詢遠端數據庫裡的表
SELECT …… FROM 表名@數據庫鏈接名;
五
常用的系統權限集合有以下三個:
CONNECT(基本的連接)
常用的數據對象權限有以下五個:
ALL ON 數據對象名
DELETE ON 數據對象名
GRANT CONNECT
GRANT SELECT ON 表名 TO 用戶名;
GRANT SELECT
REVOKE CONNECT
REVOKE SELECT ON 表名 FROM 用戶名;
REVOKE SELECT
From:http://tw.wingwit.com/Article/program/MySQL/201311/29570.html