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

MySQL-এ SELECT INTO-এর সমতুল্য: CREATE TABLE AS SELECT

MySQL-এ SQL Server-এর SELECT INTO সিনট্যাক্স নেই। এর সমতুল্য হল CREATE TABLE ... AS SELECT (CTAS) স্টেটমেন্ট। এটি ক্যোয়ারি ফলাফল থেকে নতুন টেবিল তৈরি করে।

সিনট্যাক্স

CREATE TABLE new_table_name AS 
SELECT * FROM existing_table_name;

উদাহরণ

CREATE TABLE select_into_demo (
    client_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    client_name VARCHAR(20),
    client_age INT
);

INSERT INTO select_into_demo (client_name, client_age) VALUES
('Larry', 34), ('Maxwell', 44), ('Bob', 38), ('David', 39);

নতুন টেবিল তৈরি (CTAS)

CREATE TABLE client_information AS 
SELECT * FROM select_into_demo;

ফলাফল যাচাই

SELECT * FROM client_information;
+-----------+-------------+-----------+
| client_id | client_name | client_age|
+-----------+-------------+-----------+
| 1         | Larry       | 34        |
| 2         | Maxwell     | 44        |
| 3         | Bob         | 38        |
| 4         | David       | 39        |
+-----------+-------------+-----------+

উন্নত ব্যবহার

নির্দিষ্ট কলাম ও শর্তসাপেক্ষ কপি

CREATE TABLE young_clients AS
SELECT client_id, client_name, client_age
FROM select_into_demo
WHERE client_age < 40;

কলাম রিনেম ও এক্সপ্রেশন

CREATE TABLE client_summary AS
SELECT client_id AS id,
       UPPER(client_name) AS name,
       client_age AS age,
       CASE WHEN client_age >= 40 THEN 'Senior' ELSE 'Junior' END AS category
FROM select_into_demo;

ইনডেক্স ও PRIMARY KEY সংরক্ষণ (MySQL 8.0.19+)

CREATE TABLE client_copy (
    PRIMARY KEY (client_id),
    INDEX idx_name (client_name)
) AS SELECT * FROM select_into_demo;

দ্রষ্টব্য

  • CTAS FOREIGN KEY, TRIGGER, PARTITION কপি করে না
  • AUTO_INCREMENT মান কপি হয়, কিন্তু পরবর্তী ইনসার্টের জন্য রিসেট হতে পারে
  • বড় টেবিলের জন্য CREATE TABLE ... LIKE + INSERT ... SELECT দ্রুত হতে পারে

ব্যাকআপ/আর্কাইভের জন্য প্যাটার্ন

CREATE TABLE orders_archive_2024 AS
SELECT * FROM orders 
WHERE order_date < '2024-01-01';
  1. MySQL-এ Java long-এর সমতুল্য ডেটা টাইপ কী?

  2. PHP-এ MySQL UNHEX() ফাংশনের সমতুল্য: hex2bin()

  3. Java-এ MySQL SMALLINT-এর সমতুল্য ডেটা টাইপ

  4. MySQL에서 데이터베이스의 테이블 개수 조회하기