Thay thế các giá trị SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb' ) A; 1 và SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb' ) A; 1 thích hợp trong truy vấn bên dưới, sau đó thực hiện truy vấn để tạo truy vấn đổi tên
SELECT concat( 'RENAME TABLE ', concat( table_name, concat( ' TO ', concat(substr(table_name, ), ';') ) ) ) FROM information_schema.tables WHERE '' = table_schema;Bước 2
Thực hiện truy vấn đổi tên
ngăn xếp chồng lên nhau. com/a/6404187
Wow tôi đã trả lời một câu hỏi tương tự một năm trước
Tuy nhiên, câu hỏi của bạn là duy nhất
Nó đi từ đây
Nếu bạn đang đổi tên tất cả các bảng trong cơ sở dữ liệu SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb' ) A; 3, đây là truy vấn bạn cần
SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb' ) A;Chạy cái này trong HĐH và ghi nó vào tệp SQL. Sau đó, thực thi tệp SQL
mysql -u.. -p.. -AN -e"SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM (SELECT table_schema db,table_name old_tblname,substr(table_name,4) FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb') A" > BigRename.sql mysql -u.. -p.. < BigRename.sqlNếu bạn đang đổi tên tất cả các bảng trong tất cả các cơ sở dữ liệu, đây là truy vấn bạn cần
SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' ) A;Chạy cái này trong HĐH và ghi nó vào tệp SQL. Sau đó, thực thi tệp SQL
mysql -u.. -p.. -AN -e"SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM (SELECT table_schema db,table_name old_tblname,substr(table_name,4) FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_') A" > BigRename.sql mysql -u.. -p.. < BigRename.sqlTrong SQL, một số từ nhất định được dành riêng. Chúng được gọi là Từ khóa hoặc Từ dành riêng. Những từ này không thể được sử dụng làm định danh i. e. như tên cột trong SQL. Nhưng, cũng có một ngoại lệ cho quy tắc này. Trong bài viết này, chúng ta sẽ thảo luận cách sử dụng Từ dành riêng làm tên cột trong SQL và cách xóa tiền tố khỏi một trường. Đối với bài viết này, chúng tôi sẽ sử dụng Microsoft SQL Server làm cơ sở dữ liệu của chúng tôi
Bước 1. Tạo cơ sở dữ liệu. Đối với điều này, hãy sử dụng lệnh dưới đây để tạo cơ sở dữ liệu có tên GeekForGeek
Truy vấn
CREATE DATABASE GeeksForGeeksđầu ra
Bước 2. Sử dụng cơ sở dữ liệu GeekForGeek. Đối với điều này sử dụng lệnh dưới đây
Truy vấn
USE GeeksForGeeksđầu ra
Bước 3. Tạo một bảng FLIGHT bên trong cơ sở dữ liệu GeekForGeeks. Bảng này có 3 cột là PASSENGER_NAME, SEAT_NO và DESTINATION chứa tên, số ghế, mức lương và điểm đến của hành khách đi trên chuyến bay
Truy vấn
CREATE TABLE FLIGHT( PASSENGER_NAME VARCHAR(20), SEAT_NO INT, DESTINATION VARCHAR(10));đầu ra
Bước 4. Mô tả cấu trúc của bảng BAY
Truy vấn
________số 8đầu ra
Bước 5. Chèn 5 hàng vào bảng BAY
Truy vấn
INSERT INTO FLIGHT VALUES('MR. MR. VINAYAK',11,'DEL'); INSERT INTO FLIGHT VALUES('MR. MR. SINGH',06,'BOM'); INSERT INTO FLIGHT VALUES('MR. MR. KHAN',32,'KOL'); INSERT INTO FLIGHT VALUES('MR. MR. SHARMA',25,'CHD'); INSERT INTO FLIGHT VALUES('MR. MR. KUMAR',16,'LKO');đầu ra
Bước 6. Hiển thị tất cả các hàng của bảng BAY
Truy vấn
SELECT CONCAT('ALTER TABLE ',db,'.',old_tblname,' RENAME ',db,'.',new_tblname,';') FROM ( SELECT table_schema db, table_name old_tblname, substr(table_name,4) new_tblname FROM information_schema.tables WHERE SUBSTR(table_name,1,3)='dr_' AND table_schema = 'mydb' ) A; 0đầu ra
Bước 7. Rõ ràng là từ bảng BAY, một MR bổ sung. đã được thêm vào đầu tất cả các mục của cột PASSENGER_NAME do lỗi văn thư. Để xóa tiền tố này của 'MR. ‘, chúng ta cần sử dụng các từ khóa UPDATE, SET, RIGHT, LEN, và WHERE. Lệnh sau cập nhật mục nhập của cột bắt đầu bằng 'MR. ‘ với một chuỗi con của tên được trích xuất bằng từ khóa RIGHT. Chuỗi con bắt đầu từ một chỉ mục bằng độ dài của tiền tố (độ dài của 'MR. ‘=4) đến cuối chuỗi