创建表

--建表语法结构:
/*
CREATE TABLE 表名(
字段名1 数据类型,
字段名2 数据类型
....
);
*/
--建一张老师表,里面包含老师编号,老师姓名,老师联系方式,老师入职日期
CREATE TABLE TEACHER(
TNO NUMBER,
TNAME VARCHAR2(30),
TPHONE CHAR(11),
THIREDATE DATE
);

复制表

--复制表结构,但是不复制数据
--语法结构:CREATE TABLE 表名 AS SELECT查询语句 WHERE 1 = 2;
CREATE TABLE DEPT_BAK AS SELECT * FROM DEPT WHERE 1 = 2; --复制表结构,同时复制数据
--语法结构:CREATE TABLE 表名 AS SELECT查询语句 [WHERE 1 = 1];
CREATE TABLE DEPT_BAK_ALL AS SELECT * FROM DEPT WHERE 1 = 1;

删除表

--删除表
--语法结构:DROP TABLE 表名;
DROP TABLE STUDENT;

新增/插入数据

--单行数据插入的语法结构:
--语法结构:INSERT INTO 表名(字段名1,字段名2,字段名3...) VALUES(插入值1,插入值2,插入值3...);
INSERT INTO TEACHER (TNO, TNAME, TPHONE, THIREDATE) VALUES(1,'zhangsan','13300000000',SYSDATE);
INSERT INTO TEACHER (TNO, TNAME, THIREDATE) VALUES(2,'lisi',SYSDATE - 1);
INSERT INTO TEACHER (TNO, TNAME, TPHONE) VALUES(3,'wangwu','133'); --多行数据插入
--语法结构:INSERT INTO 表名 SELECT 查询语句;
INSERT INTO TEACHER
SELECT * FROM TEACHER; INSERT INTO TEACHER
(TNO, TNAME, TPHONE, THIREDATE)
SELECT T.TNO, T.TNAME, T.TPHONE, T.THIREDATE FROM TEACHER T;

给表新增字段

--语法结构:ALTER TABLE 表名 ADD 字段名 数据类型;
ALTER TABLE TEACHER ADD TLOC VARCHAR2(100);

删除表中数据

--删除表中的所有数据
/*
注意:TRUNCATE和DELETE都能把表中的数据全部删除,他们的区别是在于
1. TRUNCATE是DDL命令,删除的数据不能恢复;
   DELETE命令是DML命令,删除后的数据可以通过日志文件恢复。
2. 如果一个表中数据记录很多,TRUNCATE相对DELETE速度快。
*/

--语法结构:TRUNCATE TABLE 表名;
TRUNCATE TABLE TEACHER; --语法结构:DELETE FROM 表名;
DELETE FROM TEACHER; --删除表中符合条件的数据行
--删除TEACHER表中姓名叫WANGWU的老师信息
--DELETE FROM 表名 WHERE 筛选条件;
DELETE FROM TEACHER WHERE TNAME = 'wangwu';

删除表中字段

--删除表中的某一列(字段)
--语法结构:ALTER TABLE 表名 DROP COLUMN 字段名;
ALTER TABLE TEACHER DROP COLUMN TLOC;

修改表名

--语法结构:ALTER TABLE 旧表名 RENAME TO 新表名;
ALTER TABLE TEACHER RENAME TO T_TEACHER;

修改列名

--语法结构:ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名;
ALTER TABLE T_TEACHER RENAME COLUMN TPHONE TO T_PHONE;

修改字段的数据类型

--语法结构:ALTER TABLE 表名 MODIFY 字段名 新的数据类型;
--注意点:如果表中已经有数据,那么修改数据类型时传入的范围精度必须大于数据中的最大长度
ALTER TABLE T_TEACHER MODIFY T_PHONE VARCHAR2(11); --注意点:如果表中已有数据,那么修改数据类型时,不能由一种数据类型改成另外一种数据类型
ALTER TABLE T_TEACHER MODIFY THIREDATE VARCHAR2(100);

数据行的修改(更新数据)

--整列数据都更新
--语法结构:UPDATE 表名 SET 字段名 = 值;
UPDATE T_TEACHER SET T_LOC = 'zhongguo'; --只更新部分符合要求的数据行
--语法结构:UPDATE 表名 SET 字段名 = 值 WHERE 筛选条件;
UPDATE T_TEACHER SET T_PHONE = '186xxxxxxx' WHERE T_PHONE IS NULL;

Oracle建表和SQL语句的增删改的更多相关文章

  1. oracle 修改表的sql语句

    oracle 修改表的sql语句     1增加一个列:ALTER TABLE 表名 ADD(列名 数据类型);如:ALTER TABLE emp ADD(license varchar2(256)) ...

  2. 四种简单的sql语句(增删改查语句)

    四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...

  3. dml语句就是你常写的sql语句,增删改查

    dml语句就是你常写的sql语句,增删改查

  4. Oracle建表提示SQL 错误: ORA-00904: : 标识符无效

    Oracle建表提示: 错误报告:SQL 错误: ORA-00904: : 标识符无效00904. 00000 -  "%s: invalid identifier"*Cause: ...

  5. SQL SQL语句的增删改查

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  6. SQL语句的增删改查

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  7. SQL语句的增删改查(详细)--转载

    转载源: http://blog.csdn.net/a88055517/article/details/6736284/ 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [ ...

  8. SQL语句的增删改查(详细)

    摘录自:http://blog.csdn.net/a88055517/article/details/6736284 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [in ...

  9. SQL语句简单增删改查

    常用数据类型 Int:整数,长度没有作用 Varchar:字符串,varchar(3)表示最多存放3个字符,1个中文或英文或符合都占1个字符 Decimal:小数,decimal(5,2)表示共存5位 ...

随机推荐

  1. tarjan全家桶

    tarjan 全家桶 关于tarjan 它太强了 CCCOrz dfs树&low dfs树:在图上做不重复经过同一点的dfs,经过的边与点形成一棵树.于是图上所有点都被这棵树包含,一部分边被包 ...

  2. 了解promise、promise对象

    Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象. 所谓Pr ...

  3. 在 Prim 算法中使用 pb_ds 堆优化

    在 Prim 算法中使用 pb_ds 堆优化 Prim 算法用于求最小生成树(Minimum Spanning Tree,简称 MST),其本质是一种贪心的加点法.对于一个各点相互连通的无向图而言,P ...

  4. 阅读笔记——长文本匹配《Matching Article Pairs with Graphical Decomposition and Convolutions》

    论文题目:Matching Article Pairs with Graphical Decomposition and Convolutions 发表情况:ACL2019 腾讯PCG小组 模型简介 ...

  5. Android开发-适配器

    适配器非常关键,它是连接页面和和数据源之间的桥梁,通过适配器,可以将数据库中的数据显示在页面上. 记账本适配器 记账类型选择适配器 日历选择适配器 还有图标适配器等

  6. 1.kafka

    什么是Kafka  1.Apache Kafka是一个开源消息系统,由Scala写成. 2.Kafka是一个分布式消息队列.Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer ...

  7. STL中的隐性性能开销与副作用

    1 隐性性能开销 1.1 STL容器的clear的时间复杂度不是O(1) 很多人潜意识认为STL容器中clear()成员函数的时间复杂度为常量时间复杂度O(1).原因是大家觉得对于vector而言,c ...

  8. 【第十二期】腾讯后台实习初试、复试、HR面经 (许愿OC)

    楼主投的很晚属于正常批才开始,初试面试官比较重基础,复试面试官比较看综合能力,HR小姐姐声音好听,腾讯面试官都特别nice! 一面: 看你项目很多,你挨个给我介绍一遍吧 我:一大堆按着简历介绍 日志文 ...

  9. Redis 源码简洁剖析 09 - Reactor 模型

    Reactor 模型 事件驱动框架 Redis 如何实现 Reactor 模型 事件的数据结构:aeFileEvent 主循环:aeMain 函数 事件捕获与分发:aeProcessEvents 函数 ...

  10. Disruptor-高性能队列

    简介 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题.与Kafka.RabbitMQ用于服务间的消息队列不同,disruptor一般用于线程间消息 ...