long raw java_Java

java032

操纵数据(DML)

数据操纵语言:当添加、更新或者删除数据库中的数据时需要使用 DML 语句。DML 依据的一个集合构成了一个被称为事务的逻辑单元。

当完成下面操作时,DML 语句被执行:

1)添加新行到表中

2)修改表中的行

3)删除表中的行

DML语言之新增语句

INSERT 语句语法:INSERT INTO table [ ( column[,column...])] VALUES(value[, value.. .]) ;

示例 :

需求:向 departments 表中添加一条数据。 Department_Id=280 Department_name = Teaching Manager_id=180 Location_id =2000

指定添加:

Insert into departments(Department_Id,Department_name,Manager_id,Location_id)

values(280,’Teaching ’,180 ,2000 );

完全列添加:

特点:

1)向每一列添加数据。

2)省略列名,要求values()括号里面值的个数和顺序必须与列名相匹配

语法格式:insert into 表名 values(值1,值2...)

需求:向 departments 表中添加一条数据。 Department_Id=290 Department_name = Development Manager_id=149 Location_id =2000

insert into departments values(290,'Development',149,2000);

插入带空值的行

1)隐士方法:省略字段列表中的列

例:

insert into departments(department_id,department_name) values(300,'A');

2)显示方法:在values子句中指定关键字null

例:

insert into departments(department_id,department_name,manager_id,location_id)

values(310,’北京’,null,null);

使用默认值(default)

insert into departments(department_id,department_name,manager_id)

values(310,'研发部',default);

插入日期值 (to_date)

针对日期的格式的数据可以使用 to_date函数进行转换,否则只能按照默认日期的格式进行输入(日/月/年)

insert into employees(EMPLOYEE_ID,first_name,last_name,email,phone_number,hire_date,job_id,salary)

values(20,'zhang','san','www.136.com','110',to_date('2019_8_21','yyyy_MM_dd'),'养大熊猫','3000');

从另一个表中复制行

特点:

1)用一个查询写 INSERT 语句

2)不用 VALUES 子句

3)在查询中列的数目要匹配 INSERT 子句中列的数目

先创建一个表

create table EMP

(

id NUMBER not null,

name VARCHAR2(50),

salary NUMBER(8,2),

commission NUMBER(2,2)

)

需求:将employees 表中的 job_id 中含有 REP 的工作岗位的数据插入到 emp 表中。

insert into emp(id,name,salary,commission)

select employee_id,last_name,salary,commission_pct

from employees where job_id like '%REP%'; OR

insert into emp select employee_id,last_name,salary,commission_pct

from employees where job_id like '%REP%';

DML语言之修改语句

UPDATE 语句的语法:update表名 set列名1=值1,列名2=值2. . .[where于语句]

例1:update dept set aid=10,aname='北京' where amount=20;

例2:

没有where条件。将会修改所有的记录。update dept set dname='测试2';

DML语言之删除语句

语法格式:delete [from] 表名 [where子句]

例1:delete from employees where salary=3000;

例2:

没有where条件。会导致删除所有记录。Delete from employees;

事务和TCL

事务:指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。

事物的特性:

1)原子性(ATOMICITY) :事务中的操作要么都不做,要么就全做。

2)一致性(CONSISTENCY) :一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了一个成功的事务时,数据应处于一致的状态。

3)隔离性(ISOLATION) :一个事务的执行不能被其他事务干扰。

4)持久性(DURABILITY) :一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

事务控制语言

1)commit..... 事物提交

2)rollback.... 事物回滚

3)savepoint.. 设置回滚点

数据定义语言(DDL)

create.....创建数据库对象

drop.......删除数据库对象

arter......修改数据库对象

rename.....修改数据库对象名称

数据库表格的创建

Oracle中的数据类型

1)字符类型:char,varchar2,nvarchar2

2)数字类型:number,integer

3)浮点类型:binary_float,binary_double

4)日期类型:date,timestamp,timestamp with time zone,timestamp with local time zone

5)lob类型:clob,blob,nclob

6)Long&raw&long raw类型:long,raw,long raw

char和varchar2之间的区别:

1)char类型是定长字符串,给定的长度如果字符长度未达到给定长度则自动用空格填充长度;

2)varchar2类型是变长字符串,不会用空格填充未达到给定长度的长度。

表格的修改和删除

表格进行重命名:rename 表名 to 别名

修改表格某个字段的类型:alter table 表名 modify (column 类型);

数据库中的约束类型

非空约束(NOT NULL)

唯一性约束(UNIQUE)

主键约束(PRIMARY KEY)

外键约束(FOREIGN KEY)

用户自定义约束(CHECK)

表格的约束:表格的约束就是对表格中列进行数据规则的规定。

约束有什么作用:约束用于规定表中的数据规则,如果存在违反约束的数据行为,运行就会被约束终止。

1)主键约束:保证了某列的唯一性和非空性。

2)非空约束:指定列不能包含空值。

3)唯一约束:指定列的值或者列的组合的值对于表中所有的行必须是唯一的。

4)检查约束:对某列数据的格式和范围进行限制。

5)外键约束(FOREIGN KEY):在列和引用表的一个列之间建立并强制一个外键关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值