Oracle对表的操作

/*
1.Oracle ORCL Vss Writer Service。Oracle卷映射拷贝写入服务,
VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝 (shadow copy)。
它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。

2.OracleDBConsoleorcl。Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。
在运行Enterprise Manager 的时候,需要启动这个服务。此服务被默认设置为自动开机启动 的。

3.OracleJobSchedulerORCL。Oracle作业调度服务,ORCL是Oracle实例标识。此服务被默认设置为禁用状态。


4.OracleOraDb11g_home1TNSListener。监听器服务,服务只有在数据库需要远程访问的时候才需要,此服务被默认的设置为开机启动。

5.OracleServiceORCL:数据库服务,这个服务会自动的启动和停止数据库。ORCL是Oracle的实例标识。此服务被默认的设置为开机启动。
*/

--DML  对表进行操作

/*
      学号(SID):           number(8,0)
         姓名(name):          varchar2
         性别(sex):           char(2)
         出生日期(birthday):  date
         家庭住址()address):  varchar2(50)

*/

/*
number(8,0)  12345678
number(5,2)  123.45

*/

create table student
(
    sid number(8,0),
    name varchar2(20),
    sex char(2),
    birthday date,
    address varchar2(50)
);

/*
create table table_name: create table 是创建表的关键字
                          table_name  表的名称
(
sid number(8,0)  +[],     : sid  是字段名称
                            number 数据类型
                            后面还可以添加约束
                            非空约束
                            主键  外键 默认值 不允许为某一特定值
                            ,  多字段用逗号分隔
);
                            ;结尾

*/


--Oracle的表操作--修改表

--添加列
    --语法:alter table table_name add 列名 列数据类型
          alter table student add tel varchar2(11);
          alter table student add info varchar2(50);
          
          /*
           alter table  : 对表操作的关键字
           student      : 针对修改的表的名称
           add          : 添加
           tel varchar2(11) 添加的字段
          */

--修改列
    --语法:alter table table_name modify 列名 列数据类型
          alter table student modify tel number(11,0);
          /*
           alter table  : 对表操作的关键字
           student      : 针对修改的表的名称
           modify          : 修改
           tel          : 被修改的的字段
           varchar2(11):  要修改成什么样子
          */




--删除列 (需要权限)
    --语法:alter table table_name drop column 列名 
          alter table student drop column tel;
          alter table student drop column info;
            /*
           alter table  : 对表操作的关键字
           student      : 针对修改的表的名称
           drop column          : 删除某列 ****(如果数据库中有数据,连带着把数据库对应的列一起删除)
           tel          : 要删除列的名称
             */




--修改列名
      --语法:alter table table_name rename column 列名 to 新列名
            alter table student rename column gender to sex;
            alter table student rename column info to sinfo;

            /*
           alter table  : 对表操作的关键字
           student      : 针对修改的表的名称
           rename column  : 对列名进行修改
           gender to sex;          : old to new  老列名 to 新列名
            

             */

--修改表名
      --语法:rename 表名 to 新表名

            rename student  to studentinfo;
            rename studentinfo to student;
            /*
            rename  修改表的名称
            studentinfo to student;   老名称 to 新的名称
            
            */








--Oracle的表操作--删除表
    --方法1: 截断表
       --语法:truncate table 表名称
           truncate table emp_bak;
           -- 之删除数据  保留表结构  删除所有的测试数据
           --  注:只是删除数据

    --方法2: 
       --语法:drop table 表名称
           drop table emp_bak;
        -- 这张表从计算机上抹除   

            --注:表结构和数据一起删除

create table test
(
 id number(10,0)
);


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

--Oracle的表操作
--增删改查

--insert(添加数据)
insert into student (sid,name,sex)values(20010001,'张珊珊','女');
/*
指定插入数据 

注意 : 数据要对齐

insert   into   : 插入的关键字  into  指定表 
student(): 对应被操作的表
sid,name,sex,address,birthday  : 对应的数据字段
values(): 对应的值
20010002,'王五','男','北京市昌平区',to_date('19820909','YYYYMMDD')  : 数据跟student()立面的字段对应

跟表结构对齐

*/


insert into student(sid,name,sex,address,birthday) values(20010002,'王五','男','北京市昌平区',to_date('19820909','YYYYMMDD'));
/*
指定插入数据 

注意 : 数据要对齐

insert   into   : 插入的关键字  into  指定表 
student(): 对应被操作的表
sid,name,sex,address,birthday  : 对应的数据字段
values(): 对应的值
20010002,'王五','男','北京市昌平区',to_date('19820909','YYYYMMDD')  : 数据跟student()立面的字段对应

跟表结构对齐

*/
insert into student values(20010003,'张三','女',to_date('19830808','YYYYMMDD'),'北京市昌平区');
/*
根据表结构来插入数据 
create table student
(
    sid number(8,0),
    name varchar2(20),
    sex char(4),
    birthday date,
    address varchar2(50)
);
insert   into   : 插入的关键字  into  指定表 
student: 对应被操作的表
values(): 对应的值
20010003,'张三','女',to_date('19830808','YYYYMMDD'),'北京市昌平区'

跟表结构对齐


to_date() 数据库中自带的内置函数  作用是格式化时间
*/


------------------------------------------------------------------------------
--select(查询数据)
select * from student;
/*
select  :查询的关键字

 *      : 通配符  所有的
 
 from   :  指定来自哪里
 
 student : 被指定的表名称
;        :  结束

*/

select sid ,name from student;
/*
select  :查询的关键字

sid,name     : 指定要查询的列  注意 来自于表结构的列名
 
 from   :  指定来自哪里
 
 student : 被指定的表名称
;        :  结束

*/
select * from student where sid =20010001;
/*
select  :查询的关键字

 *      : 通配符  所有的
 
 from   :  指定来自哪里
 
 student : 被指定的表名称
 where   : 条件查询
 
 sid =20010001 : 条件
;        :  结束

*/

---------------------------------------------------------------------
--update(更新数据)
select * from student;



update student set address = '北京市昌平区' where sid = 20010001;
/*
update  : 更新 修改  

student :表名

set :要被传入的数据
address = '北京市昌平区'   :数据
 
 where  : 条件操作
 
 sid = 20010001 : 条件
 ; : 结束
*/


update student set address='湖北省武汉市';
/*
update  : 更新 修改  

student :表名

set :要被传入的数据
address = '湖北省武汉市'   :数据
 ; : 结束
*/


--------------------------------------------------------------------
--delete(删除数据)
select * from student where sid =20010001;

delete from student where sid = 20010001;

delete from student;

truncate table student;  -- 截断表 清除表数据建议使用截断表

/* 删除指定表中的所有数据 */

----------------------------------------------------------
--select(查询数据)  16种
每个人都是在努力的路上,别因为别人的误解而放弃,,术业有专攻,如是而已。
原文地址:https://www.cnblogs.com/16699qq/p/13153429.html