oracle数据库的DM L语句
SQL:是结构查询语⾔
SQL的语句是由D QL(数据查询语⾔:SE L E C T),D ML(数据管理语⾔:增、删、改),D D L(数据定义语⾔:例如 创建表),D C L(数据库控制语⾔)
此⽚主要介绍如何写写D ML。
向表中插⼊的数据
修改现存数据
删除现存数据
``` //使⽤INSERT语句向表中插⼊数据的语法 INSERT INTO table [ (column [, column ...])] VALUES (value [ ,value ...]) ;
//若使⽤上述语法只能向表中插⼊⼀条数据
###要想插⼊字符和⽇期数据应包含在单引号中。(其中需要注意的有:在插⼊⽇期的格式,要符合⽇期
识别的要求。)
###如何向表中插⼊null值
INSERT INTO departments (department_id,department_name)
VALUES (30,'Purchasing')
//这种⽅式是隐式向数据库中插⼊NULL,这种⽅式由数据库帮⽤户将内容插⼊到数据库中,⽤户只将⼀部分列名写出之后,没有写的列名由数据库默认的添加为null输⼊到数据库中去了。
INSERT INTO departments
VALUES ( 100 ,'Finance',null,null);
//该⽅法是显⽰式实现向数据库中插⼊内容,因为当数据表后⾯没有任何列的时候,个⼈理解是按数据表创建的列进⾏数据的插⼊。所以没有要插⼊的数据写上数据名,没有写的需要数据库管理员⼿动的填⼊NULL。
//上⾯的⽅式都是以单⾏的⽅式进⾏数据的插⼊,但是SQL语⾔中如何⼀次性的插⼊多条数据进⼊到⼀个表中。⽅法如下(该⽅法涉及到⼦查询):
//使⽤的前提是先复制⼀个表中的信息(在oracle中进⾏数据备份的⽅法)
create table HR.DEPARTMENTS_COPY //其中HR.DEPARTMENTS_COPY备份的数据(备份过来的有数据和⾮空的约束条件。)
AS
SELECT *
博客为什么没人用了FROM HR.DEPARTMENTS
//现在向赋值的表中插⼊多⾏数据的⽅法
INSERT INTO HR.departments_copy
SELECT *
FROM HR.departments
//虽然可以将多⾏数据插⼊到⼀个表中,但是还以有条件的,需要插⼊的数据与插⼊的表的列要⼀⼀对应。
如下样例
INSERT INTO sales_reps(id ,name,salary,commission_pct)
SELECT employee_id,last_name,salary,commission_pct)
FROM employees
WHERE job_id LIKE '%REP%';
//上⾯的例⼦中最重要的就是如何插⼊的数据要与原表⼀⼀对应。插⼊的数据类型⼀致。
####使⽤UPDATE语句进⾏更新数据
UPDATE table
set column = value [ , column = value , ...]
[ WHERE condition ];
UPDATE语句在没有限制条件的时候,会将⼀整列都删除,但是使⽤where语句之后,则是将其中的某⼏个列进⾏更新⽽不是将整个列进⾏更新。
####以上以使⽤UPDATE的语句进⾏数据的更新,下⾯据⼀些实例:
UPDATE HR.EMPLOYEES
SET department_id = 50
WHERE employee_id = 113;
####上⾯是使⽤正常的⽅式进⾏数据的更新,下⾯则是使⽤⼦查询的⽅式进⾏数据的更新
UPDATE HR.employees
set job_id =(SELECT job_id
FROM HR.employees
WHERE employee_id = 205)
salary =(SELECT salary
FROM employees
WHERE employee_id = 205
)
WHERE employee_id = 113;
//使⽤上⾯的更新语句要注意的事项就是在使⽤set⽅式进⾏数据的赋值的时候需要注意的就是等号两边的内容不能弄反,其次是需要注意的是在使⽤set的时候⼀定要注意使⽤的是单⾏查询(返回的结果是单⾏),在使⽤where的时候,可以使⽤单⾏⼦查询和多⾏⼦查询
//在使⽤set的时候为什么返回的结果是单⾏的呢,因为set是在给⼀个属性赋值,当使⽤的是多⾏查询的时候,返回多个内容,造成⼀个属性有多个值,从产⽣错误。
//例⼆:
UPDATE HR.EMPLOYEES
SET job_id = (SELECT job_id
FROM HR.EMPLOYEES
WHERE employee_id = 100)
WHERE job_id =(SELECT job_id
FROM HR.EMPLOYEES
WHERE employees_id = 200)
//由上⾯的两个例⼦可以了解到,在使⽤⼦查询的时候可以放在set的后⾯,以及在where的后⾯。
####使⽤DELETE语句的样例的⽅式
DELETE [ FROM ] table
[ WHERE condition ];
####上⾯是使⽤DELETE 的⽅法,下⾯举⼀些使⽤的例⼦
DELETE FROM HR.departments
WHERE department_name = 'Finance ';
/
/假如省略了where的条件的筛选,那么则将整个表的数据都删除了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论