SQLite đã thêm hỗ trợ đổi tên cột kể từ phiên bản 3. 25. 0 sử dụng câu lệnh
7 với cú pháp sauCode language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Code language: SQL [Structured Query Language] [sql]
ALTER TABLE table_name RENAME COLUMN current_name TO new_name;
Trong cú pháp này
- Đầu tiên, chỉ định tên của bảng sau từ khóa
7
Code language: SQL [Structured Query Language] [sql]CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
- Thứ hai, chỉ định tên của cột mà bạn muốn đổi tên sau từ khóa
9 và tên mới sau từ khóa
Code language: SQL [Structured Query Language] [sql]CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
0
Code language: SQL [Structured Query Language] [sql]INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Ví dụ SQLite ALTER TABLE RENAME COLUMN
Hãy lấy một ví dụ về việc sử dụng câu lệnh
1Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Đầu tiên, tạo một bảng mới có tên là
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Thứ hai, chèn một hàng mới vào bảng
2 bằng cách sử dụng câu lệnhCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
4Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Thứ ba, đổi tên cột
5 thành
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
6 bằng cách sử dụng câu lệnhCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
1Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
ALTER TABLE Locations RENAME COLUMN Address TO Street;
Thứ tư, truy vấn dữ liệu từ bảng
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
SELECT * FROM Locations;
đầu ra
Code language: Shell Session [shell]
LocationId Street City State Country ---------- --------------------- ---------- ---------- ---------- 1 3960 North 1st Street San Jose CA USA
Cuối cùng, hiển thị lược đồ của bảng
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: Shell Session [shell]
.schema Locations
đầu ra
Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Street TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Cách cũ để đổi tên cột
SQLite không hỗ trợ cú pháp
1 trước phiên bản 3. 25. 0Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Nếu bạn đang sử dụng SQLite với phiên bản thấp hơn 3. 25. 0 và không thể nâng cấp, thì bạn nên làm theo các bước sau để đổi tên cột
- Đầu tiên, bắt đầu một giao dịch
- Thứ hai, tạo một bảng mới có cấu trúc giống như bảng ban đầu ngoại trừ cột mà bạn muốn đổi tên
- Thứ ba, sao chép dữ liệu từ bảng gốc sang bảng mới
- Thứ tư, thả bảng gốc
- Thứ năm, đổi tên bảng mới thành bảng gốc
- Cuối cùng, cam kết giao dịch
Ví dụ đổi tên cột
Câu lệnh sau tạo lại bảng
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
DROP TABLE IF EXISTS Locations; CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, State TEXT NOT NULL, City TEXT NOT NULL, Country TEXT NOT NULL ];
Và câu lệnh
4 này chèn một hàng mới vào bảngCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Giả sử bạn muốn thay đổi cột
5 thànhCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
6Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
Đầu tiên, bắt đầu một giao dịch mới
0Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Thứ hai, tạo một bảng mới có tên là
6 có cùng cấu trúc với bảngCode language: SQL [Structured Query Language] [sql]
ALTER TABLE Locations RENAME COLUMN Address TO Street;
2 ngoại trừ cộtCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
5Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
1
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Code language: SQL [Structured Query Language] [sql]
Thứ ba, sao chép dữ liệu từ bảng
2 sangCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
6Code language: SQL [Structured Query Language] [sql]
ALTER TABLE Locations RENAME COLUMN Address TO Street;
2Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Thứ tư, bỏ bảng
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
3Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Thứ năm, đổi tên bảng
6 thànhCode language: SQL [Structured Query Language] [sql]
ALTER TABLE Locations RENAME COLUMN Address TO Street;
2Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
4Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Cuối cùng, cam kết giao dịch
5Code language: SQL [Structured Query Language] [sql]
CREATE TABLE Locations[ LocationId INTEGER PRIMARY KEY, Address TEXT NOT NULL, City TEXT NOT NULL, State TEXT NOT NULL, Country TEXT NOT NULL ];
Nếu bạn truy vấn bảng
2, bạn sẽ thấy rằng cộtCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
5 đã được đổi tên thànhCode language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];
6Code language: SQL [Structured Query Language] [sql]
INSERT INTO Locations[Address,City,State,Country] VALUES['3960 North 1st Street','San Jose','CA','USA'];