创建表

--建表语法结构:
/*
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. T-SQL的存储过程

    1.简介 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时 ...

  2. golang中的tcp编程

    1. tcp server package main import ( "bufio" "fmt" "net" ) func main() ...

  3. APP 性能分析工作台——你的最佳桌面端性能分析助手

    目前 MARS-App 性能分析工作台版本为开发者提供Fastbot桌面版的服务. 旨在帮助开发者们更快.更便捷地开启智能测试之旅,成倍提升稳定性测试的效率. 作者:字节跳动终端技术--王凯 背景 F ...

  4. jsp 4-14 知识总结

    二   string类型 装换 boolean 的方法? 三   attribute对象  set 和 get  的用法 四  jsp 的四种属性范围? 五  jsp  <%  %>  和 ...

  5. BIMFACE 二次开发 SDK 之歌

    <BIMFACE SDK 之歌>讲述了作者与 BIMFACE 从相识.相知.相爱.相守的艳遇之爱唯美故事   我是一个小小的程序员 穿行在人来人往的IT行业之间 编程工作与建筑信息化相关 ...

  6. 【源码】Redis命令处理过程

    本文基于社区版Redis 4.0.8   1.命令解析 Redis服务器接收到的命令请求首先存储在客户端对象的querybuf输入缓冲区,然后解析命令请求的各个参数,并存储在客户端对象的argv和ar ...

  7. 为什么内部类调用的外部变量必须是final修饰的?

    感谢原文:https://blog.csdn.net/u010393325/article/details/80643636 因为生命周期的原因.方法中的局部变量,方法结束后这个变量就要释放掉,fin ...

  8. 「 题解 」P2487 [SDOI2011]拦截导弹

    简单题意 给定 \(n\) 个数对 \((h_i, v_i)\). 求: 最长不上升子序列的长度. 对于每个 \(i\),分别求出包含数对 \((h_i, v_i)\) 的最长上升子序列的个数和最长不 ...

  9. springBoot工程解决跨域问题

    更新:通过一个 @CrossOrigin  注解就可以完美解决跨域问题. 创建一个配置类 package com.miaoshaProject.configuration; import org.sp ...

  10. [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush

    [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 目录 [源码解析] 模型并行分布式训练Megatron (5) --Pipedream Flush 0x0 ...