কম্পিউটার টিউটোরিয়াল

ভিন্ন ডাটাবেস ও কলাম 가진 দুটি টেবিলের মধ্যে ডেটা স্থানান্তর কীভাবে করবেন?


এই কাজের জন্য INSERT SELECT স্টেটমেন্ট ব্যবহার করতে হয়। সিনট্যাক্স:

INSERT INTO yourDatabaseName1.yourTableName1(yourColumnName1, yourColumnName2, ....N) 
SELECT yourColumnName1, yourColumnName2, ....N 
FROM yourDatabaseName2.yourTableName2;

এখানে দুটি ডাটাবেস ব্যবহার করা হয়েছে: sample এবং test।

প্রথম টেবিল (test ডাটাবেসে 'send' নামক):

mysql> use test; 
Database changed 
mysql> create table send 
    -> ( 
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, 
    -> Name varchar(20) 
    -> ); 
Query OK, 0 rows affected (1.19 sec)

রেকর্ড যোগ করি।

mysql> insert into send(Name) values('John'); 
Query OK, 1 row affected (0.20 sec) 
mysql> insert into send(Name) values('Carol'); 
Query OK, 1 row affected (0.40 sec)

ডেটা দেখি।

mysql> select * from send;
+----+-------+ 
| Id | Name  | 
+----+-------+ 
| 1  | John  | 
| 2  | Carol | 
+----+-------+ 
2 rows in set (0.00 sec)

দ্বিতীয় টেবিল (sample ডাটাবেসে 'receive' নামক):

mysql> use sample; 
Database changed 
mysql> create table receive 
    -> ( 
    -> UserId int, 
    -> UserName varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.59 sec)

এখন ভিন্ন ডাটাবেস ও কলামের মধ্যে ডেটা স্থানান্তর করি।

mysql> insert into sample.receive(UserId, UserName) 
    -> select Id, Name from test.send; 
Query OK, 2 rows affected (0.21 sec) 
Records: 2 Duplicates: 0 Warnings: 0

ফলাফল যাচাই করি।

mysql> select * from receive;
+--------+----------+ 
| UserId | UserName | 
+--------+----------+ 
| 1      | John     | 
| 2      | Carol    | 
+--------+----------+ 
2 rows in set (0.00 sec)

  1. MySQL-এ দুটি টেবিলের মধ্যে অনুপস্থিত ভ্যালু খুঁজে বের করা

  2. MySQL-এ নতুন কলাম যোগ করে একই টেবিলের দুটি অন্য কলামের ডেটা দিয়ে সেটি পূরণ করা

  3. MySQL-এ UNION এবং ORDER BY ব্যবহার করে দুটি টেবিলের কলাম একসাথে সর্ট করা

  4. MySQL에서 데이터 삭제 후 AUTO_INCREMENT를 1부터 다시 시작하려면 TRUNCATE