前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于oracle的sql(结构化查询语言)指令

基于oracle的sql(结构化查询语言)指令

作者头像
HUC思梦
发布2020-09-03 10:00:30
7510
发布2020-09-03 10:00:30
举报
文章被收录于专栏:HUC思梦的java专栏

创建表空间

create tablespace 表空间名 datafile

'存储路径(c:\a\a.dbf)'

size 200m autoextend on next 10m maxsize unlimited

删除表空间

drop tablespace 表空间名

创建用户

create user 用户名 identified by 密码;

用户名,密码 不能用关键字,且都不能用数字开头。

创建用户时可以直接指定默认表空间,例子如下:

create user smn identified by orcl default tablespace smn

也可以先创建后设置默认表空间,例子如下:

alter user smn default tablespace smn

更改用户密码

alter user 用户名 identified by 新密码;

删除用户密码

drop user 用户名 【cascade】;

注:cascade 作用相当于级联删除,可以不写

给用户授权

grant 权限名 to 用户名;

对于程序员一般授权dba权限

回收用户权限

revoke 权限 from 用户名;

revoke 权限 on 表名 from 用户名;

使用dos连接数据库

sqlplus 用户名/密码@IP地址:程序IP/数据库名[as sysdba/sysoper]

注意:当用特权用户身份连接时,必须带上as sysdba或as sysoper,连接本地数据库时IP地址为localhost

例子:sqlplus smn/smn@192.168.58.2:1521/orcl

   sqlplus sys/orcl@192.168.58.2:1521/orcl as sysdba

使用dos切换用户

conn sys as sysdba

conn system

注意:sys不能以normal身份登录;system不能以sysoper身份登录

使用dos显示用户

show user;

退出

exit;

查询用户是否存在

select * from dba_users where username='SMN'

注意:‘SMN’ 这部分必须大写才能查到

查询表空间是否存在

select * from dba_data_files where tablespace_name='SMN'

创建表

代码语言:javascript
复制
create table student(
    xh number(4),/*学号*/
    xm varchar2(10)/*姓名*/
)

修改表

代码语言:javascript
复制
/*添加表字段*/
alter    table     student    add( 
     classid  number(2)
)   
/*修改字段长度*/
alter    table     student    modify(
    xm  varchar2(30)
)
/*修改字段的类型(不能有数据)*/
alter    table     student     modify(
    xm    char(30)
)
/*修改字段的名字(不能有数据)*/
alter    table  student  rename   column  aa   to  bb;

删除表字段

alter table student drop column sal;

oracle表的管理

代码语言:javascript
复制
/*删除表中所有数据*/
delete from student
/*删除表中指定条件的数据*/
delete from student where name='张三'
/*删除表中所有数据(不可恢复,一般不用)*/
truncate table student
/*删除表中数据和整个表结构*/
drop table student
/*向表中添加数据*/
/*1.student  表中的所有字段都得给值,值给不全会报错*/
insert   into  student   values( 1,'张三','男','11-12月-2014',120.23)
/*2.向表中添加部分字段数据*/
insert   into  student (xh,xm,sex) values ( 1,'张三','男');
/*3.向表中添加空数据*/
insert   into  student (xh,xm,sex,birthday) values ( 1,'张三','男',null);

查询

1.表中的所有字段及所有记录全部查出来

select * from student

2.按字段查询

select name,age from student

3.如果某一字段为空

select * from student where birthday is null;

4.按条件查询

and 并且的关系

or 或者的关系

向表中添加多行记录

代码语言:javascript
复制
insert into 表名B (empno,ename,birdate)
(select empno+100,ename,birdate
from 表名A
where empno>7000
)
/*
注意:1)表B是已存在的表
     2)字段个数要相同,否则报错
*/

表间数据的复制

代码语言:javascript
复制
create table 表名A
as(
select empno,ename,birdate
from 表名B
where empno>7000
)
/*将表B按条件复制给新建的表A*/

修改字段数据

1.修改一个字段数据

update student set sex='女' where xh=1;

2.修改多个字段数据

update student set sex='男',birthday='1980-04-01' where xh='1';

3.嵌套修改字段数据

代码语言:javascript
复制
update student set sal=
(
    select sal+300
    from 表名 where empno=7559
)
where empno=7599;

Oracle表主键、外键

三种方式:

1)先有表,在创建主外键

代码语言:javascript
复制
/*创建主表*/
create table student(
stuid number(6),
stuname varchar2(30)
)
/*为表加主键*/
alter table student add primary key(stuid);
/*创建子表*/
create table scoretable(
scorid number(6),
score number(6,2),
stuid number(6)
)
/*为表加外键*/
alter table scoretable add foreign key(stuid) references student(stuid);

2)创建表的同时创建主外键

代码语言:javascript
复制
create table lv1table(
id number(10) primary key,
name varchar2(20)
)

create table lv2table(
id number(10),
name varchar2(20),
foreign key(id) references lv1table(id)
)

3)创建表的同时创建主外键并给主外键取名

代码语言:javascript
复制
create table lv3table(
id number,
name varchar2(20),
constraint "lv3table主键id" primary key(id)
)

create table lv4table(
id number,
name varchar2(20),
pid number,
constraint "lv4table外键pid" foreign key(pid) references lv3table(id)
)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建表空间
  • 删除表空间
  • 创建用户
  • 更改用户密码
  • 删除用户密码
  • 给用户授权
  • 回收用户权限
  • 使用dos连接数据库
  • 使用dos切换用户
  • 使用dos显示用户
  • 退出
  • 查询用户是否存在
  • 查询表空间是否存在
  • 创建表
  • 修改表
  • 删除表字段
  • oracle表的管理
  • 查询
  • 向表中添加多行记录
  • 表间数据的复制
  • 修改字段数据
  • Oracle表主键、外键
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档