Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để sao chép một bảng, chỉ mục và dữ liệu MySQL?

Để sao chép một bảng MySQL, các chỉ mục và dữ liệu, chúng ta có thể sử dụng “LIKE”. Tôi có một cơ sở dữ liệu ‘doanh nghiệp’ và trong đó nhiều bảng đã được tạo. Tại đây, chúng tôi có thể kiểm tra tất cả các bảng.

 mysql> SỬ DỤNG kinh doanh; Cơ sở dữ liệu đã thay đổi 

Hãy để chúng tôi hiển thị tất cả các bảng -

 mysql> HIỂN THỊ bảng; + ------------------------ + | Tables_in_business | + ------------------------ + | addcolumntable || autoincrement || autoincrementtable || bookindexes || chardemo || columnvaluenulldemo || dateadddemo || đã xóa || deleterecord || bản demo || demo1 || demoascii || demoauto || demobcrypt || demoemptyandnull || thất vọng || demoonreplace || Demoschema || khác biệtdemo || Dupatebookindexes || trùng lặp || có thể tuyển dụng || tồn tạirowdemo || findandreplacedemo || ngoại lai || Foreignntabledemo || groupdemo || groupdemo1 || incasesensdemo || int1demo | | intdemo || latandlangdemo || limitoffsetdemo || miliseconddemo || modcolumnnameemo || moddatatype || moneydemo || phim truyền hình || bàn của tôi || nonasciidemo || nthrecorddemo || nulldemo || nullwithselect || quá khứ || lịch sử || bảng chính || bảng chính1 || primarytabledemo || Sequeredemo || smallintdemo || cột dấu cách || sinh vien || tblstudent || tbluni || textdemo || texturl || trailingandleadingdemo || unsigneddemo || varchardemo || varchardemo1 || varchardemo2 || varcharurl || whereconditon | + ------------------------ + 63 hàng trong bộ (0,25 giây) 

Bây giờ, tôi đang sử dụng bảng STUDENT từ cơ sở dữ liệu trên. Truy vấn như sau -

 mysql> DESC sinh viên; 

Sau đây là kết quả

 + ------- + -------------- + ------ + ----- + --------- + ------- + | Lĩnh vực | Loại | Không có | Chìa khóa | Mặc định | Thêm | + ------- + -------------- + ------ + ----- + --------- + - ------ + | id | int (11) | CÓ | MUL | NULL | || Tên | varchar (100) | CÓ | MUL | NULL | | + ------- + -------------- + ------ + ----- + --------- + - ----- + 2 hàng trong bộ (0,20 giây) 

Bây giờ chúng ta hãy kiểm tra các bản ghi của bảng học sinh:

 CHỌN * từ sinh viên 

Đây là kết quả:

 + ------ + ------ + | id | Tên | + ------ + ------ + | 1 | John || 2 | Bob | + ------ + ------ + 2 hàng trong bộ (0,00 giây) 

Đây là truy vấn; chúng ta có thể tạo bản sao của các chỉ mục cũng như dữ liệu bằng cách sử dụng LIKE. Truy vấn là asfollows -

 mysql> TẠO bảng sao chép Sinh viên như sinh viên; Truy vấn OK, 0 hàng bị ảnh hưởng (1,57 giây) mysql> chèn cloneStudent SELECT * từ sinh viên; Truy vấn OK, 2 hàng bị ảnh hưởng (0,60 giây) / pre> 

Do đó, tôi đã tạo thành công clone cũng như dữ liệu. Bây giờ, chúng tôi có thể chứng minh rằng chúng tôi đã tạo bản sao của các chỉ mục cũng như dữ liệu với sự trợ giúp của lệnh DESC, như sau -

 mysql> DESC cloneStudent; 

Sau đây là kết quả

 + ------- + -------------- + ------ + ----- + --------- + ------- + | Lĩnh vực | Loại | Không có | Chìa khóa | Mặc định | Thêm | + ------- + -------------- + ------ + ----- + --------- + - ------ + | id | int (11) | CÓ | MUL | NULL | || Tên | varchar (100) | CÓ | MUL | NULL | | + ------- + -------------- + ------ + ----- + --------- + - ----- + 2 hàng trong bộ (0,00 giây) 

Hãy để chúng tôi kiểm tra xem bảng có được sao chép hay không.

 mysql> SELECT * từ cloneStudent; 

Sau đây là kết quả:

 + ------ + ------ + | id | Tên | + ------ + ------ + | 1 | John || 2 | Bob | + ------ + ------ + 2 hàng trong bộ (0,00 giây)