oracle增删改查基本语法(DDL/DML)整理
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)整理的更多相关文章
- Oracle 增删改查
Oracle入门案例: 1.创建实体类Student 并重写ToString方法 package cn.happy.entity; public class Student { public Inte ...
- Java 数据库操作oracle增删改查,通用封装基于hashmap
pt1:首先安装oracle连接驱动 下载地址:https://pan.baidu.com/s/1jW_ofgU4eJmAn7Y2J5B46A 密码:epkz 1.将ojdbc6.jar导入项目中 ...
- oracle增删改查
=======================批量删除,只留前十条数据. delete from THIRD_PARTY_MERCHANT a where a.rowid in ( select ro ...
- Oracle增删改查sql语句
--创建表空间 create tablespace waterboss datafile 'd:\waterboss.dbf' size 100m autoextend on next 10m --创 ...
- mongodb增删改查基础语法
转载:https://blog.csdn.net/u012206617/article/details/91047239 1. use DataBaseName 切换/创建数据库use mydb 2. ...
- ORACLE增删改查以及case when的基本用法
1.创建table create table test01( id int not null primary key, name ) not null, gender ) not null, age ...
- MySQL数据库增删改查SQL语句(2018整理集合大全)
查看数据库 show databases; 使用数据库 use 数据库名; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 DROP DATABASE 数据库名; 创建表 cre ...
- MVC——数据库增删改查(Razor)——Html语法
一.显示界面 .Models(模板) private MyDBDataContext _context = new MyDBDataContext(); public List<Info> ...
- sql server连接oracle并实现增删改查
需要一个软件ODAC112040Xcopy_64bit 我连接的oracle是11g r2 sqlserver 是 2016 软件下载 https://pan.baidu.com/s/1OpYmpR ...
随机推荐
- rt-thread下调试elmfat 问题记录
硬件平台:stm32f107 SPI flash:w25q32 RTT版本:v2.1 w25q32的驱动大神们已经写好(w25qxx.c),我只需要照猫画虎的实现相应SPI的驱动程序即可(bsp例 ...
- Linux高级网络设置——将多个网卡设置成一个网卡
Linux下可以设置网卡模式 模式0:负载均衡 模式1:主备模式,不提高网络带宽 模式3:多网卡同时发送相同的数据 准备实验环境: Redhat 6.4 企业版64位,最小化安装. 给虚拟机添加网卡 ...
- 文件格式 rdp
auto connect:i:1full address:s:公网访问IP地址username:s:Administrator
- Pytest【定制fixture】
在pytest中的fixture是在测试函数运行前后,由pytest执行的外壳函数,fixture中的代码可以定制,满足多变的测试需求:包括定义传入测试中的数据集.配置测试前系统的初始化状态.为批量测 ...
- 001-官网安装openstack之-安装前基础环境准备
0.安装常用软件包(根据个人习惯安装需要的软件包) [root@localhost ~]# yum -y install wget vim ntp net-tools tree openssh 1.配 ...
- 题解 [JOI 2019 Final] 硬币收藏
题面 解析 首先题目可以理解为把一些点放进一个框里,每个格子只能放一个. 那么显然你可以先把这个点移到框里离它最近的格子里, (这个时候格子里可以放很多个) 然后再在框里乱跑移动. 那么我们先考虑只有 ...
- SP1716 GSS3(线段树+矩阵乘法)
Code: #include <bits/stdc++.h> #define N 50001 #define ll long long #define lson now<<1 ...
- Public model for matrix
以下是可以加减乘除(就是乘逆矩阵啦)以及求若干次幂.行列式和逆的矩阵模板. 欢迎大家指正其中可能存在的错误(只验证了求逆的正确性). 顺便提一下这种复杂度低于定义式求逆的方法,来自于我的高等代数书,思 ...
- sigprocmask , sigpending 和 sigsuspend函数
转自 http://blog.csdn.net/elbort/article/details/7594772 sigprocmask函数:功能描述:设定对信号屏蔽集内的信号的处理方式(阻塞或不阻塞). ...
- nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本
首先说一下,我们平时在浏览器上访问网页,所看到的内容,其实是web服务器传过来的,比如我们访问www.baidu.com.当我们在浏览器地址栏输入之后,浏览器会发送请求到web服务器,然后web服务器 ...