登錄
- 登錄名/密碼(不區分大小寫)
- connect 用戶/用戶名
數據字典:
dba_tablespaces 針對系統管理員級別
user_tablespaces 針對普通用戶查看
dba_users 針對系統管理員
user_users 針對普通用戶
常用命令
-系統命令
獲取當前系統日期
sysdate顯示當前用戶
show users顯示數據字典的數據字段
desc dba_users啓用用戶的語句
ALTER USER username ACCOUNT unlock;設置用戶的默認或臨時表空間
ALTER USER username
default|temporary TABLESPACE tablespace_name創建表空間 括號內表示臨時表空間
CREATE [temporary] TABLESPACE tablespace_name tempfile|datafile ‘xx.dbf’ size xx刪除表空間(包括數據文件)
DROP TABLESPACE tablespace_name [Including contents]設置聯機或脫機狀態
ALTER TABLESPACE tablespace_name
online|offline;設置只讀或可讀寫狀態
ALTER TABLESPACE tablespace_name
read only|read write;如何向表空間增加數據文件
ALTER TABLESPACE tablespace_name
ADD DATAFILE ‘xx.dbf’ size xx;刪除數據文件
ALTER TABLESPACE tablespace_name
DROP datafile ‘xx.dbf’
-表操作
創建表
CREATE TABLE table_name
(
column_name datatype,…
)修改表結構
ALTER TABLE table_name 要對任何表進行操作前需要先加上這句
ADD column_name datatype; 添加字段
MODIFY column_name datatype; 更改字段類型
DROP COLUMN column_name ; 刪除字段
RENAME COLUMN column_name TO new_column_name; 修改字段名字
RENAME table_name TO new_table_name;修改表名刪除表
TRUNCAT TABLE table_name 只刪除表的數據
DROP TABLE table_name 連表結構一起刪除添加數據
INSERT INTO table_name (column1,column2,…) VALUES(values1,values2,…)
爲字段添加默認值
- 在創建字段的時候添加即在該字段後加上 default 默認值
- 表已經創建則用
ALTER table 表名
MODIFY 字段名 default 默認值
在建表時複製數據
CREATE TABLE table_newname
AS
SELECT column1,…|* FROM table_old在對錶添加時複製
INSERT INTO table_new
[(column1,…)]
SELECT column1,…|*FROM table_old修改表數據(where 表示條件)
UPDATE table_name
SET column1=value1,…[WHERE connditions]刪除數據(以行刪除)沒有截斷表的效率高
DELETE FROM table_name [WHERE conditions]
-約束
- 查詢已創建的約束
desc user_constraints
非空約束
在創建表時設置:
在對應字段類型後加上 NOT NULL表已創建,修改表(但是要在表中沒有空值時才能成功):
alter table table_name
modify column_name datatype not null;在修改表時去除非空約束
ALTER TABLE table_name
MODIFY column_name datatype NULL;
主鍵約束(唯一,非空)
在創建表時設置主鍵約束
- 在字段類型後加上(一個) PRIMARY KEY
- 多個,放在所有字段設置之後
CONSTRAINT constraint_name PRIMARY KEY(column_name1,…)
在修改表時添加主鍵約束
alter table table_name
ADD CONSTRAINT constraint_name
PRIMARY KEY(column_name1,…);更改約束的名稱
alter table table_name
RENAME CONSTRAINT old_name TO new_name刪除主鍵約束
- 啓用/禁用:
alter table table_name
DISABLE|ENABLE CONSTRAINT constraint_name - 刪除 :
①alter table table_name
DROP CONSTRAINT constraint_name
②([]內代表級聯刪除)
alter table table_name
DROP PRIMARY KEY[CASCADE]
- 啓用/禁用:
外鍵約束
在創建表時設置外鍵約束(後者是主表且主表的字段必須是主鍵,且在從表插入數據時外鍵的值要跟主表一樣或爲空值)
- 在字段類型後加上 REFERENCES table2(column_name)
-在所有字段創建完之後
CONSTRAINT constraint_name FOREIGN
KEY(column_name) REFERENCES
table_name(column_name)[ON DELETE CASCADE]
- 在字段類型後加上 REFERENCES table2(column_name)
在修改表時添加外鍵約束([]內表示級聯刪除)
alter table table_name
ADD CONSTRAINT constraint_name FOREIGN
KEY(column_name) REFERENCES
table_name(column_name)[ON DELETE CASCADE]刪除外鍵約束
- 啓用/禁用:
alter table table_name
DISABLE|ENABLE CONSTRAINT constraint_name - 刪除 :
alter table table_name
DROP CONSTRAINT constraint_name
- 啓用/禁用:
唯一約束(允許有空值且可以有多個)
在創建表時設置唯一約束
- 在字段類型後加上 UNIQUE
- 在所有字段創建完後
CONSTRAINT constraint_name UNIQUE(column_name)
在修改表時添加唯一約束
alter table table_name
ADD CONSTRAINT constraint_name
UNIQUE(column_name);刪除唯一約束
同外鍵約束一樣
檢查約束
在創建表時設置檢查約束
- 在字段類型後加上 CHECK(expressions)
- 在所有字段創建完後
CONSTRAINT constraint_name
CHECK(expressions)
在修改表時添加檢查約束
alter table table_name
ADD CONSTRAINT constraint_name
CHECK(expressions);刪除檢查約束
同上
-查詢
在SQL*PLUS中設置格式(可簡寫COL)
- COLUMN column_name HEADING new_name
- COLUMN column_name FORMAT dataformat
例:(字符類型)col username format a10
(數值類型)col salary format $999.9
(將原長度很長的用戶名設置成在顯示的時候只顯示10個字節的長度)
清除之前設置的格式
COLUMN column_name CLEAR
對查詢結果排序
SELECT …FROM….[WHERE …]
ORDER BY column1 DESC/ASC,…CASE…WHEN 語句
CASE column_name
WHEN value1 THEN result1,…
[ELSE rusult]
ENDdecode函數
decode(column_name,value1,result1,…,defaultvalue)