返回顶部
首页 > 资讯 > 数据库 >oracle菜鸟学习之 表操作
  • 577
分享到

oracle菜鸟学习之 表操作

2024-04-02 19:04:59 577人浏览 独家记忆
摘要

首发:Http://www.arppinging.com/Wordpress/?p=96 oracle菜鸟学习之 表操作 1.创建表 在oracle中,创建表使用create table来实现 sql>

首发:Http://www.arppinging.com/Wordpress/?p=96

oracle菜鸟学习之 表操作

1.创建表

在oracle中,创建表使用create table来实现

sql> create table student(sno number(6),sname varchar2(12),address varchar2(20));

Table created.

SQL> desc student;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                                                NUMBER(6)
 SNAME                                              VARCHAR2(12)
 ADDRESS                                            VARCHAR2(20)

SQL> 

2.修改表的列

1.增加一列

SQL> alter table student add phone varchar(11);

Table altered.

SQL> desc student;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                                                NUMBER(6)
 SNAME                                              VARCHAR2(12)
 ADDRESS                                            VARCHAR2(20)
 PHONE                                              VARCHAR2(11)

SQL> 

2.修改列属性,需要注意的是,如果修改的属性为长度,那么已存在的数据长度不能超过修改过后的数据长度。比如现存在一条信息,sname长度为6,如果你将sname的长度修改为5,那么将会出错。

# 这里使用到了modify(修改)
SQL> alter table student modify sname varchar2(5);

Table altered.

SQL> desc student;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                                                NUMBER(6)
 SNAME                                              VARCHAR2(5)
 ADDRESS                                            VARCHAR2(20)
 PHONE                                              VARCHAR2(11)

SQL> 

3.删除列

在oracle中,删除列需要用column(列)

SQL> alter table student drop column phone;

Table altered.

SQL> desc student;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                                                NUMBER(6)
 SNAME                                              VARCHAR2(5)
 ADDRESS                                            VARCHAR2(20)

SQL> 
3.插入数据
1.常规插入,所有的列都插入

SQL> insert into student values(1,'A','BJ');

1 row created.

SQL> select * from student;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
2.插入空值

SQL> insert into student values(2,'B',null);

1 row created.

SQL> select * from student;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B

SQL> 
3.指定列插入数据

SQL> insert into student(sno,address) values(3,'SH');

1 row created.

SQL> select * from student;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B
     3         SH

SQL> 

4.复制表

1.复制表的所有内容

SQL> create table student2 as select * from student;

Table created.

SQL> desc student2;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                            NUMBER(6)
 SNAME                            VARCHAR2(5)
 ADDRESS                        VARCHAR2(12)

SQL> select * from student2;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B
     3         SH

SQL> 

2.只复制表结构,不复制内容

SQL> create table student3 as select * from student where 1>2;

Table created.

SQL> desc student3;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                            NUMBER(6)
 SNAME                            VARCHAR2(5)
 ADDRESS                        VARCHAR2(12)

SQL> select * from student3;

no rows selected

SQL> 

3.将student表的信息全部插入student3表中(也可以用where筛选)

SQL> select * from student3;

no rows selected

SQL> insert into student3 select * from student;

3 rows created.

SQL> select * from student3;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B
     3         SH

SQL> 

5.更新表

更新表中的内容

SQL> update student2 set sname='C' where sno=3;

1 row updated.

SQL> select * from student2;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B
     3 C           SH

SQL>

6.删除内容

1.删除某条信息,使用delete需要commit提交

SQL> delete student2 where sname='C';

1 row deleted.

SQL> select * from student2;

       SNO SNAME       ADDRESS
---------- --------------- ------------------------------------
     1 A           BJ
     2 B

SQL> commit;

Commit complete.

2.清空表中的内容,保留表结构
使用delete的方式清除,需要提交,delete方式清除的内容会写入日志,可以恢复。

SQL> delete student3;

3 rows deleted.

SQL> select * from student3;

no rows selected

SQL> desc student3;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                            NUMBER(6)
 SNAME                            VARCHAR2(5)
 ADDRESS                        VARCHAR2(12)

SQL> commit;

Commit complete.

3.使用truncate table 删除的内容不会写入日志,不可恢复,不需要提交

SQL> truncate table student2;

Table truncated.

SQL> select * from student2;

no rows selected

SQL> desc student2;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                            NUMBER(6)
 SNAME                            VARCHAR2(5)
 ADDRESS                        VARCHAR2(12)

SQL> 

7.删除表

SQL> drop table student3;

Table dropped.

SQL> 
SQL> 
SQL> desc student3;
ERROR:
ORA-04043: object student3 does not exist

8.重命名

1.表的重命名
格式:rename a to b;

SQL> rename student2 to newstudent;

Table renamed.

SQL> select * from newstudent;

       SNO SNAME                 AGE
---------- ------------------------------ ----------
     1 ZhangSan               21
     2 FeiFei                 22
     3 WangWu                 23
     4 ZhaoYun                24

SQL> 
2.重命名列
格式:alter table table_name rename column a to b;

SQL> alter table newstudent  rename column age to sage;

Table altered.

SQL> 
SQL> desc newstudent;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 SNO                            NUMBER(6)
 SNAME                            VARCHAR2(10)
 SAGE                            NUMBER(38)

SQL> 

9.查看所有表名

select * from tab;

您可能感兴趣的文档:

--结束END--

本文标题: oracle菜鸟学习之 表操作

本文链接: https://lsjlt.com/news/41409.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle菜鸟学习之 表操作
    首发:http://www.arppinging.com/wordpress/p=96 oracle菜鸟学习之 表操作 1.创建表 在oracle中,创建表使用create table来实现 SQL>...
    99+
    2024-04-02
  • Oracle菜鸟学习之 Oracle基础命令
    首发:http://www.arppinging.com/wordpress/p=93 Oracle菜鸟学习之 Oracle基础命令 1.connect和show user 连接用户和查看当前用户 SQL&...
    99+
    2024-04-02
  • Oracle菜鸟学习之在RedHat 6.5上安装Oracle
    Oracle菜鸟学习之在RedHat 6.5上安装Oracle 11G 首发:http://www.arppinging.com/wordpress/p=90 安装前准备工作 上传数据库软件至/tmp/...
    99+
    2024-04-02
  • oracle菜鸟学习之 select case when的使用
    [toc] oracle菜鸟学习之 select case when的使用 格式语法 case when 条件1 then action1 when 条件2 then action...
    99+
    2024-04-02
  • oracle菜鸟学习之 分析函数-排序
    oracle菜鸟学习之 分析函数-排序 排序函数 1.row_number:返回连续的排序,无论值是否相等2.rank:具有相等值得行排序相同,序数值随后跳跃3.dense_rank:具有相等值得行排序相同...
    99+
    2024-04-02
  • oracle 菜鸟学习之 decode中if-then-else逻辑
    oracle 菜鸟学习之 decode中if-then-else逻辑 decode类似于if - then - else 语法:decode(values,if1,then1,if2,then2,...el...
    99+
    2024-04-02
  • oracle菜鸟学习之 自连接查询实验
    oracle菜鸟学习之 自连接查询实验 实验表的创建 表字段说明: id:员工编号name:员工名字ano:管理人员编号 create table admin(id varchar2(4),na...
    99+
    2024-04-02
  • oracle菜鸟学习之 复杂的更新语句使用
    oracle菜鸟学习之 复杂的更新语句使用 实例与答案 问题:表T1里有a,b,c...N个字段,表T2里有a,b,c三个字段,然后想在T1中"c"与表T2中"c"相...
    99+
    2024-04-02
  • 学习理解Android菜单Menu操作
    今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享。 PS:强烈推荐《Pro Android 3》,...
    99+
    2022-06-06
    学习 Android
  • Oracle学习(七) --- MyBatis操作、JDBC操作
    1、MyBatis操作 1.1、环境搭建 步骤一:创建项目 test_oracle 步骤二:修改pom.xml文件(MyBatis相关依赖、Oracle驱动、测试依赖) changgou3_paren...
    99+
    2017-02-22
    Oracle学习(七) --- MyBatis操作 JDBC操作
  • Python学习之文件操作
    #/usr/bin/python content='''\                      #这里使用''' This is a test file for python ''' f=file('content.txt','w'...
    99+
    2023-01-31
    操作 文件 Python
  • Linux学习之expect操作详解
    目录一、expect安装介绍二、expect使用原理三、expect使用语法四、expect使用举例五、expect相关错误处理一、expect安装介绍 1.expect命令安装 安装语句:yum install exp...
    99+
    2024-04-02
  • python学习之数据库操作
    一、数据库基本操作 数据库操作: 查看存储引擎: show engines; 查看数据库: show databases; 或者show crea...
    99+
    2024-04-02
  • Oracle学习(三) --- 数据库操作
    Oracle表与用户关联 每一个用户,需要确定表存放位置,这个位置称为表空间 在Oracle中表空间分2中:永久表空间、临时表空间 临时表空间:使用SQL语句操作时,结果先进入临时表空间 永久表空间:当执行commit时,数据将从临时表...
    99+
    2016-01-31
    Oracle学习(三) --- 数据库操作
  • c#菜B学习之路3
    刚刚练习了冒泡算法,趁热打铁,练习鸡尾酒算法。Cocktail!using System; using System.Collections.Generic; using System.Linq; using ...
    99+
    2023-01-31
    之路
  • flask学习之数据库操作一
    数据库操作使用sqlalchemy模块安装(需安装MySQL-python/python-devel) pip install flask-sqlalchemy目录结构├── ...
    99+
    2024-04-02
  • InfluxDB学习之InfluxDB的基本操作
    InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。它有三大特性:1. Time Series (时间序列):你可以使用与时间...
    99+
    2024-04-02
  • MySQL学习之基础操作总结
    目录1.库的操作2.表的操作创建表查看表结构删除表修改表1.库的操作 查看当前mysql数据库下默认有哪些库 show databases; 创建一个库 create databas...
    99+
    2024-04-02
  • Python学习之使用Python操作R
    最近在写一个检查一台服务器上所有游戏区服配置文件中redis某个key值大小的脚本,本打算使用shell+awk+sed的方式去解决这个问题,但是由于redis的配置信息是php数组形式.shell脚本一时没有写出来,就请教他人帮忙写了个p...
    99+
    2023-01-31
    操作 Python
  • ElasticSearch学习之Es索引Api操作
    目录Es索引Api操作创建索引索引别名添加索引别名查询索引别名删除索引别名mappingsettings查询索引查询当前集群全部索引查询单个索引修改索引删除索引结束语Es索引Api操...
    99+
    2023-01-31
    ElasticSearch Es索引Api操作 Es索引Api操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作