DDL:Data Definition Language(数据库定义语言)
DML:Data Manipulation Language(数据库操作语言)

一、表结构操作(create table、alter table、drop table)
  1.创建表
create   table  tableName(

  id   number(6)   not   null   primary   key ,
  class_name  varchar2(8)   default   null,
  create_date  date
  );
comment   on   column   tableName.id   is   'id';          #字段注释
comment   on   column   tableName.class_name   is   '类名';
comment   on   column   tableName.create_date   is   '创建日期';

  2.修改表结构
alter   table   tableName   add   constraint   id    primary   key;        #增加约束,id设置为主键
----------------------------------------------------------------------------
alter    table   表名   add   constraint   约束名   check(字段名='男'   or   字段名='女');        #增加约束,限制列的值(check为限制)

示例1:给表tableName的gender字段增加约束,约束名为con_gender,gender限制为'男'或'女'
alter    table    tableName    add   constraint   con_gender    check(gender='男'   or   gender='女');

示例2:给表tableName的age字段增加约束,约束名为con_age,age限制为18至60之间'
alter     table    tableName    add    constraint    con_age    check(age>=18   and   age<=60)
-----------------------------------------------------------------------------
alter    table    表名    modify    字段名及类型     default    默认值;          #更改字段类型

示例:把表tb_user的字段username重新定义为number类型,最大长度为7,默认为0
alter    table    tb_user    modify    username    number(7)    default 0;
---------------------------------------------------------------------------------------

alter    table    表名    add   列名及字段类型;              #增加字段及类型

示例:表tb_user新增一个height字段为number类型,最大长度为3
alter    table   tb_user    add    height    number(3);
-----------------------------------------------------------------------------------------
alter    table     表名    drop    column       字段名;              #删除字段名
alter    table     表名    drop    constraint    约束名;           #删除约束
alter    table     表名     rename    column    列名    to    列名          #修改字段名
rename    oldTableName    to  newOldTableName         #修改表名

  3.删除表
drop    table   tableName;            #删除表,删除的包含表结构定义、表数据,并释放表占用的空间
truncate    table     tableName;            #删除表数据,保留表结构定义及空间

二、表数据操作(inser into、update、delete)
  1.插入表数据:insert  into
insert   into   tableName(column1,column2,column3)  values(value1,value2,value3);
#表列column1,column2,column3插入值value1,value2,value3

insert   into   tableName   values(value1,value2,value3);
#插入的数据与所有表列对应上时,可省略列名。

insert   into   newTableName   select   *   from   oldTableName;
#把老表中查出的数据插入到新表(新表与旧表表结构完全一致)

insert   into   newTableName(column1,column2,column3)   select   value1,value2,value3   from   oldTableName;
#把老表中查出的数据插入到新表(新表与旧表表结构可以不一致)

  2.修改表数据:update
update   tableName   set   name='Mr Liu'   where   name='Ms Liu';       #把Mr Liu(刘先生)改成Ms Liu(刘女士)
slect   *   from   tableName   for  update;                    #手动修改表数据
slect   tb.rowid, tb.*  from   tableName  tb;                  #手动修改表数据

  3.删除表数据:delete from
delete   from   tableName;                    #删除表所有数据
delete    from    tableName  tb   where    tb.name='MrLiu';          #删除名字为MrLiu的数据

三、复制表结构或者表数据
  1.复制表数据:
create    table   newtable   as   select   *   from   oldtable;        #复制旧表结构及数据 
insert     into   newtable   select   *    from   oldtable;           #已经创建了新表newtable结构,只复制数据
注意:第一种方式只是复制了表结构,但是主键什么的并没有复制进去,所以用的时候要小心在意。

  2.复制表结构:
create    table   newtable   as   select   *   from   oldtable   where   1=2;        #只复制完全一样的表结构

  3.复制表结构2:
create   table   newtable   as   select  s.c1, s.c2   from  oldtable  s;          #复制不一样的表结构

oracle增删改查基本语法(DDL/DML)整理的更多相关文章

  1. Oracle 增删改查

    Oracle入门案例: 1.创建实体类Student 并重写ToString方法 package cn.happy.entity; public class Student { public Inte ...

  2. Java 数据库操作oracle增删改查,通用封装基于hashmap

    pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A  密码:epkz 1.将ojdbc6.jar导入项目中 ...

  3. oracle增删改查

    =======================批量删除,只留前十条数据. delete from THIRD_PARTY_MERCHANT a where a.rowid in ( select ro ...

  4. Oracle增删改查sql语句

    --创建表空间 create tablespace waterboss datafile 'd:\waterboss.dbf' size 100m autoextend on next 10m --创 ...

  5. mongodb增删改查基础语法

    转载:https://blog.csdn.net/u012206617/article/details/91047239 1. use DataBaseName 切换/创建数据库use mydb 2. ...

  6. ORACLE增删改查以及case when的基本用法

    1.创建table create table test01( id int not null primary key, name ) not null, gender ) not null, age ...

  7. MySQL数据库增删改查SQL语句(2018整理集合大全)

    查看数据库 show databases;  使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 cre ...

  8. MVC——数据库增删改查(Razor)——Html语法

    一.显示界面 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); public List<Info> ...

  9. sql server连接oracle并实现增删改查

    需要一个软件ODAC112040Xcopy_64bit 我连接的oracle是11g r2  sqlserver 是 2016 软件下载 https://pan.baidu.com/s/1OpYmpR ...

随机推荐

  1. JavaScript程序块初始练习

    由语句语句块,函数,对象,方法,属性构成.通过顺序,分支,循环三种基本程序控制结构来进行编程. 来一段小代码: <!DOCTYPE html> <html> <head& ...

  2. Computer Vision_18_Image Stitching: Image Alignment and Stitching——2006

    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...

  3. 10 Windows编程——鼠标消息

    和鼠标相关的三个属于:click,double-click,drag 鼠标消息和键盘消息不同:只要鼠标跨越某个窗口,或者在某个窗口中按键,消息. 客户去鼠标消息 WM_MOUSEMOVE WM_[L, ...

  4. 《JavaScript DOM编程艺术》(第二版)学习笔记(一)

    这本书去年就买了但一直没看,闲暇的时候看了下,发现里面写的内容还真是不错,所以决定一边在博客上记录些学习的笔记,以便以后观看及查找方便. js文件最好的做法是放在< body>标签里,这样 ...

  5. 做一个函数 返回当前日期、当前时间 格式为“XXXX年XX月XX日”

    import time import datetime def time_strf(now_date):#传入0,1,2返回 当前日期.当前时间.当前日期与时间 today=datetime.date ...

  6. Android.mk走读与Cmake配置

    Android.mk认识: 在上一次[https://www.cnblogs.com/webor2006/p/9946061.html]中学会了用NDK提供的交叉编译工程编译成Android能运行的可 ...

  7. Pytest【定制fixture】

    在pytest中的fixture是在测试函数运行前后,由pytest执行的外壳函数,fixture中的代码可以定制,满足多变的测试需求:包括定义传入测试中的数据集.配置测试前系统的初始化状态.为批量测 ...

  8. MySQl 进阶一 基本查询及练习

    知识点及练习 USE myemployees; #.查询表中的单个字段 SELECT last_name FROM employees; #.查询表中多个字段 #.查询全部 SELECT * FROM ...

  9. ZZNUOJ-2154:单身狗线下聚会【求N个数的最小公倍数,会超longlong,大数乘法,Java】

    2154: 单身狗线下聚会 题目描述 马上就到七夕节了,单身狗们决定聚一聚.但是它们沉迷B站上的lo娘,他们每沉迷 ai 单身狗时间(这是它们专业计时)后就会休息 单身狗时间.它们想找到一个时间正好他 ...

  10. vue 项目中使用postMessage问题总结

    问题描述: 由于目前做的项目分成两个项目,通过iframe嵌套,所以用到了 postMessage 当监听传过来的值的时候  出现了接受多次的问题 产生原因: 我的监听事件是放在home页 mount ...