回顧:
1宛逗、安裝Oracle
2盾剩、使用終端(命令終端、客戶端工具)
登陸數(shù)據(jù)庫屎暇。
3驻粟、SQL分類
根據(jù)sql功能不同凶异,可分為:
DCL:數(shù)據(jù)控制語言
DDL:數(shù)據(jù)定義語言
DML:數(shù)據(jù)操縱語言
TCL:事務控制語言
DQL:數(shù)據(jù)查詢語言
1挤巡、DCL:數(shù)據(jù)控制語言-->DBA操作
Data Control Language
用于給數(shù)據(jù)庫用戶創(chuàng)建普通用戶、并給用戶授權矿卑、
收回權限、刪除用戶操作轻黑。
包括:create user 創(chuàng)建用戶
grant 給用戶或角色授權
revoke 收回用戶或角色權限
drop user 刪除用戶
1)琴昆、創(chuàng)建用戶
create user 用戶名 identified by 密碼;
如:create user ksxx_21
identified by ksxx_21;
2)、給用戶授權
grant 權限1,權限2... to 用戶名;
如:grant resource,connect to ksxx_21;
3)业舍、收回權限
revoke 權限1,權限2... from 用戶名;
如:revoke resource from ksxx_21;
4)、刪除用戶
drop user 用戶名;
還可以直接通過客戶端功能,直接刪拗踢。
如:drop user ksxx_21;
2、DDL:數(shù)據(jù)定義語言
Data Definition Language
用于建立诸狭、修改君纫、刪除數(shù)據(jù)庫對象。
包括:
create 創(chuàng)建表或其他數(shù)據(jù)庫對象的結構叉庐。
alter 修改表或其他對象的結構会喝。
drop 刪除表或其他對象的結構陡叠。
truncate 刪除對象數(shù)據(jù)肢执,保留對象結構。
rename 給表或其他對象重命名兴溜。
1)、創(chuàng)建表或其他對象結構
create table 表名(
字段名1 數(shù)據(jù)類型(長度),
字段名2 數(shù)據(jù)類型(長度),
....
字段名N 數(shù)據(jù)類型(長度) --最后一個逗號不需要
);
如:創(chuàng)建people表
name刨沦、age斋攀、gender、birthday淳蔼、salary
create table people(
name varchar2(50) not null,
age number(3),
gender char defautl 'M', --默認為1個長度
bireday date,
salary number(8,2)
);
2)、刪除表或其他對象結構
drop table 表名;
如:drop table people;
3)讳癌、修改表或其他對象結構
基本用法:
alter table 表名 add|modify(
字段名1 字段類型(長度),
字段名2 字段類型(長度),
...
字段名N 字段類型(長度)
);
①存皂、新增字段
如:alter table people add(
idcard varchar2(18)
);
②、修改原字段
如:修改字段類型旦袋、長度
--改長度
alter table people modify(
salary number(15,2)
);
--改類型
alter table people modify(
salary varchar2(15)
);
注意:
a、數(shù)據(jù)類型不變商乎,
由大 → 小改祭阀,
必須要求字段數(shù)據(jù)為空。
由小 → 大改抹凳,不作要求伦腐。
b赢底、數(shù)據(jù)類型改變柏蘑,
必須要求字段數(shù)據(jù)為空。
高級應用:
③嘁扼、修改字段名
alter table 表名
rename column 字段名 to 新字段名黔攒。
如:alter table people
rename column gender to sex;
④强缘、刪除字段
alter table 表名 drop(字段名1,字段名2...)
如:alter table people drop(idcard);
⑤不傅、修改表名
alter table 原表名 rename to 新表名
如:alter table people rename to newpeople;
4)、刪除表中數(shù)據(jù)商虐,保留表結構
truncate table 表名;
如:truncate table people;
5)崖疤、重命名表
rename 原表名 to 新表名;
如:rename people to newpeople;
3、表:數(shù)據(jù)庫對象
數(shù)據(jù)表是關系數(shù)據(jù)庫中的基本存儲結構劫哼,
一個關系數(shù)據(jù)庫由多張數(shù)據(jù)庫表組成。
數(shù)據(jù)表是數(shù)據(jù)庫中眯亦,用來存儲數(shù)據(jù)的最小單元般码。
數(shù)據(jù)庫表是二維結構,由行列構成板祝。
行:row橫排數(shù)據(jù),又叫做記錄(Record)
一行就代表著一條有效記錄。
一條數(shù)據(jù) = 一行記錄 = 一行
列:column縱列數(shù)據(jù)温技,又叫做字段(Feild)
一個字段 = 一列
關系型數(shù)據(jù)庫:
數(shù)據(jù)庫對象是獨立的舵鳞,然后對象與對象之間,
是存在某一種關聯(lián)關系的蜓堕。
4、數(shù)據(jù)庫類型
1)套才、字符串類型
char:固定長度的字符串類型背伴,不足以空格補全峰髓。
varchar2:可變長度的字符串類型息尺,存多少是多少。
2)搂誉、數(shù)字類型
number(p):表示為整數(shù),最大為p位并级。
number(3):可存-999~999
number(p,s):數(shù)字總長為p個凛虽,小數(shù)點后面為s個。
小數(shù)點前p - s個凯旋。
number(6,2):-9999.99~9999.99
3)、時間類型
date:7個字節(jié)
世紀钠署,年月日時分秒
dd/mm/yy
timestamp:11個字節(jié)
前7個字節(jié)與date相同荒椭,
后4個字節(jié)存精度,最高可精確到nm趣惠,默認精確為ms
補充:
1、數(shù)據(jù)庫sql執(zhí)行中的注釋
-- 注釋內容
2草戈、從今以后侍瑟,建議使用自定義用戶登錄。
不要再使用系統(tǒng)用戶登錄了涨颜。
原因:系統(tǒng)用戶屬于Oracle數(shù)據(jù)庫的。
萬一數(shù)據(jù)紊亂星持,將無法還原弹灭。
將必須卸載數(shù)據(jù)庫羹令,重新安裝损痰。
如果是自定義用戶數(shù)據(jù)紊亂,
只用通過系統(tǒng)用戶將其刪除卢未,重建即可辽社。
3、數(shù)據(jù)庫用戶滴铅、對象的區(qū)別
用戶類似于家庭,對象屬于家庭中的成員拱烁。
用戶分系統(tǒng)用戶及普通用戶噩翠。
任何用戶中都存在以下對象:
表、視圖伤锚、索引、序列猛们、存儲過程狞洋、觸發(fā)器...
最常見的數(shù)據(jù)庫對象就是表。
4徘铝、desc關鍵字
用于查看表結構
desc 表名;
5惯吕、java中字符串使用:"字符串",'字符'废登。
oracle中字符串淹魄、字符都是 '字符串'堡距,'字符'兆蕉。
6虎韵、default關鍵字
建表的時候添加在字段類型長度的后面缸废,
表示為該字段插入數(shù)據(jù)時,如果不指定值企量,
則默認為該值。
7硅瞧、not null關鍵字
建表的時候添加在字段類型長度的后面恕汇,
表示為該字段插入數(shù)據(jù)時,不允許添加空值null拇勃。