Oracle基本语法(SQLPlus)

打印 上一主题 下一主题

主题 1894|帖子 1894|积分 5682

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录:

媒介:
准备工作:
登录:
1.打开SQL Plus下令行工具
第一种方式:
 第二种方式:
2.以差别用户登录 
SYSTEM(平凡管理员):
SYS(超级管理员):
不显示密码方式:
 显示密码方式:
SCOTT(平凡用户):
如果出现被锁住的情况:​
办理方法: 
SQL基本下令
1.数据定义语言(DDL)
数据库操作 
查询所有用户:
查看当前用户:
创建用户并指定其表空间:
给用户授予dba的权限(超级管理员):
删除用户(超级管理员):
 切换用户登录:
表操作
查询:
查询某个用户下所有表名:
查询某个用户下表个数:
查询某个用户的表结构:
查询指定表的建表语句:
创建:
数据范例(链接):
创建表空间:
​编辑
创建表:
给表添加解释:
给字段添加解释: 
 表备份:
修改:
重定名表:
添加字段:
修改字段名:
修改数据范例:
删除:
删除表字段:
删除表:
删除表空间:
删除指定表并重新创建该表:
2.数据操作语言(DML)
添加数据(insert)
给指定字段添加数据:
给表中批量添加数据:
修改数据(update) 
修改数据:
删除数据(delete)
删除数据:
3.数据查询语言(DQL)
编写顺序:
执行顺序:
基本查询
查询多个字段:
设置别名:
去除重复记载:
条件查询
语法:
​编辑
条件:
聚合函数
分组查询
排序查询
分页查询 
4.数据控制语言(DCL)
管理用户
查看当前用户:
权限控制
查询用户权限: 
授予权限:
回收权限:
函数
使用
sys.dual 
字符串函数
数值函数
日期函数
日期表现:
函数概述:
 eg:
sysdate:
next_day(): 
​last_day():​
round() :
​add_months():​
months_between(): 
extract(): 
约束
概念
分类
外键约束
添加外键:
 在创建表的时间添加:
 sql语句添加(alter):
查询外键
根据外键名称查看外键地点位置:
查找表的外键:
 删除外键




媒介:

   1.使用的数据库差别,所使用的语法也略有差别
  2.SQL对大小写不敏感
  3.Oracle中对引号里面的内容大小写敏感
  3.表空间名、文件路径......等需要用单引号将其包含
  4.一样寻常引号里面的内容需要大写
  
准备工作:

安装tips:PLSQL、Oracle以及客户端远程毗连服务器条记(仅供参考)-CSDN博客
   (1).Win+R打开services.msc
   

   (2)启动一些服务:
  (qwq我不知道哪些有用,哪些没用,所以我都把打开了,不知道有没有负面影响,大家参考一下别的博客吧)
  

  

登录:

1.打开SQL Plus下令行工具

第一种方式:


 第二种方式:

   (1)win+R 打开cmd
  

  (2)输入sqlplus
  

  
2.以差别用户登录 

   注意:
  1.使用用户口令这种形式登录的时间,是不显示密码的,口令输入的时间是不显示的,直接输就好
  2.如果想以显示密码的形式输入,直接在用户名那一块输入:用户名/密码
  3.超级管理员(sys)输入时需要注意指定 as sysdba
  SYSTEM(平凡管理员):


SYS(超级管理员):

   不显示密码方式:

  用户名:SYS
  密码:sys密码 as sysdba
  

  
   显示密码方式:

  用户名:sys/sys密码 as sysdba
  

  
  SCOTT(平凡用户):

如果出现被锁住的情况:


办理方法: 

   (1)登录超级管理员账户,
  

  (2)输入alter user 用户名 account unlock; 
   

  (3)重新登录即可:
  

  

SQL基本下令




1.数据定义语言(DDL)

数据库操作 

查询所有用户:

  1. select distinct(OWNER) from all_tables;
复制代码
查看当前用户:

  1. show user;
复制代码

创建表空间:

  1. create tablespace 表空间名 datafile '存储路径\***.dbf' size 空间大小;
复制代码

创建用户并指定其表空间:

(指定表空间需要先创建表空间,如果不指定表空间,就会按照默认空间存储)
  1. create user 用户名 identified by 密码 default tablespace 表空间;
复制代码

给用户授予dba的权限(超级管理员):

  1. grant dba to 用户;
复制代码


删除表空间:

  1. drop tablespace 表空间名 including contents and datafiles;
复制代码

删除用户(超级管理员):

   (1)查看用户是否有活泼对话
  1. select sid as session_id, serial# from v$session where username='用户名';
复制代码

  (2)如果查询结果显示有活动的会话,结束这些会话
  1. kill session 'session_id, serial#' immediate;
复制代码
 (3)删除用户
  1. drop user 用户名 cascade;
复制代码
  
   切换用户登录:

  1. conn 用户名/密码
复制代码

表操作

查询:

查询某个用户下所有表名:

(用户名注意大写)
  1. select table_name from dba_tables where owner = '用户名';
复制代码

查询某个用户下表个数:

(用户名注意大写)
  1. select count(*) from all_tables where OWNER = '用户名';
复制代码

查询某个用户的表结构:

  1. desc 用户名.表名;
复制代码

查询指定表的建表语句:

(表名、用户名注意大写)
  1. select dbms_metadata.get_ddl('TABLE', '表名','用户名') from dual;
复制代码


创建:

数据范例: 


创建表空间:

  1. create tablespace 表空间名 datafile '文件路径\文件名.dbf' size 表空间大小;
复制代码


 

创建表:


  1. #创建表
  2. create table 表名(
  3.         字段1 字段1类型,
  4.         字段2 字段2类型,
  5.         字段3 字段3类型,
  6.         .......
  7.         字段n 字段n类型
  8. ) ;       
复制代码

给表添加解释:

  1. comment on table 表名 is '注释';
复制代码
 

给字段添加解释: 

  1. comment on column 表名.字段名 is '注释';
复制代码

 表备份:

  1. create table 用户名.备份表名 as select * from 用户名.需要备份的表名;
复制代码

 


给表添加一列:

  1. alter table 表名 add (字段名 字段类型 约束条件);
复制代码

修改:

重定名表:

  1. alter table 用户名.旧表名 rename to 新表名;
复制代码

添加字段:

  1. alter table 用户名.表名 add 新字段名 新字段类型 default '默认值';
复制代码

修改字段名:

  1. alter table 用户名.表名 rename column 旧字段名 to 新字段名;
复制代码

修改数据范例:

  1. alter table T1.emp1 modify temp varchar(30);
复制代码

删除:

删除表字段:

  1. alter table 用户名.表名 drop column 字段名;
复制代码

删除表:

  1. drop table 表名;
复制代码

删除表空间:

   (1)查看是否有别的用户在使用该表空间:
  1. select * from dba_users where default_tablespace='表空间名';
复制代码
(2)如有,则删除这些用户大概将这些用户迁徙到别的表空间
  (3)删除表空间
  1. drop tablespace 表空间名 including contents and datafiles;
复制代码

  

  删除指定表并重新创建该表:

  1. truncate table 表名;
复制代码


2.数据操作语言(DML)

添加数据(insert)

   注意:
  1.插入数据注意顺序
  2.插入的数据大小要合法
  给指定字段添加数据:

  1. insert into 表名 (字段1,字段2......) values(值1, 值2......);
复制代码

给表中批量添加数据:

  1. insert all into 用户名.表名(字段1,字段2,字段3......) values(值1,值2,值3.......)
  2.            into 用户名.表名(字段1,字段2,字段3......) values(值1,值2,值3.......)
  3. select * from dual;
复制代码

修改数据(update) 

修改数据:

 注意:如果没有条件,则会修改整张表
  1. update 表名 set 字段1=值1,字段2=值2......[where 条件];
复制代码

删除数据(delete)

删除数据:

注意:如果没有条件,则会删除整张表
  1. delete from 表名;
复制代码



3.数据查询语言(DQL)

编写顺序:

  1. select [distinct|all] 字段列表
  2. from 表名
  3. where 查询条件
  4. group by 分组字段列表
  5. having 分组后条件列表
  6. order by 排序字段列表:asc或者desc
  7. ;
复制代码
作树模的表结构:

表名:T_STUDENT

执行顺序:

  1. from 表名 : 从哪张表查询
  2. where 条件 :查询条件
  3. group by 分组条件 :分组
  4. having 分组后查询条件 :分组后查询条件
  5. select 字段列表 :选择字段
  6. order by 排序方式 :对查询结果进行排序
  7. ;
复制代码
基本查询

查询多个字段:

  1. select 字段1,字段2,字段3...from 表名;
  2. select * from 表名;
复制代码
设置别名:

  1. select 字段1[as 别名1],字段2 [as 别名2]......from 表名;
复制代码

去除重复记载:

  1. select distinct 字段列表 from 表名;
复制代码
条件查询

语法:

  1. select 字段列表 from 表名 where 条件列表;
复制代码


条件:

比较运算符功能>>=<<==<> 或 !=不等于between...and...在某个范围之内in(...)在in之后的括号中,多选一like 占位符含糊匹配(_匹配单个字符,%匹配任意个字符)is nulland 或 &&并且or 或 ||not 或 ! 聚合函数

  1. select 聚合函数(字段列表) from 表名;
复制代码

注意:
           对一列进行盘算 所有null值不参与聚合函数的盘算
  函数功能count统计数量max最大值min最小值avg均匀值sum求和 分组查询

  1. select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
复制代码
where
  1. <strong>分组之前执行,不满足where条件的不参与分组,where不能对聚合函数进行判断</strong>
复制代码
having
  1. <strong>分组之后对结果进行过滤,having可以对聚合函数进行判断</strong>
复制代码
eg:

排序查询

  1. select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;
复制代码
asc升序(默认)
desc降序

分页查询 

(oracle查询没有limit关键字,引入rownum进行分页查询)
  1. select * from
  2. (
  3.     select rownum rn, t.* from
  4.     (select 字段 from t_student) t where rownum <= 终止行
  5. )
  6. where rn >= 起始行;
复制代码


4.数据控制语言(DCL)


管理用户

查看当前用户:

  1. show user;
复制代码
切换用户:
  1. connect 用户名/密码;
复制代码

   注意毗连到数据库超级管理员的时间:
  可能会出现以下错误:
  

  办理方法:
  1. connect sys/密码 as sysdba
复制代码

   

  权限控制


查询用户权限: 

  1. select * from dba_sys_privs where grantee='用户名';
复制代码
授予权限:

  1. grant 权限 to 用户;
复制代码
权限说明
create session登录权限
create table创建表的权限
drop any table删除任意表
insert any table向任意表中插入行
update any table修改任意表中行的权限
select on 表名 查看指定表的权限
 eg:


回收权限:

  1. --回收用户权限
  2. revoke 权限 from 用户;
复制代码
  1. revoke select on 用户2.表2 from 用户1; #回收用户1查看表2的权限
复制代码


函数

使用

   一样寻常形式:
  1. select 函数 from 表名 where 条件;
复制代码
如果只是想看函数的返回结果可以使用以下形式:
  1. select 函数 from sys.dual;
复制代码
sys.dual 

   dual是一个虚拟表,用来构成select的语法规则,oracle包管dual里面永世只有一条记载
  字符串函数


eg:
 

 
数值函数

eg: 



日期函数

日期表现:

   日期-月份-年份   
  eg:21-9月-2024
  函数概述:

 eg:

sysdate:


next_day(): 

 last_day():


round() :

 add_months():


months_between(): 


extract(): 



约束

概念

                   约束是作用于表中字段上的规则,用于限定存储在表中的数据
                  约束可以在创建表/修改表的时间添加
  分类

约束描述关键字非空约束限定该字段的数据不能为nullnot null唯一约束包管该字段的所有数据都是唯一的、不重复的unique主键约束主键是一行数据的唯一标识,要求非空且唯一 primary key 
默认约束保存数据时,如果未指定该字段的值,则接纳默认值default检查约束包管字段值满意某一条件check外键约束用来让两张表的数据之间建立毗连,包管数据的同等性和完整性 foreign key
  建表时添加约束:


 sql语句添加:
  1. alter table 表名 add constraints 约束名称 primary key(列名);
复制代码

外键约束

   子表(从表):具有外键的表
  父表(主表):外键所关联的表
  FOREIGN KEY约束可以与另外一个表的PRIMARY KEY及UNIQUE关联
  
添加外键:

 在创建表的时间添加:

  1. constraint 外键名称 foreign key(外键) references 表名(外键关联的键)
复制代码

  1. foreign key(列名) references 外键关联的表名
复制代码

 sql语句添加(alter):

  1. alter table 表名 add constraint 外键名称 foreign key(列名) references 表名(外键关联的键);
复制代码

查询外键

根据外键名称查看外键地点位置:

  1. select * from user_cons_columns cl where cl.constraint_name= upper('外键名称');
复制代码

查找表的外键:

(包罗名称,引用表的表名和对应的列名)
  1. select * from user_constraints c where c.constraint_type='R' and c.table_name=upper('表名');
复制代码

 删除外键

  1. alter table 表名 drop constraint 外键名称;
复制代码


多表查询 

基本概念

   自然毗连(内毗连):左表与右表中每一个元组进行条件匹配,满意条件的才会查询出来
  自毗连:同一个表内的查询
  外毗连:
  

  • 左外毗连:左表中的元组不会丢失,即每一个左表中的元素都可查出,若右表没有匹配的,就置为空
  • 右外毗连:右表中的元组不会丢失,即每一个右表中的元素都可查出,若左表没有匹配的,就置为空
  • 全毗连:左右表的悬浮元组都会加入到最后的查询结果中
  基本结构 

内毗连+外毗连:

  1. select 查询的字段名 from 左表 [inner|left|right|full] join 右表 on 连接条件;
复制代码
自毗连:

  1. select 别名.查询的字段名(列名)from 表1 别名1, 表1 别名2 where 连接条件;
复制代码

关系运算


大学模式:


 

 

 

 

 

 

起首以黑书里面的大学模式为例:
创建基本表结构:

  1. create table classroom
  2.         (building varchar(15),
  3.          room_number varchar(7),
  4.          capacity numeric(4,0),
  5.          primary key (building, room_number)
  6.         );
  7. create table department
  8.         (dept_name varchar(20),
  9.          building varchar(15),
  10.          budget numeric(12,2) check (budget > 0),
  11.          primary key (dept_name)
  12.         );
  13. create table course
  14.         (course_id varchar(8),
  15.          title                         varchar(50),
  16.          dept_name                 varchar(20),
  17.          credits                 numeric(2,0) check (credits > 0),
  18.          primary key (course_id),
  19.          foreign key (dept_name) references department (dept_name)
  20.                 on delete set null
  21.         );
  22. create table instructor
  23.         (ID                         varchar(5),
  24.          name                         varchar(20) not null,
  25.          dept_name                 varchar(20),
  26.          salary                         numeric(8,2) check (salary > 29000),
  27.          primary key (ID),
  28.          foreign key (dept_name) references department (dept_name)
  29.                 on delete set null
  30.         );
  31. create table section
  32.         (course_id                 varchar(8),
  33.          sec_id                         varchar(8),
  34.          semester                 varchar(6)
  35.                 check (semester in ('Fall', 'Winter', 'Spring', 'Summer')),
  36.          year                         numeric(4,0) check (year > 1701 and year < 2100),
  37.          building                 varchar(15),
  38.          room_number                 varchar(7),
  39.          time_slot_id                 varchar(4),
  40.          primary key (course_id, sec_id, semester, year),
  41.          foreign key (course_id) references course (course_id)
  42.                 on delete cascade,
  43.          foreign key (building, room_number) references classroom (building, room_number)
  44.                 on delete set null
  45.         );
  46. create table teaches
  47.         (ID                         varchar(5),
  48.          course_id                 varchar(8),
  49.          sec_id                         varchar(8),
  50.          semester                 varchar(6),
  51.          year                         numeric(4,0),
  52.          primary key (ID, course_id, sec_id, semester, year),
  53.          foreign key (course_id, sec_id, semester, year) references section (course_id, sec_id, semester, year)
  54.                 on delete cascade,
  55.          foreign key (ID) references instructor (ID)
  56.                 on delete cascade
  57.         );
  58. create table student
  59.         (ID                          varchar(5),
  60.          name                         varchar(20)  not null,
  61.          dept_name                  varchar(20),
  62.          tot_cred                  numeric(3,0) check (tot_cred >= 0),
  63.          primary key (ID),
  64.          foreign key (dept_name) references department (dept_name)
  65.                 on delete set null
  66.         );
  67. create table takes
  68.         (ID                         varchar(5),
  69.          course_id                 varchar(8),
  70.          sec_id                         varchar(8),
  71.          semester                 varchar(6),
  72.          year                         numeric(4,0),
  73.          grade                         varchar(2),
  74.          primary key (ID, course_id, sec_id, semester, year),
  75.          foreign key (course_id, sec_id, semester, year) references section (course_id, sec_id, semester, year)
  76.                 on delete cascade,
  77.          foreign key (ID) references student (ID)
  78.                 on delete cascade
  79.         );
  80. create table advisor
  81.         (s_ID                          varchar(5),
  82.          i_ID                         varchar(5),
  83.          primary key (s_ID),
  84.          foreign key (i_ID) references  instructor (ID)
  85.                 on delete set null,
  86.          foreign key (s_ID) references  student (ID)
  87.                 on delete cascade
  88.         );
  89. create table time_slot
  90.         (time_slot_id                 varchar(4),
  91.          day                         varchar(1),
  92.          start_hr                 numeric(2)  check (start_hr >= 0 and start_hr < 24),
  93.          start_min                 numeric(2)  check (start_min >= 0 and start_min < 60),
  94.          end_hr                         numeric(2)  check (end_hr >= 0 and end_hr < 24),
  95.          end_min                 numeric(2)  check (end_min >= 0 and end_min < 60),
  96.          primary key (time_slot_id, day, start_hr, start_min)
  97.         );
  98. create table prereq
  99.         (course_id                 varchar(8),
  100.          prereq_id                 varchar(8),
  101.          primary key (course_id, prereq_id),
  102.          foreign key (course_id) references course (course_id)
  103.                 on delete cascade,
  104.          foreign key (prereq_id) references course (course_id)
  105.         );
复制代码
插入数据:

  1. delete from prereq;
  2. delete from time_slot;
  3. delete from advisor;
  4. delete from takes;
  5. delete from student;
  6. delete from teaches;
  7. delete from section;
  8. delete from instructor;
  9. delete from course;
  10. delete from department;
  11. delete from classroom;
  12. insert into classroom values ('Packard', '101', '500');
  13. insert into classroom values ('Painter', '514', '10');
  14. insert into classroom values ('Taylor', '3128', '70');
  15. insert into classroom values ('Watson', '100', '30');
  16. insert into classroom values ('Watson', '120', '50');
  17. insert into department values ('Biology', 'Watson', '90000');
  18. insert into department values ('Comp. Sci.', 'Taylor', '100000');
  19. insert into department values ('Elec. Eng.', 'Taylor', '85000');
  20. insert into department values ('Finance', 'Painter', '120000');
  21. insert into department values ('History', 'Painter', '50000');
  22. insert into department values ('Music', 'Packard', '80000');
  23. insert into department values ('Physics', 'Watson', '70000');
  24. insert into course values ('BIO-101', 'Intro. to Biology', 'Biology', '4');
  25. insert into course values ('BIO-301', 'Genetics', 'Biology', '4');
  26. insert into course values ('BIO-399', 'Computational Biology', 'Biology', '3');
  27. insert into course values ('CS-101', 'Intro. to Computer Science', 'Comp. Sci.', '4');
  28. insert into course values ('CS-190', 'Game Design', 'Comp. Sci.', '4');
  29. insert into course values ('CS-315', 'Robotics', 'Comp. Sci.', '3');
  30. insert into course values ('CS-319', 'Image Processing', 'Comp. Sci.', '3');
  31. insert into course values ('CS-347', 'Database System Concepts', 'Comp. Sci.', '3');
  32. insert into course values ('EE-181', 'Intro. to Digital Systems', 'Elec. Eng.', '3');
  33. insert into course values ('FIN-201', 'Investment Banking', 'Finance', '3');
  34. insert into course values ('HIS-351', 'World History', 'History', '3');
  35. insert into course values ('MU-199', 'Music Video Production', 'Music', '3');
  36. insert into course values ('PHY-101', 'Physical Principles', 'Physics', '4');
  37. insert into instructor values ('10101', 'Srinivasan', 'Comp. Sci.', '65000');
  38. insert into instructor values ('12121', 'Wu', 'Finance', '90000');
  39. insert into instructor values ('15151', 'Mozart', 'Music', '40000');
  40. insert into instructor values ('22222', 'Einstein', 'Physics', '95000');
  41. insert into instructor values ('32343', 'El Said', 'History', '60000');
  42. insert into instructor values ('33456', 'Gold', 'Physics', '87000');
  43. insert into instructor values ('45565', 'Katz', 'Comp. Sci.', '75000');
  44. insert into instructor values ('58583', 'Califieri', 'History', '62000');
  45. insert into instructor values ('76543', 'Singh', 'Finance', '80000');
  46. insert into instructor values ('76766', 'Crick', 'Biology', '72000');
  47. insert into instructor values ('83821', 'Brandt', 'Comp. Sci.', '92000');
  48. insert into instructor values ('98345', 'Kim', 'Elec. Eng.', '80000');
  49. insert into section values ('BIO-101', '1', 'Summer', '2017', 'Painter', '514', 'B');
  50. insert into section values ('BIO-301', '1', 'Summer', '2018', 'Painter', '514', 'A');
  51. insert into section values ('CS-101', '1', 'Fall', '2017', 'Packard', '101', 'H');
  52. insert into section values ('CS-101', '1', 'Spring', '2018', 'Packard', '101', 'F');
  53. insert into section values ('CS-190', '1', 'Spring', '2017', 'Taylor', '3128', 'E');
  54. insert into section values ('CS-190', '2', 'Spring', '2017', 'Taylor', '3128', 'A');
  55. insert into section values ('CS-315', '1', 'Spring', '2018', 'Watson', '120', 'D');
  56. insert into section values ('CS-319', '1', 'Spring', '2018', 'Watson', '100', 'B');
  57. insert into section values ('CS-319', '2', 'Spring', '2018', 'Taylor', '3128', 'C');
  58. insert into section values ('CS-347', '1', 'Fall', '2017', 'Taylor', '3128', 'A');
  59. insert into section values ('EE-181', '1', 'Spring', '2017', 'Taylor', '3128', 'C');
  60. insert into section values ('FIN-201', '1', 'Spring', '2018', 'Packard', '101', 'B');
  61. insert into section values ('HIS-351', '1', 'Spring', '2018', 'Painter', '514', 'C');
  62. insert into section values ('MU-199', '1', 'Spring', '2018', 'Packard', '101', 'D');
  63. insert into section values ('PHY-101', '1', 'Fall', '2017', 'Watson', '100', 'A');
  64. insert into teaches values ('10101', 'CS-101', '1', 'Fall', '2017');
  65. insert into teaches values ('10101', 'CS-315', '1', 'Spring', '2018');
  66. insert into teaches values ('10101', 'CS-347', '1', 'Fall', '2017');
  67. insert into teaches values ('12121', 'FIN-201', '1', 'Spring', '2018');
  68. insert into teaches values ('15151', 'MU-199', '1', 'Spring', '2018');
  69. insert into teaches values ('22222', 'PHY-101', '1', 'Fall', '2017');
  70. insert into teaches values ('32343', 'HIS-351', '1', 'Spring', '2018');
  71. insert into teaches values ('45565', 'CS-101', '1', 'Spring', '2018');
  72. insert into teaches values ('45565', 'CS-319', '1', 'Spring', '2018');
  73. insert into teaches values ('76766', 'BIO-101', '1', 'Summer', '2017');
  74. insert into teaches values ('76766', 'BIO-301', '1', 'Summer', '2018');
  75. insert into teaches values ('83821', 'CS-190', '1', 'Spring', '2017');
  76. insert into teaches values ('83821', 'CS-190', '2', 'Spring', '2017');
  77. insert into teaches values ('83821', 'CS-319', '2', 'Spring', '2018');
  78. insert into teaches values ('98345', 'EE-181', '1', 'Spring', '2017');
  79. insert into student values ('00128', 'Zhang', 'Comp. Sci.', '102');
  80. insert into student values ('12345', 'Shankar', 'Comp. Sci.', '32');
  81. insert into student values ('19991', 'Brandt', 'History', '80');
  82. insert into student values ('23121', 'Chavez', 'Finance', '110');
  83. insert into student values ('44553', 'Peltier', 'Physics', '56');
  84. insert into student values ('45678', 'Levy', 'Physics', '46');
  85. insert into student values ('54321', 'Williams', 'Comp. Sci.', '54');
  86. insert into student values ('55739', 'Sanchez', 'Music', '38');
  87. insert into student values ('70557', 'Snow', 'Physics', '0');
  88. insert into student values ('76543', 'Brown', 'Comp. Sci.', '58');
  89. insert into student values ('76653', 'Aoi', 'Elec. Eng.', '60');
  90. insert into student values ('98765', 'Bourikas', 'Elec. Eng.', '98');
  91. insert into student values ('98988', 'Tanaka', 'Biology', '120');
  92. insert into takes values ('00128', 'CS-101', '1', 'Fall', '2017', 'A');
  93. insert into takes values ('00128', 'CS-347', '1', 'Fall', '2017', 'A-');
  94. insert into takes values ('12345', 'CS-101', '1', 'Fall', '2017', 'C');
  95. insert into takes values ('12345', 'CS-190', '2', 'Spring', '2017', 'A');
  96. insert into takes values ('12345', 'CS-315', '1', 'Spring', '2018', 'A');
  97. insert into takes values ('12345', 'CS-347', '1', 'Fall', '2017', 'A');
  98. insert into takes values ('19991', 'HIS-351', '1', 'Spring', '2018', 'B');
  99. insert into takes values ('23121', 'FIN-201', '1', 'Spring', '2018', 'C+');
  100. insert into takes values ('44553', 'PHY-101', '1', 'Fall', '2017', 'B-');
  101. insert into takes values ('45678', 'CS-101', '1', 'Fall', '2017', 'F');
  102. insert into takes values ('45678', 'CS-101', '1', 'Spring', '2018', 'B+');
  103. insert into takes values ('45678', 'CS-319', '1', 'Spring', '2018', 'B');
  104. insert into takes values ('54321', 'CS-101', '1', 'Fall', '2017', 'A-');
  105. insert into takes values ('54321', 'CS-190', '2', 'Spring', '2017', 'B+');
  106. insert into takes values ('55739', 'MU-199', '1', 'Spring', '2018', 'A-');
  107. insert into takes values ('76543', 'CS-101', '1', 'Fall', '2017', 'A');
  108. insert into takes values ('76543', 'CS-319', '2', 'Spring', '2018', 'A');
  109. insert into takes values ('76653', 'EE-181', '1', 'Spring', '2017', 'C');
  110. insert into takes values ('98765', 'CS-101', '1', 'Fall', '2017', 'C-');
  111. insert into takes values ('98765', 'CS-315', '1', 'Spring', '2018', 'B');
  112. insert into takes values ('98988', 'BIO-101', '1', 'Summer', '2017', 'A');
  113. insert into takes values ('98988', 'BIO-301', '1', 'Summer', '2018', null);
  114. insert into advisor values ('00128', '45565');
  115. insert into advisor values ('12345', '10101');
  116. insert into advisor values ('23121', '76543');
  117. insert into advisor values ('44553', '22222');
  118. insert into advisor values ('45678', '22222');
  119. insert into advisor values ('76543', '45565');
  120. insert into advisor values ('76653', '98345');
  121. insert into advisor values ('98765', '98345');
  122. insert into advisor values ('98988', '76766');
  123. insert into time_slot values ('A', 'M', '8', '0', '8', '50');
  124. insert into time_slot values ('A', 'W', '8', '0', '8', '50');
  125. insert into time_slot values ('A', 'F', '8', '0', '8', '50');
  126. insert into time_slot values ('B', 'M', '9', '0', '9', '50');
  127. insert into time_slot values ('B', 'W', '9', '0', '9', '50');
  128. insert into time_slot values ('B', 'F', '9', '0', '9', '50');
  129. insert into time_slot values ('C', 'M', '11', '0', '11', '50');
  130. insert into time_slot values ('C', 'W', '11', '0', '11', '50');
  131. insert into time_slot values ('C', 'F', '11', '0', '11', '50');
  132. insert into time_slot values ('D', 'M', '13', '0', '13', '50');
  133. insert into time_slot values ('D', 'W', '13', '0', '13', '50');
  134. insert into time_slot values ('D', 'F', '13', '0', '13', '50');
  135. insert into time_slot values ('E', 'T', '10', '30', '11', '45 ');
  136. insert into time_slot values ('E', 'R', '10', '30', '11', '45 ');
  137. insert into time_slot values ('F', 'T', '14', '30', '15', '45 ');
  138. insert into time_slot values ('F', 'R', '14', '30', '15', '45 ');
  139. insert into time_slot values ('G', 'M', '16', '0', '16', '50');
  140. insert into time_slot values ('G', 'W', '16', '0', '16', '50');
  141. insert into time_slot values ('G', 'F', '16', '0', '16', '50');
  142. insert into time_slot values ('H', 'W', '10', '0', '12', '30');
  143. insert into prereq values ('BIO-301', 'BIO-101');
  144. insert into prereq values ('BIO-399', 'BIO-101');
  145. insert into prereq values ('CS-190', 'CS-101');
  146. insert into prereq values ('CS-315', 'CS-101');
  147. insert into prereq values ('CS-319', 'CS-101');
  148. insert into prereq values ('CS-347', 'CS-101');
  149. insert into prereq values ('EE-181', 'PHY-101');
复制代码
内毗连 (自然毗连)

  1. select 查询的字段(列名)from 左表 inner join 右边 on 连接条件;
复制代码

外毗连

左外毗连

  1. select 查询的字段名(列名)from 左表 left join 右表 on 连接条件;
复制代码


右外毗连



全毗连 

  1. select 查询出的字段名(列名) from 左表 full join 右表 on 连接条件;
复制代码

自毗连

  1. select 别名.查询的字段名(列名)from 表1 别名1, 表1 别名2 where 连接条件;
复制代码



视图

基本概念 

   

  • 视图是一个虚拟表,视图不在数据库中存储数据,视图的行和列来自于子查询所返回的结果
  • 视图名不允许与基本表重名
  • 可以通过视图对数据进行增删改查:insert、delete、select
  • 基本表中的数据改变时,视图中的数据也会动态更新
  基本操作 

查看视图

  1. desc Vcourse;
复制代码

创建视图 

  1. create [or replace] [{force|noforce}] view 视图名(别名列表) as 子查询;
  2. --or replace:如果视图已存在,则用新视图替换旧视图
  3. --force:基本表不存在,也可以创建视图,但是创建的视图不能正常使用
  4. --noforce:基本表不存在,不能创建视图
复制代码


修改视图

  1. create or replace view 视图名 as 子查询;
复制代码

删除视图

  1. drop view [if exists] 视图名;
复制代码


子查询

 如有错误,欢迎指正!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表