`
wsql
  • 浏览: 11782680 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

操丛数据

 
阅读更多
DML(Data Manipulation Language):
数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。
如INSERT、DELETE、UPDATE、SELECT、MERGE(插入、删除、修改、检索、合并)等都是DML操作。
好,下面我们对INSERT、DELETE、UPDATE、SELECT、MERGE做详细介绍。

一、INSERT
  INSERT语句用来向表,分区或视图中添加行。可以向单表或者多个表方法中添加数据行。单表插入将会向一个表中插入一行数据,

这行数据可以显式地列出插入也可以通过一个子查询来获取。多表插入将会向一个或多个表插入行,并且会通过子查询获取值来计算所插入行的值。


1、单表插入:VALUES子句、SELECT子句
 命令语法如下:
INSERT INTO 表 [(列 [, 列...])] VALUES (值 [, 值...]);
INSERT INTO  表[(列 [, 列...])] SELECT子句; 其中,SELECT子句返回多少行,就是表中插入多少行。
下面我们来做实验:
 (1)第一:用VALUES子句单行插入

  实现单表插入,每一列的值都显式地输入。如果你要插入表中所定义的所有列的值,那么列的列表是可选的。但是,如果你只是提供部分列的值,则必须在列的列表中指明所需的列名。好的做法是不管是不是需要插入所有列的值,都把所有列的列表列出来。这样做就像该语句的自述文件一样,并且也可以减少将来别人要插入一个新列到表中的时候可能出现错误。


hr@OCM> INSERT INTO departments(department_id, department_name, manager_id, location_id) VALUES (118, 'IT DBA', 100, 1700);


1 row created.


hr@OCM> commit;


Commit complete.


当我们插入的值超过列长度定义的大小时会报下面的错误,错误很明显actual: 31, maximum: 30


hr@OCM> INSERT INTO departments(department_id, department_name, manager_id, location_id)
2 VALUES (120, LPAD('IT_DEVELOP',31,'0'), 100, 1700);
VALUES (120, LPAD('IT_DEVELOP',31,'0'), 100, 1700)
*
ERROR at line 2:
ORA-12899: value too large for column "HR"."DEPARTMENTS"."DEPARTMENT_NAME" (actual: 31, maximum: 30)


当我们插入的值少于表中所定义的所有列的值就会报下面的错误:not enough values


hr@OCM> INSERT INTO departments VALUES (121,'IT_TEST',1700);
INSERT INTO departments VALUES (121,'IT_TEST',1700)
*
ERROR at line 1:
ORA-00947: not enough values


(2)第二:SELECT子句

 首先定义一个空表


hr@OCM> create table emp as select * from employees where 1=2;


Table created.


hr@OCM> select * from emp;


no rows selected


 然后用SELECT子句多行插入


hr@OCM> INSERT INTO emp(employee_id, last_name,email,hire_date,salary,job_id, commission_pct)
2 SELECT employee_id, last_name,email,hire_date, salary,job_id,commission_pct
3 FROM employees
4 WHERE job_id LIKE '%REP%';


33 rows created.


通过子查询来实现插入,这是一个非常灵活的选项。所写的子查询可以返回一行或多行数据。返回的每一行都会用来生成需要插入的新行的列值。根据你的需要这个子查询可以很简单也可以很复杂。比如:


hr@OCM> INSERT INTO emp(employee_id, last_name,email,hire_date,salary, commission_pct)
2 SELECT employee_id, last_name,email,hire_date, salary,commission_pct
3 FROM employees
4 WHERE job_id LIKE '%REP%';
INSERT INTO emp(employee_id, last_name,email,hire_date,salary, commission_pct)
*
ERROR at line 1:

ORA-01400: cannot insert NULL into ("HR"."EMP"."JOB_ID")


job_id这一例在子查询中并没有占据一列并且我们也没有将它包括在列表中。因为我们没有包含这一列,它的值将会是null。注意如果job_id列具有非空约束,那么就会返一个约束错误(如上报错),语句的执行也会失败。


(3)第三:子查询的进一步使用

我们甚至可以把“Insert into 表名”这其中的表名,换为一个子查询,比如:


hr@OCM> INSERT INTO(SELECT employee_id, last_name,email, hire_date, job_id, salary, department_id FROM employees)
2 VALUES (99999, 'Taylor', 'DTAYLOR',TO_DATE('07-JUN-99', 'DD-MON-RR'),'ST_CLERK', 5000, 50);


1 row created.


当然,这没什么意义,这个输入和insert into (employee_id, last_name,email, hire_date, job_id, salary,department_id)从功能上讲,没任何不同。后面的Values部分,同样可以换为一个子查询:


hr@OCM> insert into employees (employee_id, last_name,email, hire_date, job_id, salary,department_id) select employee_id, last_name,email, hire_date, job_id, salary,department_id from emp;
1 row created.


我们还可以在INTO后的子查询中使用条件:


hr@OCM> INSERT INTO(SELECT employee_id, last_name,email, hire_date, job_id, salary, department_id FROM employees where department_id=50) VALUES (99999, 'Taylor', 'DTAYLOR',TO_DATE('07-JUN-99', 'DD-MON-RR'),'ST_CLERK', 5000, 40);


1 row created.


不过,到现在为止,这个条件没有意义,因为我条件定的是where department_id=50,但我后面输入的department_id为40,插入照样成功了。有一个选项,可以让这个条件发挥作用:WITH CHECK OPTION 。它通常加在条件的后面,如下:


hr@OCM> INSERT INTO(SELECT employee_id, last_name,email, hire_date, job_id, salary, department_id FROM employees where department_id=50 WITH CHECK OPTION) VALUES (99999, 'Taylor', 'DTAYLOR',TO_DATE('07-JUN-99', 'DD-MON-RR'),'ST_CLERK', 5000, 40);
ERROR at line 1:

ORA-01402: view WITH CHECK OPTION where-clause violation


这样,department_id为40,就插入不进去了。


hr@OCM> INSERT INTO(SELECT employee_id, last_name,email, hire_date, job_id, salary, department_id FROM employees where department_id=50 WITH CHECK OPTION) VALUES (99999, 'Taylor', 'DTAYLOR',TO_DATE('07-JUN-99', 'DD-MON-RR'),'ST_CLERK', 5000, 50);


1 row created.


department_id为50的行可以成功插入。
在Insert into后的子查询的主要目的,就是这样的通过With check option,我们可限制插入进表中的数据。


2、多表插入

我们来看下面这个例子看一下一个子查询返回的数据行是如何被用来插入多个表中的,好我们来建三个表分别是:small_customers、medium_customers、large_customers。我们想要按照每位消费者所下订单的总金额来将数据分别插入这些表。子查询将每一位消费者的order_total列求和来确定刻消费者的消费金额是小(所有订单的累加金额小于10000)、中等(介于10000与99999.99)还是大(大于等于100000),然后按照条件将这些行插入对应的表中。


gyj@OCM> create table small_customers(customer_id number,sum_orders number);


Table created.


gyj@OCM> create table medium_customers(customer_id number,sum_orders number);


Table created.


gyj@OCM> create table large_customers(customer_id number,sum_orders number);


Table created.


gyj@OCM> create table orders(customer_id number,order_total number);


Table created.


gyj@OCM> insert into orders values(1,200);
gyj@OCM> insert into orders values(1,400);
gyj@OCM> insert into orders values(2,50000);
gyj@OCM> insert into orders values(2,80000);
gyj@OCM> insert into orders values(3,200000);
gyj@OCM> insert into orders values(3,2000);
gyj@OCM> commit;


gyj@OCM> insert all
2 when sum_orders < 10000 then
3 into small_customers
4 when sum_orders >= 10000 and sum_orders < 200000 then
5 into medium_customers
6 else
7 into large_customers
8 select customer_id,sum(order_total) sum_orders
9 from orders
10 group by customer_id;
commit;


3 rows created.


gyj@OCM>
Commit complete.


gyj@OCM> select * from small_customers;


CUSTOMER_ID SUM_ORDERS
----------- ----------
1 600


gyj@OCM> select * from medium_customers;


CUSTOMER_ID SUM_ORDERS
----------- ----------
2 130000
gyj@OCM> select * from large_customers;


CUSTOMER_ID SUM_ORDERS
----------- ----------
3 202000


注意Insert关键字后面用ALL还是FIRST,视具体情况而定。


二、UPDATE
更新语句的语法是UPDATE 表名 SET 列名1=值,列名2=值,………… WHERE 条件。

UPDATE语句的作用是改变表中原有行的列值。这个语句的语法由3个部分组成:UPDATE、SET和WHERE。UPDATE子句用来指定要更新的表,SET子句用来指明哪些列改变了以及调整的值,WHERE子句用来按条件筛选需要更新的行。WHERE子句是可选的,如果忽略了这个子句的话,更新操作将针对指定表中的所有行进行。


1、使用表达式更新一个单列的值


gyj@OCM> create table emp(empno number primary key,empname varchar2(10),deptno number,salary number,commission_pct number);


Table created.


gyj@OCM> insert into emp values(1,'Tom',10,5000,0.2);


1 row created.


gyj@OCM> insert into emp values(2,'Joe',10,5000,0.2);


1 row created.


gyj@OCM> insert into emp values(3,'lewis',20,5000,0.2);


1 row created.


gyj@OCM> commit;


Commit complete.


gyj@OCM> update emp set salary=salary*1.1 where deptno=10;


2 rows updated.


gyj@OCM> commit;


Commit complete.


2、通过子查询更新一个单列的值


gyj@OCM> create table emp2(empno number primary key,empname varchar2(10),deptno number,salary number,commission_pct number);


Table created.


gyj@OCM> insert into emp2 values(1,'rose',10,8000,0.1);


1 row created.


gyj@OCM> insert into emp2 values(2,'alan',20,8000,0.1);


1 row created.


gyj@OCM> insert into emp2 values(3,'jemy',30,8000,0.1);


1 row created.


gyj@OCM> commit;


Commit complete.


gyj@OCM> update emp a set salary=(select salary from emp2 b where a.empno=b.empno and a.salary != b.salary) where deptno=10;


2 rows updated.


gyj@OCM> commit;


Commit complete.


3、通过在where子句使用子查询确定要更新的数据行来更新单列值


gyj@OCM> create table department(deptno number,deptname varchar2(10));


Table created.


gyj@OCM> insert into department values(10,'HR');


1 row created.


gyj@OCM> insert into department values(20,'SALES');


1 row created.


gyj@OCM> insert into department values(30,'DEV');


1 row created.


gyj@OCM> commit;


Commit complete.


gyj@OCM> update emp a set salary=salary*1.1 where deptno in (select deptno from department where deptname='HR');




2 rows updated.


gyj@OCM> commit;


Commit complete.


4、通过使用SELECT语句定义表列的值来更新表


gyj@OCM> update (select a.salary,b.salary new_sal from emp a,emp2 b where a.empno=b.empno and a.deptno=10) set salary= new_sal;


2 rows updated.


gyj@OCM> commit;


Commit complete.


5、通过子查询更新多列


gyj@OCM> update emp a set (salary,commission_pct) = (select b.salary,b.commission_pct from emp2 b where a.empno=b.empno) where deptno=10;

2 rows updated.


gyj@OCM> commit;


Commit complete.


三、DELETE
语法格式:DELETE [FROM] 表 [WHERE条件];
DELETE语句用来从表中移除数据行。该语句的语法结构由3部分组成:DELETE、FROM和WHERE。DELETE关键字是单独列出的。除非使用提示(hint),没有其它选项与DELETE关键字相结合。FROM子句用来指定哪个表中删除数据行,这个表可直接指定也可以通过子查询来确定。WHERE子句提供筛选条件有助于确定哪些行是要删除的。如果忽略了WHERE子句,删除操作将删除指定表中的所有数据行。


1、使用WHERE子句中的筛选条件来指定表中删除行


gyj@OCM> delete from emp2 where deptno=10;


1 row deleted.


gyj@OCM> commit;


Commit complete.


2、使用FROM子句的子查询来删除行


gyj@OCM> delete from (select * from emp2 where deptno=20);


1 row deleted.


gyj@OCM> commit;


Commit complete.


3、使用WHERE子句中的子查询来从指定表中删除行


gyj@OCM> delete from emp2 where deptno in (select deptno from department where deptname='DEV');


1 row deleted.


gyj@OCM> commit;


Commit complete.


四、TRUNCATE
1、语法:TRUNCTAE TABLE 表名;
在DELETE后不加条件,如“DELETE 表名”,这条语句就可以删除表中的所有行,但是如果你的确要删除所有行的话,有一个执行速度更快的方法,就是截断表命令,这个命令是DDL命令,也就是说,在删除所有行后,不需提交。同样的,如果在删除所有行后,你后悔了,那没办法,谁让你用TRUNCATE删除所有行了。
DELETE删除行后,是可以通过ROLLBACK回滚操作,以恢复被删除的行。

TRUNCATE操作如下:


gyj@OCM> select * from emp;


EMPNO EMPNAME DEPTNO SALARY COMMISSION_PCT
---------- ---------- ---------- ---------- --------------
1 Tom 10 8000 .1
2 Joe 10 8000 .1
3 lewis 20 5000 .2


gyj@OCM> truncate table emp;


Table truncated.


gyj@OCM> select * from emp;


no rows selected


2、truncate与delete区别
(1)tuncate会降高水位(HWM)到初始位置
(2)tuncate是DDL,delete是DML
(3)tuncate会释放段的空间,delete不会释空间
 (4)dba_objects->DATA_OBJECT_ID


五、Merge语句
Merge的语法格式如下:
MERGE INTO 表名 [别名]
USING (表名| 子查询) [别名] ON (连接条件)
WHEN MATCHED THEN
UPDATE SET 列1 = 值, 列2 = 值,……
WHEN NOT MATCHED THEN
INSERT (列名表) VALUES (值列表);
Merge语句具有按条件获取要更新或插入到表中的数据行,然后从1个或多个源头对表进行更新或者向表中插入行两方面的能力。它最经常被用在数据仓库中来移动大量的数据,但它的应用不仅限于数据仓库环境下。这个语句提供的一个很大的附加值在于你可以很方便地把多个操作结合成一个。这就使你可以避免使用多个INSERT、UPDATE及DELETE语句。

Merge语句比较复杂,为了能深入理解它,我们一起来做测试:


gyj@OCM> create table dept60_bonuses
2 (employee_id number
3 ,bonus_amt number);


Table created.


gyj@OCM> insert into dept60_bonuses values (103, 0);


1 row created.


gyj@OCM> insert into dept60_bonuses values (104, 100);


1 row created.


gyj@OCM> insert into dept60_bonuses values (105, 0);


1 row created.


gyj@OCM> commit;


Commit complete.


gyj@OCM> select employee_id, last_name, salary
2 from hr.employees
3 where department_id = 60 ;


EMPLOYEE_ID LAST_NAME SALARY
----------- ------------------------- ----------
103 Hunold 9000
104 Ernst 6000
105 Austin 4800
106 Pataballa 4800
107 Lorentz 4200
gyj@OCM> select * from dept60_bonuses;


EMPLOYEE_ID BONUS_AMT
----------- ----------
103 0
104 100
105 0


gyj@OCM> merge into dept60_bonuses b
2 using (
3 select employee_id, salary, department_id
4 from hr.employees
5 where department_id = 60) e
6 on (b.employee_id = e.employee_id)
7 when matched then
8 update set b.bonus_amt = e.salary * 0.2
9 where b.bonus_amt = 0
10 delete where (e.salary > 7500)
11 when not matched then
12 insert (b.employee_id, b.bonus_amt)
13 values (e.employee_id, e.salary * 0.1)
14 where (e.salary < 7500);


4 rows merged.
gyj@OCM> select * from dept60_bonuses;


EMPLOYEE_ID BONUS_AMT
----------- ----------
104 100
105 960
106 480
107 420
gyj@OCM> rollback ;


Rollback complete.


Merge语句完成了下面的这些事情。
插入了两行(员工id 106和107)。
更新了一行(员工id 105)
删除了一行(员工id 103)
一行保持不变(员工id 104)
如果没有Merge语句,你必须最少写3条不同的语句来完成同样的事情。


六、事务


1、什么是事务
(1)事务的定义是一个独立的逻辑工作单元:它由特定的一系列必须作为一个整体一起成功或失败的SQL语句组成。
(2)事务可以由多个数据操作语言(data manipulation language,DML)语句组成,但只能含有一个数据定义语言(data definition language,DDL)语句。


2、事务的ACID特征
(1)原子性(Atomicity)
事务中的所有动作要么都发生,要么都不发生
(2)一致性(Consistency)
事务将数据库从一种状态转变为下一种一致状态
(3)隔离性(Isolation)
一个事务的影响在该事务提交前对其他事务都不可见
(4)持久性(Durability)
事务一旦提交,其结果就是永久性的


3、事务的隔离级别
(1)ANSI/ISO SQL标准定义了4个不同的事务隔离级别
隔离级别 脏读 不可重复读 幻读
READ UNCOMMITTED 允许 允许 允许
READ COMMITTED X 允许 允许
REPEATABLE READ X X 允许
SERIALIZABLE     X X      X


(2)Oracle的隔离级别
①COMMIT;--不可重复读和幻读
②SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;--允许更新,可重复读
③SET TRANSACTION READ ONLY;--不允许更新,可重复读


4、事务的控制语句
(1)、Commit(提交);
①默认是以commit write wait immediate处理提交
②也可以使用Write Nowait来进行异步提交:ALTER SESSION SET COMMIT_WRITE = NOWAIT;


(2)Rollback(回滚);


gyj@OCM> select * from t2;


ID NAME SALARY
---------- ---------- ----------
1 gyj1 5000
2 gyj2 8000
3 gyj3


gyj@OCM> delete from t2;


3 rows deleted.


gyj@OCM> select * from t2;


no rows selected


gyj@OCM> rollback;


Rollback complete.


gyj@OCM> select * from t2;


ID NAME SALARY
---------- ---------- ----------
1 gyj1 5000
2 gyj2 8000
3 gyj3


(3)Savepoint(保存点)

回滚命令不一定每次都回滚的事务的开始。有时可能需要只回滚事务中的一部分操作。这就要用到保留点。


gyj@OCM> select * from t2;


ID NAME SALARY
---------- ---------- ----------
1 gyj1 5000
2 gyj2 8000
3 gyj3


gyj@OCM> delete from t2 where id=1;


1 row deleted.


gyj@OCM> savepoint t1;


Savepoint created.


gyj@OCM> delete from t2 where id=2;


1 row deleted.


gyj@OCM> savepoint t2;


Savepoint created.


gyj@OCM> delete from t2 where id=3;


1 row deleted.


gyj@OCM> savepoint t3;


Savepoint created.


gyj@OCM> select * from t2;


no rows selected


gyj@OCM> rollback to t2;


Rollback complete.


gyj@OCM> select * from t2;


ID NAME SALARY
---------- ---------- ----------
3 gyj3


(4)Set Transaction(设置事务)
(1)set transaction read only;
--注意:SYS用户并不受SET TRANSACTION READ ONLY的影响
(2) set transaction isolation level serializable


(5)Set Constraints(设置约束)
  (1)set constraint cons_t1 immediate;
  (2)set constraint cons_t1 deferred;


5、隐式提交和回滚
(1)DDL
   两次提交!!!


(2)退出
  ①异常退出--回滚,有时提交
②正常退出--提交


6、分布式事务
(1)Oracle中分布式事务的关键是数据库链接(database link)。
 select * from t1@annother_database;
create synonym t1 for t1@another_database;
update local_table set x=10;
update remoter_table@another_database set y=20;
commit;
(2)2PC分布式协议
  ①分布式协调器
②RECO:恢复进程,能够自动解决分布事务中的故障

7、自治事务
(1)自治事务定义:
在你的主事务中,你可以选择能够从其他事务中进行调用的独立事物。自治事务可以提交或回滚其修改而不影响调用它的主事务。


(2)自治事务主要用在:
①错误日志
②某些情况下的审计


(3)创建自治订单记录事务

①建订单表和订单日志表


gyj@OCM> create table order_log
2 (customer_id number not null,
3 order_id number not null,
4 order_date date not null,
5 order_outcome varchar2(10),
6 constraint order_log_pk primary key(customer_id,order_id,order_date)
7 );


Table created.


gyj@OCM> create table order_info
2 (streamid number not null,
3 customerid number not null,
4 opmoney number not null,
5 optime date not null,
6 constraint order_info_pk primary key(streamid)
7 );


Table created.


②建自治订单记录事务


gyj@OCM> create or replace procedure record_new_order(p_customer_id in number,p_order_id in number)
2 as
3 pragma autonomous_transaction;
4 begin
5 insert into order_log(customer_id,order_id,order_date) values (p_customer_id,p_order_id,sysdate);
6 commit;
7 end;
8 /


Procedure created.


③订单交易


gyj@OCM> create or replace procedure kzcz214001(customer_id in number,
2 order_id in number,
3 opmoney in number) as
4 begin
5 insert into order_info values(customer_id,order_id,opmoney,sysdate);
6 record_new_order(customer_id, order_id);
7 rollback;
8 end;
9 /


Procedure created.


④执行过程


gyj@OCM> exec kzcz214001(0002,0004,100);


PL/SQL procedure successfully completed.


查下面两个表已达到了想要的目的,记录了订单操作日志,而记录单订数据!


gyj@OCM> select * from order_log;


CUSTOMER_ID ORDER_ID ORDER_DAT ORDER_OUTC
----------- ---------- --------- ----------
2 4 25-FEB-13


gyj@OCM> select * from order_info;


no rows selected


七、一致性读
有关一致读,我们举一个非常简单的例子:
步1:以GYJ用户连接到数据库(这一步也可以叫打开一个会话)

步2:删除T3中的所有行:


gyj@OCM> delete from t2;


3 rows deleted.


步3:仍以GYJ用户,再打开一个会话(也就是说仍以GYJ用户连接到数据库)

步4:在第二个会话中,显示T2


gyj@OCM> select * from t2;


ID NAME SALARY
---------- ---------- ----------
1 gyj1 5000
2 gyj2 8000
3 gyj3

我先用DELETE删除了T2中的行,在另一会话中,我仍可以看到T2中的行,这就是因为在删除行前,ORACLE把前映像也就是未删除时的值,存进了回滚段中。在另一会话中读取T2时,是到回滚段中读取的T2表中数据。这就是一致读。在其他数据库中,会话2的“select * from t2”,是要被阻塞的。直到会话中的事务提交或回滚。读一致性保证在相同的数据:读不阻塞写,写不阻塞读!





**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name: guoyJoe

QQ: 252803295

Email: oracledba_cn@hotmail.com

Blog: http://blog.csdn.net/guoyJoe

ITPUB: http://www.itpub.net/space-uid-28460966.html

OCM: http://education.oracle.com/education/otn/YGuo.HTM
_____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

Oracle@Paradise  总群:127149411

Oracle@Paradise No.1群:177089463(已满)

Oracle@Paradise No.2群:121341761

Oracle@Paradise No.3群:140856036


分享到:
评论

相关推荐

    数据挖掘实验二201800301128丛铭毅.zip

    通过朴素贝叶斯完成了收入的预测

    数据挖掘实验报告.doc

    实验步骤 3.1数据预处理 本实验是针对威斯康辛州(原始)的乳腺癌数据集进行分类,该表含有Sample code number(样本代码),Clump Thickness(丛厚度),Uniformity of Cell Size(均匀的细胞大小), Uniformity of ...

    丛云科技Obase

    丛云科技Obase 丛云科技Obase 丛云科技Obase 丛云科技Obase 丛云科技Obase

    丛文公司软件介绍

    深圳市丛文科技有限公司是深圳市政府认定的高新技术企业及首批认定的软件企业之一。公司于1993年成立,历经十来年,公司已由最初的几个创业开拓者发展成为拥有自行研制、开发、生产一体的中型企业,我们开发的产品也...

    acm常用高级数据结构

    acm常用高级数据结构,以及一些源码 二分法与统计问题

    全锚索动压巷道丛柱加强支护技术研究

    在分析全锚索支护动压巷道围岩变形特征和丛柱加强支护机理的基础上,设计了相应加强支护方案,并采用数值模拟和现场实测进行了验证。研究发现:采用丛柱后巷道围岩变形量及矿压显现强度均大幅下降,两帮移近量、顶底板移...

    数据结构与算法分析 java语言描述 原书第3版

    数据结构与算法分析 java语言描述 原书第3版 中午版

    pyhton数据处理(Data Wrangling with Python)

    图 灵 程 序 设 计 丛 书 著[美] Jacqueline Kazil Katharine Jarmul,译张亮 吕家明; 本书采用基于项目的方法,介绍用 Python 完成数据获取、数据清洗、数据探索、数据呈现、数据规模化和自动化的过程。主要内容...

    丛文警卫中心调试手册

    丛文报警中心安装手册,方便调试的。仅限安装,使用说明见别的文档。

    数据仓库(第2版)

    【丛 书 名】 计算机科学丛书 &lt;br/&gt;本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(决策支持系统环境)以及在这种环境中的数据构造。主要内容包括数据仓库的设计与建造步骤,传统...

    大数据挖掘

    丛书名 : 大数据技术与应用 原书定价 : 75.00 主题词 : 数据采集 中图法分类号 : TP274 内容提要: 本书系统介绍了大数据挖掘的概念、原理、技术和应用, 具体内容包括: 认识和理解大数据 ; 大数据挖掘需要的相关技术 ...

    数据结构(讲义)数据结构讲义

    数据结构讲义数据结构讲义数据结构讲义数据结构讲义

    中江石泉丹参丛枝菌根真菌鉴定

    中江石泉丹参丛枝菌根真菌鉴定,朱毓霞,,目的:研究丹参根系是否有丛枝菌根真菌的侵染、侵染情况、丛枝菌根真菌的种类,以便通过接种丛枝菌根真菌来提高丹参的产量和质量

    数据挖掘导论 中文完整版

    数据挖掘导论(完整版)(全面介绍数据挖掘的理论和方法)基本信息原书名: Introduction to Data Mining原出版社: Addison Wesley作者: (美)Pang-Ning Tan Michael Steinbach Vipin Kumar译者: 范明 范宏建丛书名: ...

    HTML5兄弟连丛浩老师作品

    兄弟连丛浩老师作品,由于视频太大,所以只是传了视频里使用的PPT文档,重点讲解了HTML5以及CSS3的内容,精彩绝伦!

    中国各地级市碳排放(2000-2021年)(数据+计算方法+参考文献)

    参考文献:丛建辉,刘学敏,赵雪如.城市碳排放核算 的边界界定及其测度方法[J].中国人口·资源与环境,2014,24(04):19 -26. 数据预览: 中国各地级市碳排放(数据+计算方法+参考文献) (76 Bytes, 需要: RMB 26 元)

    延川南区块煤层气丛式井钻完井工艺技术

    为了实现延川南区块煤层气的经济高效开发,根据工区储层物性和地貌特征,选择较平坦的地区布置井场,采用丛式井组进行煤层气开采。基于延川南区块的丛式井开发特点,详细分析了"井工厂"钻完井工艺技术在丛式井开发中的...

    中国科学院大学现代智能优化方法韩丛英老师期末考试要点

    中国科学院大学现代智能优化方法韩丛英老师期末考试要点

Global site tag (gtag.js) - Google Analytics