--创建一个表
CREATE TABLE employee_souvc(
id NUMBER(4),
name VARCHAR2(20),
gender CHAR(1),
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);
--DESC table_name:查看表结构,看到表的列的名字,以及对应的类型,长度等
DESC employee_souvc;
--DROP TABLE table_name 删除一张表的语法
DROP TABLE employee_souvc;
--DEFAULT 关键字 用于为给定的列(字段)设置默认值
--数据库中字段无论是什么类型,默认值都是NULL,若使用DEFAULT指定了默认值,则使用指定的。
--NOT NULL约束 在创建表的时候可以为列添加非空约束,被约束的列在插入数据时必须给值。此列不允许为空。 CREATE TABLE employee_souvc(
id NUMBER(4),
name VARCHAR2(20) NOT NULL,
gender CHAR(1) DEFAULT 'M',
birth DATE,
salary NUMBER(6,2),
job VARCHAR2(30),
deptno NUMBER(2)
);
--RENAME old_name TO new_name 修改表名
--需要注意:新的表名不能是数据库中现有的表
RENAME employee_souvc TO emp_souvc;
--修改表:为表添加新的字段(列),总是在表的最后一列追加
--sysdate是一个日期的值,表示当前系统时间。
ALTER TABLE emp_souvc
ADD (hiredate DATE DEFAULT sysdate);
--从表中删除一列
ALTER TABLE emp_souvc
DROP (hiredate);
--修改表中现有的列
ALTER TABLE emp_souvc
MODIFY (
job VARCHAR2(40) DEFAULT 'CLERK'
);

修改表字段时的注意事项:

1:尽量不修改字段类型。
2:字段长度尽量不要减少。
3:修改后的字段,只对新插入的数据产生影响,修改字段前的所有数据不影响。

--DML操作,向表中插入数据
INSERT INTO emp_souvc(id,name,salary) VALUES(1,'boss',1500);

INSERT语句是向表中插入数据
INSERT语句指定的列对应的值会被插入到表中没有列举的列会插入NULL,但是,若该列有设置默认值(DEFAULT关键字设置的),那么就插入设置的默认值。
若某列为NOT NULL,执行INSERT语句时又没有指定该列,那么插入会抛出违反为空约束的异常

执行INSERT语句时,若没有指定插入任何列,那么就是全列插入,注意,给的值顺序必须与表中列的顺序完全一致,并且不能忽略任何一个列的值

--查询表数据
SELECT * FROM emp_souvc;
INSERT INTO emp_souvc(id,name,salary)
VALUES(2,'tom',2500); INSERT INTO emp_souvc(id,name,salary)
VALUES(3,'JERRY',3500); --事务控制:
--用于提交事务。
COMMIT;
--用于回滚事务。那么本次事务中所有的增删改操作全部失效。
ROLLBACK;
--TO_DATE()函数
--TO_DATE('2009-09-01','YYYY-MM-DD'); INSERT INTO emp_souvc
(id,name,birth)
VALUES
(1,'jack',TO_DATE('1990-09-01','YYYY-MM-DD')); SELECT * FROM emp_souvc;
--修改表中的数据
UPDATE emp_souvc
SET job='MANAGER'
WHERE salary=3500;

注意:通常情况下,更改表时,要添加WHERE来指定过滤条件,若不指定WHERE则是全表修改通常不会这样做。

--从表中删除数据
DELETE FROM emp_souvc
WHERE name='tom'; SELECT * FROM emp_souvc;

删除数据时更要注意,添加WHERE.否则是全表删除。

TRUNCATE  TABLE emp_souvc;
SELECT * FROM emp_souvc;

--序列的创建
create sequence seq_newsId increment by 1 start with 1 maxvalue 999999999;

--得到序列的SQL语句
select seq_newsid.nextval from sys.dual;

--删除序列的SQL
DROP SEQUENCE seq_newsId;

oracle学习笔记系列------oracle 基本操作之表的增删改查的更多相关文章

  1. Django学习笔记--数据库中的单表操作----增删改查

    1.Django数据库中的增删改查 1.添加表和字段 # 创建的表的名字为app的名称拼接类名 class User(models.Model): # id字段 自增 是主键 id = models. ...

  2. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  3. 【EF6学习笔记】(二)操练 CRUD 增删改查

    本篇原文链接: Implementing Basic CRUD Functionality 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根 ...

  4. EF6 学习笔记(二):操练 CRUD 增删改查

    EF6学习笔记总目录 ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 接上篇: EF6 学习笔记(一):Code First 方式生成数据库及初始化数据库实际操作 本篇原文链接: I ...

  5. mongodb的学习笔记一(集合和文档的增删改查)

    1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据 ...

  6. oracle学习笔记系列------oracle 基本操作之基本函数的用法

    --创建一个accout账户表 CREATE TABLE account( id ) NOT NULL, recommender_id ), login_name ) NOT NULL, login_ ...

  7. oracle学习笔记系列------oracle操作例子的专用表

    CREATE TABLE dept( deptno ), dname ) , loc ) ) ; CREATE TABLE emp( empno ), ename ), job ), mgr ), h ...

  8. Mysql学习笔记(二)对表结构的增删改查

    有将近一个星期都没有更新mysql了.相反linux的东西倒是学习不少.可能我个人情感上对linux更感兴趣一点.但mysql我也不烦,只是一旦将精力投入到了一样事情上去,就很难将精力分散去搞其他的东 ...

  9. C#学习笔记(3)——操作sqlserver数据库增删改查

    说明(2017-5-25 16:29:35): 1. VS2010,视图->服务器资源管理器->数据连接->右键添加连接->服务器名(本机可以用点)->选择数据库-> ...

随机推荐

  1. 通过参数传递,判断数字、字符串、list、tuple、词典等数据类型是否为可变数据对象

    list: >>> a = [1,2,3,4]>>> a[0]1>>> a[1]2>>> a[0] = 10>>&g ...

  2. MUI(2)

    本篇博文是继续MUI(1)博文. 上一篇博文小编写了两个页面,一个页面只写了一个头部导航栏,另一个页面写了一个按钮,然后这两个页面进行合并显示,即在头部导航栏页面加载显示另一个页面的按钮.仔细观察上一 ...

  3. [javaSE] 反射-动态加载类

    Class.forName(“类的全称”) ①不仅表示了类的类类型,还代表了动态加载类 ②请大家区分编译,运行 ③编译时刻加载类是静态加载类,运行时刻加载类是动态加载类 Ⅰ所有的new对象都是静态加载 ...

  4. PHP知识库图谱汇总(完善中)

    基本语法不做汇总 经典算法: 冒泡算法.快速算法.二分查找 字符串处理: 字符串查找 字符串排序 字符串切割 字符串定位 字符串对比 字符串大小写转换 Session和Cookies: Session ...

  5. MAC下配置WebDav

    WebDav完全可以当成一个网络共享的文件服务器使用! # 1. 修改了两个配置文件 # 2. 创建web访问用户的用户名和口令 # 3. 创建了两个目录,并且设置了管理权限 # 切换目录 $ cd ...

  6. java集合-Iterator迭代

    我们常常使用 JDK 提供的迭代接口进行 Java 集合的迭代. Iterator iterator = list.iterator(); while(iterator.hasNext()){ Str ...

  7. IoC和DI的理解

    1 概述 当我们想闭上眼睛想如何让我们的软件更加可用可维护时,我们总能想到一个词:松耦合.在这篇文章中,主要讲述了模块间存在的依赖关系,但这种依赖关系违背了依赖倒置原则.在这之后,我们将讨论一种解除软 ...

  8. Shepherd – 在应用程序中轻松实现引导功能

    Shepherd 是一个指导用户使用应用程序的 JavaScript 库.它使用 Tether——另一个开源库,实现所有的步骤.Tether 确保你的步骤不会溢出屏幕或被剪裁.你可以很容易地指导用户使 ...

  9. 安装配置php5.4 win2003

    php php-5.4.38 1.下载 http://windows.php.net/downloads/releases/php-5.4.38-Win32-VC9-x86.zip 解压到 D:\we ...

  10. mysql支持IOS的Emoji表情

    原因: UTF-8编码有可能是两个.三个.四个字节.Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去. 解决办法: 将Mysql的编码从utf8转换成utf8mb4 ...