創建用戶:
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_empid,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(表示沒有)以及“”(表示集合爲空)是一個不一樣的概念,
數據庫裏面“”表示轉義
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------