ডাটার পরিবর্তন-Update Data
টেবিলের পুরাতন তথ্য মুছে নতুন ডাটা / Replace করা।এক বা একাধিক রো বা কলাম, আংশিক বা প্রয়োজনমত ডাটা পরিবর্তন/সংশোধন করাই হচ্ছে
UPDATE.
Command Syntax
Update table Name
Set …….
Condition….;
SELECT কমান্ড দিয়ে EMP টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMP;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
---------- ---------- --------- ----------
--------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
আমরা সকল ডাটা দেখতে পেলাম, তবে বিশেষ করে লক্ষ করলাম
EMPNO=7934 EMPLOYEE Gi DEPTNO নং 10| আমরা এটিকে পরিবর্তন করে ২০ করতে চাই। নিচের মত করে কমান্ড দিতে হবে।
SQL> UPDATE EMP
SET
DEPTNO =20
1 row updated.
SELECT কমান্ড দিয়ে পুনরয় EMP টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMP;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
DEPTNO
---------- ---------- --------- ----------
--------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 20
14 rows selected.
লক্ষ করলাম EMPNO=7934 EMPLOYEE এর DEPTNO নং 10 পরিবর্তিত হয়ে
20 হয়েছে সুতরাং টেবিল আপডেট হয়েছে।
উপররে কমান্ডটি যদি কন্ডশিন বাদ দয়িে র্অথাৎ WHERE EMPNO=7934; না দয়িে প্রয়োগ করা হয় তবে কি হয়?
SQL> UPDATE EMP
SET
DEPTNO=20;
14 rows updated.
SELECT কমান্ড দিয়ে পুনরয় EMP টেবিলের ডাটা দেখে নেওয়া যাক।
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----------
---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN
SALESMAN 7698
20-FEB-81 1600 300
7521 WARD
SALESMAN 7698
22-FEB-81 1250 500
7566 JONES
MANAGER 7839 02-APR-81 2975
7654 MARTIN
SALESMAN 7698
28-SEP-81 1250 1400
7698 BLAKE
MANAGER 7839
01-MAY-81 2850
7782
7788 SCOTT
ANALYST 7566
19-APR-87 3000
7839 KING
PRESIDENT
17-NOV-81 5000
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
7876
7900 JAMES CLERK 7698 03-DEC-81 950
7902 FORD ANALYST 7566 03-DEC-81 3000
7934 MILLER CLERK 7782 23-JAN-82 1300
লক্ষ করলাম সকল DEPTNO নং পরিবর্তিত হয়ে 20 হয়েছে সুতরাং টেবিল আপডেট হয়েছে।
SELECT কমান্ড দিয়ে পুনরয় EMPLOYEE টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMPLOYEE;
EMPLOYEE_ID EMPLOYEE_N EMPLOYEE_ EMPLOYEE_NO
----------- ---------- --------- -----------
1 15-dec-67 100
2 Heemel 200
নিচের মত করে UPDATE কমান্ড প্রয়োগ করা হলো।
SQL> UPDATE EMPLOYEE
SET EMPLOYEE_NAME ='SHIMANTO'
WHERE EMPLOYEE_NO=200;
1 row updated.
ডাটার পরিবর্তন লক্ষ করা যাক।
SELECT কমান্ড দিয়ে পুনরয় EMPLOYEE টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMPLOYEE;
EMPLOYEE_ID EMPLOYEE_N EMPLOYEE_ EMPLOYEE_NO
----------- ---------- --------- -----------
1 15-dec-67 100
2 SHIMANTO 200
নিচের মত কন্ডিশন সহ UPDATE কমান্ড প্রয়োগ করা হলো।
SQL>UPDATE EMPLOYEE
SET (EMPLOYEE_NAME,EMPLOYEE_DATE)=
(SELECT EMPLOYEE_NAME,EMPLOYEE_DATE
FROM EMPLOYEE
WHERE EMPLOYEE_NO=200)
WHERE EMPLOYEE_NO=100
1 row updated.
SELECT কমান্ড দিয়ে পুনরয় EMPLOYEE টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMPLOYEE;
EMPLOYEE_ID EMPLOYEE_N EMPLOYEE_ EMPLOYEE_NO
----------- ---------- --------- -----------
1 SHIMANTO 11-SEP-00 100
2 SHIMANTO 11-SEP-00 200
নিচে EMP টেবিলে আরো একটি UPDATE কমান্ড প্রয়োগ করা হলো।
SQL> UPDATE EMP
SET DEPTNO=55
WHERE DEPTNO=10
3 rows updated.
SELECT কমান্ড দিয়ে পুনরয় EMP টেবিলের পরিবর্তন দেখে নেওয়া যাক। ডিপার্টমেন্ট নং ১০ পরিবর্তিত হয়ে ৫৫ হয়েছে।
SQL> SELECT * FROM EMP;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 55
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 55
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 55
14 rows selected.
নিচে EMP টেবিলে আরো একটি UPDATE কমান্ড প্রয়োগ করা হলো।
SQL> UPDATE EMP
SET COMM=500
WHERE COMM IS NULL;
10 rows updated.
SELECT কমান্ড দিয়ে পুনরয় EMP টেবিলের ডাটা দেখে নেওয়া যাক।
SQL> SELECT * FROM EMP;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 500 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 500 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 500 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 500 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 500 20
7839 KING PRESIDENT 17-NOV-81 5000 500 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 500 20
7900 JAMES CLERK 7698 03-DEC-81 950 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 500 20
7934 MILLER CLERK 7782 23-JAN-82 1300 500 10
14 rows selected.
টেবিলের পরিবর্তন লক্ষ করা গেল।