Oracle學習交流(1) SQL語言基礎

2021-05-26 16:48:07 字數 2677 閱讀 6553

--獲取當前系統時間 備註:dual是乙個虛擬的檢視,因為oracle中語句要求查詢必須具備from

--所以dual是oracle中的乙個實際存在的表,任何使用者均可讀取,常用在沒有目標表的select語句塊中

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') as 日期 from dual;

select sysdate from dual;

--檢視當前登入使用者

select user from dual;

--建立主鍵表

create table stuclass (

cid number primary key,

cname varchar2(20) not null

)--建立外來鍵表

create table student(

sid number primary key,

sname varchar2(20) not null,

sage number check(sage>6 and sage<30),

classid number not null,

constraint fk_student_stuclass foreign key (classid) references stuclass(cid)

)insert into stuclass values(1,'.net');

insert into student values(1,'小白',18,1);

insert into student values(1,'小白',18,1,'湖北**');

--向已經建立的表中增加乙個新列

alter table student add  saddress varchar2(255)

drop table  student

select * from student

--修改表中指定列的資料型別和型別長度 此時已經修改了.從新登入就可以檢視到效果

alter table student modify saddress varchar2(255)

--刪除表中指定的列

alter table student drop column saddress

--建立標識列

create sequence seq_stu minvalue 1 start with 1 increment by 1;

create sequence seq_class minvalue 1 start with 1 increment by 1;

--插入資料

select * from student

insert into stuclass values(seq_class.nextval,'g3t13')

insert into student values(seq_stu.nextval,'小黑',20,1,'湖北**')

--更新資料

update student set student.sname='小黑黑' where student.sid=2;

--解鎖hr

alter user hr account unlock

alter user hr identified by tiger

--查詢user的所有表

select * from tabs

--單行子查詢

select * from employees where salary=(

select max(salary) from employees)

--多行子查詢

select * from employees where salary >=all(

select salary from employees where employees.department_id=20)

--多列子查詢

select first_name,salary,department_id from employees where (department_id,salary)in(

select department_id, min(salary) from employees group by department_id)

--相關子查詢

select * from employees a where exists(

select * from employees b where b.manager_id=a.employee_id) order by department_id,employee_id

--在create table中使用子查詢

create table emp(employee_id,first_name,last_name,salary,department_id) as(

select employee_id,first_name,last_name,salary,department_id  from employees where department_id =100

)select * from emp

--在insert into語句中使用子查詢

insert into emp(

select employee_id,first_name,last_name,salary,department_id  from employees where department_id =80

)

SQL學習筆記1 SQL語句型別

資料型別 描述varchar2 size 可變長字元資料 char size 定長字元資料 number p,s 可變長數值資料 date 日期型資料 long 可變長字元資料,最大可達到2g clob 字元資料,最大可達到4g raw long raw 原始的二進位制資料 blob 二進位制資料,...

資料分片(1 sql)

邏輯表 真實表資料節點 繫結表廣播表 邏輯表水平拆分的資料庫 表 的相同邏輯和資料結構表的總稱。例 訂單資料根據主鍵尾數拆分為 10 張表,分別是 t order 0 到 t order 9,他們的邏輯表名為 t order。真實表在分片的資料庫中真實存在的物理表。即上個示例中的 t order 0...

SQL資料庫 1 SQL語言

sql structured query language 結構化查詢語言 資料庫分為 層次型,網狀型,關係型。關係型資料庫 是乙個二維表的集合,可以用來儲存不同型別資料資訊,易於檢索,冗餘度較小。常用的資料庫包括 oracle mysql microsoft sql server access d...