oracel學習筆記基礎篇

                                                                                                   oracel基礎
創建用戶:

create user 用戶名 identified by 密碼;//其中密碼不能數字開頭

例如:創建用戶:sunday 密碼:sunday

create user sunday identified by sunday;

用戶授權:
grant 權限 to 用戶名
例如:把connect,resource權限給sunday
grant connect,resource to sunday;

創建表:
create table 表名(字段名+字段類型+長度+約束);//字段間用逗號隔開,注意中英文的問題。

例如:創建用戶表,裏面包含用戶id和用戶名。

Create table tb1_user(
id number(5) primary key,
name varchar(8) not null);



        對數據庫的增刪改查(CURD)
-------------------------------------------------------------------

部門表tb1_dept
Id name city

create table tbl_dept(
id number(5) primary key,
name varchar2(10) not null,
city varchar2(10) not null
);
注意:由於tbl_dept表的id會作爲tbl_emp表的外鍵,所以應該先創建tbl_dept表。

員工表

Tb1_emp
id,name,age,gender,dep_id
create table tbl_emp(
id number(5) primary key,
name varchar2(10) not null,
dept_id number(10) reference tbl_dept(id),
age number(2) not null,
gender varchar2(10)
);
注意:reference是依賴的意思,前面加了foreign就是表級依賴了,不加就是列級依賴。


DML:插入數據
Insert into tbl_dept values(1,‘sale’,’南昌’);

更新數據

update 表名 set 字段值=字段值的新值 where 條件


例如:更新部門id=1的id和name

update tbl_dept set id=2,name='teacher' where id=1;


刪除數據:

delete from 表名 where id=1;

delete from tbl_salary where id=1;


查詢數據:
1.簡單查詢
select* from tbl_emp;


2.條件查詢
select id,name,from tbl_dept where id =1;


3.排序查詢
select id,name,from tb1_dept order by id desc;

關鍵字:order by +字段名+排序方式
order by 一定是在查詢語句的最後面。
排序方式:升序:asc 降序:desc
(聊天軟件:desc date)

4.分組查詢 組函數
avg() max() min() sum()
關鍵字:group by dept_id
select avg(salary) from tbl_salary group by dept_id;


----------------------------------------------------------------------


工資表tbl_salary
id,name,dept_id,salary

create table tbl_salary(id number(5) primary key,name varchar2(8) not null,dept_id number(8) not null,salary number(5) not null);

insert into tbl_salary values(1,'小明',1,1000);

insert into tbl_salary values(2,'小明',1,600);

insert into tbl_salary values(3,'小明',4,1700);

insert into tbl_salary values(4,'小明',1,1090);



//查詢id爲4的員工工資
select* from tbl_salary where id =4;


//按工資進行排序(降序)
select* from tbl_salary order by salsry desc;



//查詢每個部門的平均工資
select avg(salary) from tbl_salary group by dept_id;


//查詢平均工資大於100的部門id,並按平均工資降序排列
select dept_id from tbl_salary group by dept_id having avg(salary)>100 order by avg(salary)desc;


注意:having要和group by 連用,有having一定要有group by,但又group by不一定有having,group by只是一個帥選條件。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

Create table 表名 字段名 數據類型 約束名
表名的命名規則:A-Z(a-z,0-9)不超過30個字符
數據類型:
Number(5) 5位的整數
Number(5,2)表示小數點後有兩位的5位數
字符類型
Char(4) 4個字符,保存固定長度的字符,雖然浪費了內存,但效率高(按段匹配,只要匹配一次)
Varchar(5) 保存長度固定的字符,雖然節約了內存,但效率低(按位匹配,匹配多次)

Varchar2(2)oracle獨有的數據類型,建議使用
Clob:可以保存2G的數據

日期類型new Date();util sql
SimpleDateFormat.format()
二進制數據:
Bolb:保存二進制文件

約束條件:
1.    primary key:主鍵約束 非空唯一
2.    foreign  key:外鍵約束 可以爲空,一旦不爲空,多爲其他表的主鍵
3.    not null:指定字段不爲空
4.    unique:唯一
5.    default : 默認
0和null(表示沒有)以及“”(表示集合爲空)是一個不一樣的概念,
數據庫裏面“”表示轉義
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章