SQL là ngôn ngữ lập trình được sử dụng để quản lý và thao tác dữ liệu trong cơ sở dữ liệu. Nó thường được các nhà phân tích dữ liệu và nhà khoa học dữ liệu sử dụng để hiểu rõ hơn về các tập dữ liệu lớn. Bài viết này đề cập đến 13 câu lệnh SQL thiết yếu có thể được sử dụng để thực hiện 80% nhiệm vụ khoa học dữ liệu, chẳng hạn như lọc, sắp xếp, nhóm và tổng hợp dữ liệu. Nó hữu ích cho cả những người mới bắt đầu học SQL, vì nó cung cấp những hiểu biết có giá trị.
1. CHỌN
Câu lệnh SELECT được sử dụng để lấy thông tin từ cơ sở dữ liệu. Bạn nên tìm hiểu cách sử dụng CHỌN để lọc, sắp xếp và sắp xếp dữ liệu bằng các lệnh khác nhau như WHERE, ORDER BY và GROUP BY. Đây là một ví dụ về câu lệnh CHỌN:
1 2 3 4 | <span class="token keyword">SELECT</span> column1 <span class="token punctuation">,</span> column2 <span class="token punctuation">,</span> column3 <span class="token keyword">FROM</span> table_name <span class="token keyword">WHERE</span> condition <span class="token punctuation">;</span> |
Ví dụ này sẽ lấy tất cả dữ liệu từ các cột có tên là cột1, cột2 và cột3 từ bảng có tên là khách hàng trong đó độ tuổi của khách hàng từ 18 trở lên.
1 2 3 4 | <span class="token keyword">SELECT</span> <span class="token operator">*</span> <span class="token keyword">FROM</span> customers <span class="token keyword">WHERE</span> age <span class="token operator">>=</span> <span class="token number">18</span> <span class="token punctuation">;</span> |
2. THAM GIA
Để kết hợp dữ liệu từ hai hoặc nhiều bảng trong cơ sở dữ liệu, bạn nên sử dụng câu lệnh THAM GIA. Bạn cũng nên tìm hiểu cách sử dụng các loại THAM GIA khác nhau, chẳng hạn như INNER, LEFT, RIGHT và FULL OUTER, để lấy dữ liệu từ nhiều bảng. Ví dụ về câu lệnh THAM GIA bao gồm:
2.1. THAM GIA BÊN TRONG
INNER THAM GIA sẽ chỉ trả về các hàng có sự khớp giữa các cột trong cả hai bảng. Ví dụ: nếu bạn có hai bảng, Bảng A và Bảng B và cả hai bảng đều có một cột có tên là “ID”, INNER JOIN sẽ chỉ trả về các hàng có “ID” trong Bảng A khớp với “ID” trong Bảng B .
1 2 3 4 5 | <span class="token keyword">SELECT</span> orders <span class="token punctuation">.</span> order_id <span class="token punctuation">,</span> customers <span class="token punctuation">.</span> customer_name <span class="token keyword">FROM</span> orders <span class="token keyword">INNER</span> <span class="token keyword">JOIN</span> customers <span class="token keyword">ON</span> orders <span class="token punctuation">.</span> customer_id <span class="token operator">=</span> customers <span class="token punctuation">.</span> customer_id <span class="token punctuation">;</span> |
Điều này có nghĩa là một bảng mới sẽ được tạo kết hợp thông tin từ bảng đơn hàng và bảng customers
. Bảng mới sẽ chỉ bao gồm các cột order_id
và customer_name
, đồng thời sẽ chỉ bao gồm các hàng mà customer_id
trong bảng order khớp với customer_id
trong bảng customers.
2.2. CHỖ NỐI BÊN TRÁI
LEFT JOIN sẽ kết hợp hai bảng, bảng bên trái và bảng bên phải. Nó sẽ trả về tất cả các hàng từ bảng bên trái và mọi hàng phù hợp từ bảng bên phải. Nếu không có kết quả khớp trong bảng bên phải, kết quả sẽ bao gồm các giá trị trống. Ví dụ: nếu bạn có hai bảng, một bảng có thông tin khách hàng và một bảng có thông tin đơn đặt hàng, thì LEFT JOIN sẽ kết hợp hai bảng và trả về tất cả thông tin khách hàng, cùng với bất kỳ thông tin đơn hàng nào khớp với khách hàng.
1 2 3 4 5 | <span class="token keyword">SELECT</span> customers <span class="token punctuation">.</span> customer_name <span class="token punctuation">,</span> orders <span class="token punctuation">.</span> order_id <span class="token keyword">FROM</span> customers <span class="token keyword">LEFT</span> <span class="token keyword">JOIN</span> orders <span class="token keyword">ON</span> customers <span class="token punctuation">.</span> customer_id <span class="token operator">=</span> orders <span class="token punctuation">.</span> customer_id <span class="token punctuation">;</span> |
Trong ví dụ này, bảng khách hàng và bảng đơn đặt hàng được kết nối bởi cột customer_id
. Bảng kết quả sẽ bao gồm tất cả thông tin từ bảng customers và thông tin từ bảng order khớp với customer_id
. Nếu không có kết quả khớp trong bảng đơn hàng, cột order_id
sẽ trống.
2.3. QUYỀN THAM GIA
THAM GIA RIGHT sẽ lấy tất cả các hàng từ bảng bên phải và mọi hàng phù hợp từ bảng bên trái. Nếu không có kết quả khớp trong bảng bên trái, kết quả sẽ bao gồm các giá trị trống. Ví dụ:
1 2 3 4 5 | <span class="token keyword">SELECT</span> customers <span class="token punctuation">.</span> customer_name <span class="token punctuation">,</span> orders <span class="token punctuation">.</span> order_id <span class="token keyword">FROM</span> customers <span class="token keyword">RIGHT</span> <span class="token keyword">JOIN</span> orders <span class="token keyword">ON</span> customers <span class="token punctuation">.</span> customer_id <span class="token operator">=</span> orders <span class="token punctuation">.</span> customer_id <span class="token punctuation">;</span> |
Bảng đơn hàng và bảng customers
sẽ được nối với nhau bằng cột customer_id
. Bảng kết quả sẽ bao gồm tất cả các hàng từ bảng orders
và các hàng phù hợp từ bảng customers
. Nếu không có khách hàng nào có cùng customer_id
trong bảng khách hàng, thì customer_name
trong bảng kết quả sẽ trống.
2.4. THAM GIA BÊN NGOÀI
OUTER THAM GIA trong SQL là một cách để kết hợp hai bảng và lấy tất cả các hàng từ một hoặc cả hai bảng, ngay cả khi không có kết quả khớp giữa hai bảng. Có hai loại OUTER JOIN: LEFT OUTER JOIN và RIGHT OUTER JOIN.
Đây là một ví dụ về LEFT OUTER JOIN:
1 2 3 4 5 | <span class="token keyword">SELECT</span> customers <span class="token punctuation">.</span> customer_name <span class="token punctuation">,</span> orders <span class="token punctuation">.</span> order_id <span class="token keyword">FROM</span> customers <span class="token keyword">LEFT</span> <span class="token keyword">OUTER</span> <span class="token keyword">JOIN</span> orders <span class="token keyword">ON</span> customers <span class="token punctuation">.</span> customer_id <span class="token operator">=</span> orders <span class="token punctuation">.</span> customer_id <span class="token punctuation">;</span> |
Trong ví dụ này, bảng customers
và bảng đơn đặt hàng được kết nối bằng cột customer_id
. Bảng kết quả sẽ có tất cả thông tin từ bảng customers và thông tin từ bảng order khớp với customer_id
. Nếu không có thông tin phù hợp trong bảng orders
, cột order_id
sẽ trống.
Đây là một ví dụ về RIGHT OUTER THAM GIA:
1 2 3 4 5 | <span class="token keyword">SELECT</span> customers <span class="token punctuation">.</span> customer_name <span class="token punctuation">,</span> orders <span class="token punctuation">.</span> order_id <span class="token keyword">FROM</span> customers <span class="token keyword">RIGHT</span> <span class="token keyword">OUTER</span> <span class="token keyword">JOIN</span> orders <span class="token keyword">ON</span> customers <span class="token punctuation">.</span> customer_id <span class="token operator">=</span> orders <span class="token punctuation">.</span> customer_id <span class="token punctuation">;</span> |
Điều này có nghĩa là bảng orders
và bảng khách hàng sẽ được kết nối bằng cột customer_id
. Bảng kết quả sẽ có tất cả các hàng từ bảng orders
và các hàng từ bảng khách hàng khớp với nhau. Nếu không khớp, cột customer_name
sẽ trống.
Nếu cơ sở dữ liệu không hỗ trợ RIGHT OUTER JOIN
, có thể đạt được kết quả tương tự bằng cách sử dụng LEFT OUTER JOIN
và thay đổi thứ tự của các bảng.
3. Ở ĐÂU
Câu lệnh WHERE cho phép bạn chỉ chọn dữ liệu đáp ứng các tiêu chí nhất định. Bạn nên tập sử dụng để đảm bảo có thể lấy được dữ liệu cần thiết.
Sử dụng câu lệnh “where” trong SQL, chúng ta chỉ có thể chọn những nhân viên từ bảng “employees” làm việc trong bộ phận “Sales” và có mức lương lớn hơn 50.000 USD.
1 2 3 4 | <span class="token keyword">SELECT</span> name <span class="token punctuation">,</span> department <span class="token punctuation">,</span> salary <span class="token keyword">FROM</span> employees <span class="token keyword">WHERE</span> department <span class="token operator">=</span> <span class="token string">'Sales'</span> <span class="token operator">AND</span> salary <span class="token operator">></span> <span class="token number">50000</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ hiển thị tên, bộ phận và lương của tất cả nhân viên làm việc trong bộ phận Bán hàng và kiếm được hơn 50.000 đô la.
4. NHÓM THEO
Câu lệnh GROUP BY cho phép chúng ta nhóm các nhân viên theo bộ phận và tính lương trung bình cho mỗi bộ phận. Bằng cách này, chúng tôi có thể phân tích dữ liệu theo danh mục và hiểu rõ hơn về mức lương trong từng bộ phận.
1 2 3 4 | <span class="token keyword">SELECT</span> department <span class="token punctuation">,</span> <span class="token function">AVG</span> <span class="token punctuation">(</span> salary <span class="token punctuation">)</span> <span class="token keyword">as</span> avg_salary <span class="token keyword">FROM</span> employees <span class="token keyword">GROUP</span> <span class="token keyword">BY</span> department <span class="token punctuation">;</span> |
Truy vấn này sẽ đưa ra danh sách tất cả các phòng ban và mức lương trung bình cho mỗi phòng ban. Nó sẽ làm điều này bằng cách cộng tất cả tiền lương của nhân viên trong mỗi bộ phận và chia cho số nhân viên trong bộ phận đó. Nó sẽ nhóm các nhân viên theo bộ phận và sử dụng hàm AVG để tính lương trung bình cho từng bộ phận.
1 2 3 4 5 6 | department | avg_salary ----------------------- Sales | 65000 Marketing | 55000 Engineering| 80000 |
Bộ phận Bán hàng có mức lương trung bình là 65.000 đô la, bộ phận Tiếp thị có mức lương trung bình là 55.000 đô la và bộ phận Kỹ thuật có mức lương trung bình là 80.000 đô la.
5. CÓ
Câu lệnh GROUP BY được sử dụng để nhóm dữ liệu lại với nhau và câu lệnh HAVING được sử dụng để lọc dữ liệu được nhóm dựa trên các điều kiện nhất định. Điều quan trọng là phải hiểu cách sử dụng câu lệnh HAVING để lọc dữ liệu.
Điều này có nghĩa là chúng ta đang xem một bảng gọi là “đơn hàng” có các cột cho “order_id”, “customer_id”, “product_id” và “quantity”. Chúng tôi muốn tìm những khách hàng đã đặt tổng cộng ít nhất 50 đơn vị sản phẩm. Chúng ta có thể sử dụng mệnh đề GROUP BY để nhóm các đơn đặt hàng theo khách hàng và tính tổng số lượng của từng sản phẩm được đặt hàng bởi từng khách hàng. Sau đó, chúng tôi có thể sử dụng mệnh đề HAVING để lọc kết quả để chỉ bao gồm những khách hàng đã đặt hàng với tổng số lượng ít nhất là 50 đơn vị.
1 2 3 4 5 | <span class="token keyword">SELECT</span> customer_id <span class="token punctuation">,</span> <span class="token function">SUM</span> <span class="token punctuation">(</span> quantity <span class="token punctuation">)</span> <span class="token keyword">AS</span> total_quantity <span class="token keyword">FROM</span> orders <span class="token keyword">GROUP</span> <span class="token keyword">BY</span> customer_id <span class="token keyword">HAVING</span> <span class="token function">SUM</span> <span class="token punctuation">(</span> quantity <span class="token punctuation">)</span> <span class="token operator">>=</span> <span class="token number">50</span> <span class="token punctuation">;</span> |
Lấy danh sách tất cả các khách hàng đã đặt tổng cộng ít nhất 50 đơn vị sản phẩm, hiển thị tổng số lượng sản phẩm họ đã đặt. Đầu ra của truy vấn sẽ giống như thế này:
1 2 3 4 5 | customer_id | total_quantity --------------------------- 123 | 60 456 | 70 |
Trong ví dụ này, khách hàng 123 và khách hàng 456 đều đặt hàng ít nhất 50 đơn vị sản phẩm. Khách hàng 123 đặt mua 60 chiếc và khách hàng 456 đặt mua 70 chiếc.
6. Chức năng cửa sổ
Các hàm cửa sổ trong SQL được sử dụng để thực hiện các phép tính trên một nhóm hàng có liên quan đến hàng mà bạn hiện đang xem. Các hàm này được áp dụng cho một tập hợp con các hàng từ một bảng, dựa trên một điều kiện hoặc phép chia nhất định. Ví dụ về các hàm cửa sổ trong SQL bao gồm:
6.1. SỐ LƯỢNG HÀNG():
Hàm này sẽ cung cấp cho mỗi hàng trong một phân vùng một số duy nhất theo thứ tự. Cách sử dụng chức năng này là: ROW_NUMBER()
1 2 3 | <span class="token keyword">SELECT</span> column1 <span class="token punctuation">,</span> column2 <span class="token punctuation">,</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">,</span> ROW_NUMBER <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token keyword">OVER</span> <span class="token punctuation">(</span> <span class="token keyword">ORDER</span> <span class="token keyword">BY</span> column1 <span class="token punctuation">)</span> <span class="token keyword">AS</span> row_num <span class="token keyword">FROM</span> table_name <span class="token punctuation">;</span> |
Truy vấn này sẽ đưa ra một danh sách các kết quả với một cột bổ sung có tên là ” row_num
” hiển thị thứ tự của các kết quả dựa trên các giá trị trong ” column1
“.
6.2. TỔNG():
Hàm SUM() sẽ cộng tất cả các giá trị trong một cột trong một phân vùng. Cú pháp sử dụng hàm này là: SUM(column_name)
1 2 3 | <span class="token keyword">SELECT</span> column1 <span class="token punctuation">,</span> column2 <span class="token punctuation">,</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">,</span> <span class="token function">SUM</span> <span class="token punctuation">(</span> column3 <span class="token punctuation">)</span> <span class="token keyword">OVER</span> <span class="token punctuation">(</span> <span class="token keyword">PARTITION</span> <span class="token keyword">BY</span> column1 <span class="token punctuation">)</span> <span class="token keyword">AS</span> column3_sum <span class="token keyword">FROM</span> table_name <span class="token punctuation">;</span> |
Truy vấn này sẽ đưa ra kết quả với một cột bổ sung hiển thị tổng số “cột 3” cho mỗi nhóm dựa trên các giá trị của “cột 1”.
6.3. THỨ HẠNG():
Hàm RANK() sẽ xếp hạng cho mỗi hàng trong một phân vùng dựa trên các giá trị của một cột nhất định. Cách sử dụng chức năng này là: RANK(column_name)
.
1 2 3 | <span class="token keyword">SELECT</span> column1 <span class="token punctuation">,</span> column2 <span class="token punctuation">,</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">,</span> RANK <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token keyword">OVER</span> <span class="token punctuation">(</span> <span class="token keyword">PARTITION</span> <span class="token keyword">BY</span> column1 <span class="token keyword">ORDER</span> <span class="token keyword">BY</span> column3 <span class="token keyword">DESC</span> <span class="token punctuation">)</span> <span class="token keyword">AS</span> rank_num <span class="token keyword">FROM</span> table_name <span class="token punctuation">;</span> |
Truy vấn này sẽ đưa ra một danh sách kết quả có thêm một cột gọi là “rank_num” hiển thị thứ tự của từng hàng trong mỗi nhóm, dựa trên kích thước của “cột3” từ lớn nhất đến nhỏ nhất.
6.4. AVG():
Hàm này tính giá trị trung bình của một cột trong một phân vùng. Cú pháp của hàm AVG()
là:
1 2 3 | <span class="token keyword">SELECT</span> column1 <span class="token punctuation">,</span> column2 <span class="token punctuation">,</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">.</span> <span class="token punctuation">,</span> <span class="token function">AVG</span> <span class="token punctuation">(</span> column3 <span class="token punctuation">)</span> <span class="token keyword">OVER</span> <span class="token punctuation">(</span> <span class="token keyword">PARTITION</span> <span class="token keyword">BY</span> column1 <span class="token punctuation">)</span> <span class="token keyword">AS</span> column3_avg <span class="token keyword">FROM</span> table_name <span class="token punctuation">;</span> |
Truy vấn này sẽ cung cấp cho chúng tôi danh sách kết quả có thêm cột hiển thị giá trị trung bình của một cột cho mỗi nhóm dựa trên giá trị của cột khác. Cú pháp chính xác có thể khác nhau tùy thuộc vào cơ sở dữ liệu chúng tôi đang sử dụng.
7. CÔNG ĐOÀN
Toán tử UNION trong SQL cho phép bạn kết hợp kết quả của hai hoặc nhiều câu lệnh SELECT thành một tập hợp kết quả. Các câu lệnh SELECT phải có cùng số cột và kiểu dữ liệu phải khớp nhau. Mọi hàng trùng lặp sẽ bị xóa khỏi kết quả.
Đây là một ví dụ về cách sử dụng toán tử UNION trong SQL: Nếu chúng ta có hai bảng, khách hàng và nhân viên, với các cột cho tên và thành phố, chúng ta có thể sử dụng toán tử UNION để tạo danh sách tất cả những người sống ở Thành phố New York từ cả hai bảng .
1 2 3 4 5 6 7 8 | <span class="token keyword">SELECT</span> name <span class="token punctuation">,</span> city <span class="token keyword">FROM</span> customers <span class="token keyword">WHERE</span> city <span class="token operator">=</span> <span class="token string">'New York'</span> <span class="token keyword">UNION</span> <span class="token keyword">SELECT</span> name <span class="token punctuation">,</span> city <span class="token keyword">FROM</span> employees <span class="token keyword">WHERE</span> city <span class="token operator">=</span> <span class="token string">'New York'</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ đưa ra danh sách tất cả những người sống ở Thành phố New York, cả khách hàng và nhân viên. Nó sẽ lấy các khách hàng sống ở đó từ câu lệnh SELECT đầu tiên và các nhân viên từ câu lệnh SELECT thứ hai. Sau đó, nó sẽ kết hợp hai danh sách và loại bỏ bất kỳ danh sách trùng lặp nào.
Đầu ra của truy vấn sẽ giống như thế này:
1 2 3 4 5 6 7 | name | city ------------------- John Smith | New York Jane Doe | New York Bob Johnson | New York Samantha Lee| New York |
Trong ví dụ này, chúng ta có thể thấy rằng có bốn người sống ở thành phố New York, hai người từ bảng “customers” và hai người từ bảng “employees”, và toán tử UNION đã kết hợp kết quả của hai câu lệnh SELECT thành một tập kết quả duy nhất.
8. TẠO
Câu lệnh CREATE được sử dụng để tạo một bảng, dạng xem mới hoặc đối tượng cơ sở dữ liệu khác. Ví dụ: nếu chúng ta muốn tạo một bảng có tên là “customers” với các cột cho “id”, “name”, “email” và “phone”, chúng ta có thể sử dụng câu lệnh CREATE để thực hiện việc này.
1 2 3 4 5 6 7 | <span class="token keyword">CREATE</span> <span class="token keyword">TABLE</span> customers <span class="token punctuation">(</span> id <span class="token keyword">INT</span> <span class="token keyword">PRIMARY</span> <span class="token keyword">KEY</span> <span class="token punctuation">,</span> name <span class="token keyword">VARCHAR</span> <span class="token punctuation">(</span> <span class="token number">50</span> <span class="token punctuation">)</span> <span class="token punctuation">,</span> email <span class="token keyword">VARCHAR</span> <span class="token punctuation">(</span> <span class="token number">100</span> <span class="token punctuation">)</span> <span class="token punctuation">,</span> phone <span class="token keyword">VARCHAR</span> <span class="token punctuation">(</span> <span class="token number">20</span> <span class="token punctuation">)</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ tạo một bảng có tên “khách hàng” với bốn cột: “id”, “name”, “email” và “phone”. Cột “id” sẽ là một số nguyên và sẽ là khóa chính của bảng. Cột “tên” sẽ là một chuỗi có độ dài tối đa là 50 ký tự, cột “email” sẽ là một chuỗi có độ dài tối đa là 100 ký tự và cột “điện thoại” sẽ là một chuỗi có độ dài tối đa là 20 nhân vật.
Sau khi truy vấn được thực thi, chúng ta có thể thêm các hàng mới vào bảng “customers” và lấy dữ liệu từ bảng đó.
1 2 3 | <span class="token keyword">INSERT</span> <span class="token keyword">INTO</span> customers <span class="token punctuation">(</span> id <span class="token punctuation">,</span> name <span class="token punctuation">,</span> email <span class="token punctuation">,</span> phone <span class="token punctuation">)</span> <span class="token keyword">VALUES</span> <span class="token punctuation">(</span> <span class="token number">1</span> <span class="token punctuation">,</span> <span class="token string">'John Doe'</span> <span class="token punctuation">,</span> <span class="token string">'johndoe@example.com'</span> <span class="token punctuation">,</span> <span class="token string">'555-555-1234'</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
1 2 | <span class="token keyword">SELECT</span> <span class="token operator">*</span> <span class="token keyword">FROM</span> customers <span class="token punctuation">;</span> |
Truy vấn này sẽ thêm một khách hàng mới vào bảng khách hàng có ID là 1, tên là John Doe, email là johndoe@example.com
và số điện thoại là 555-555-1234
. Truy vấn thứ hai sẽ lấy tất cả các khách hàng từ bảng khách hàng, bao gồm cả khách hàng mới mà chúng ta vừa thêm vào.
1 2 3 4 | id | name | email | phone -------------------------------------------- 1 | John Doe | johndoe@example.com | 555-555-1234 |
Trong ví dụ này, chúng tôi đã tạo một bảng mới trong cơ sở dữ liệu và thêm một hàng mới vào bảng đó bằng cách sử dụng câu lệnh CREATE.
9. CHÈN
Câu lệnh INSERT được sử dụng để thêm dữ liệu mới vào bảng cơ sở dữ liệu. Bạn nên học cách sử dụng nó. Ví dụ, đây là cách bạn sử dụng câu lệnh INSERT trong SQL:
Chúng ta có thể thêm một sinh viên mới vào bảng “students” với ID là 1234, tên là “John Doe”, chuyên ngành “Khoa học máy tính” và điểm trung bình là 3,5 bằng cách sử dụng câu lệnh INSERT.
1 2 3 | <span class="token keyword">INSERT</span> <span class="token keyword">INTO</span> students <span class="token punctuation">(</span> id <span class="token punctuation">,</span> name <span class="token punctuation">,</span> major <span class="token punctuation">,</span> gpa <span class="token punctuation">)</span> <span class="token keyword">VALUES</span> <span class="token punctuation">(</span> <span class="token number">1234</span> <span class="token punctuation">,</span> <span class="token string">'John Doe'</span> <span class="token punctuation">,</span> <span class="token string">'Computer Science'</span> <span class="token punctuation">,</span> <span class="token number">3.5</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ thêm một sinh viên mới vào bảng “students” với ID, tên, chuyên ngành và điểm trung bình được chỉ định trong truy vấn.
1 2 3 4 | id | name | major | gpa ----------------------------------------- 1234 | John Doe | Computer Science | 3.5 |
Trong ví dụ này, chúng tôi đã thêm một sinh viên mới vào bảng “students” bằng cách sử dụng lệnh INSERT.
10. CẬP NHẬT
Câu lệnh UPDATE được sử dụng để thay đổi dữ liệu hiện có trong bảng cơ sở dữ liệu. Điều quan trọng là học cách sử dụng CẬP NHẬT để thay đổi giá trị của một hoặc nhiều cột trong bảng. Ví dụ, đây là một ví dụ về việc sử dụng câu lệnh UPDATE trong SQL:
Chúng ta có thể sử dụng câu lệnh UPDATE để thay đổi chuyên ngành và điểm trung bình của một sinh viên có ID là 1234 trong bảng “students”, bảng này có các cột cho “id”, “name”, “major” và “gpa”.
1 2 3 4 | <span class="token keyword">UPDATE</span> students <span class="token keyword">SET</span> major <span class="token operator">=</span> <span class="token string">'Mathematics'</span> <span class="token punctuation">,</span> gpa <span class="token operator">=</span> <span class="token number">3.7</span> <span class="token keyword">WHERE</span> id <span class="token operator">=</span> <span class="token number">1234</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ thay đổi chuyên ngành và điểm trung bình của sinh viên có ID là 1234 trong bảng sinh viên. Nó sẽ sử dụng mệnh đề WHERE để chỉ định hàng nào sẽ cập nhật và từ khóa SET để chỉ định cột nào sẽ cập nhật.
1 2 3 4 | id | name | major | gpa -------------------------------------- 1234 | John Doe | Mathematics | 3.7 |
Chúng tôi đã thay đổi chuyên ngành và điểm trung bình của một sinh viên trong bảng sinh viên bằng cách sử dụng câu lệnh CẬP NHẬT.
11. XÓA
Câu lệnh DELETE là một cách để xóa dữ liệu khỏi bảng cơ sở dữ liệu. Điều quan trọng là học cách sử dụng nó một cách chính xác. Ví dụ, đây là cách bạn sử dụng câu lệnh DELETE trong SQL:
Chúng ta có thể sử dụng câu lệnh DELETE để xóa một sinh viên có ID là 1234 khỏi bảng “students”, bảng này có các cột cho “id”, “name”, “major” và “gpa”.
1 2 3 | <span class="token keyword">DELETE</span> <span class="token keyword">FROM</span> students <span class="token keyword">WHERE</span> id <span class="token operator">=</span> <span class="token number">1234</span> <span class="token punctuation">;</span> |
Truy vấn này sẽ xóa hàng có ID là 1234 khỏi bảng “sinh viên”. Mệnh đề WHERE được sử dụng để chỉ định hàng nào sẽ bị xóa, trong trường hợp này là hàng có ID là 1234. Sau khi thực hiện truy vấn, hàng có ID là 1234 sẽ không còn trong bảng “sinh viên”.
1 2 3 4 | id | name | major | gpa -------------------------------------- 5678 | Jane Doe | Computer Science | 3.5 |
Trong ví dụ này, chúng tôi đã sử dụng câu lệnh DELETE để xóa một hàng khỏi bảng “sinh viên”.
12. THẢ
Câu lệnh DROP là một cách để xóa một bảng hoặc đối tượng khác khỏi cơ sở dữ liệu. Điều quan trọng là học cách sử dụng DROP để loại bỏ bất kỳ bảng hoặc đối tượng không cần thiết nào trong cơ sở dữ liệu. Cú pháp cho câu lệnh DROP khác nhau tùy thuộc vào loại đối tượng bị xóa, nhưng một số ví dụ phổ biến là:
12.1. BẢNG THẢ:
Câu lệnh DROP TABLE được sử dụng để xóa một bảng hiện có, bao gồm tất cả dữ liệu và chỉ mục của nó. Cú pháp cho tuyên bố này là:
1 2 | <span class="token keyword">DROP</span> <span class="token keyword">TABLE</span> table_name <span class="token punctuation">;</span> |
12.2. CHỈ SỐ THẢ:
Câu lệnh này cho biết bạn có thể sử dụng câu lệnh DROP INDEX để xóa chỉ mục khỏi bảng. Cú pháp cho tuyên bố này là:
1 2 | <span class="token keyword">DROP</span> <span class="token keyword">INDEX</span> index_name <span class="token keyword">ON</span> table_name <span class="token punctuation">;</span> |
12.3. XEM THẢ:
Câu lệnh này được sử dụng để xóa một khung nhìn hiện có. Cú pháp của câu lệnh DROP VIEW là:
1 2 | <span class="token keyword">DROP</span> <span class="token keyword">VIEW</span> view_name <span class="token punctuation">;</span> |
12.4. THỦ TỤC THẢ:
Câu lệnh này được sử dụng để xóa một thủ tục được lưu trữ hiện có. Cú pháp của câu lệnh DROP PROCEDURE là:
1 2 | <span class="token keyword">DROP</span> <span class="token keyword">PROCEDURE</span> procedure_name <span class="token punctuation">;</span> |
Xin lưu ý rằng cách bạn viết câu lệnh DROP có thể khác nhau tùy thuộc vào loại cơ sở dữ liệu bạn đang sử dụng. Hãy thật cẩn thận khi sử dụng câu lệnh DROP vì nó sẽ xóa đối tượng bạn chỉ định và tất cả dữ liệu cũng như chỉ mục liên quan đến đối tượng đó. Đảm bảo rằng bạn đã sao lưu dữ liệu của mình trước khi sử dụng câu lệnh DROP.
13. THAY ĐỔI
Câu lệnh ALTER được sử dụng để thay đổi giao diện của bảng cơ sở dữ liệu hoặc đối tượng cơ sở dữ liệu khác. Bạn nên học cách sử dụng ALTER để thêm hoặc xóa cột, thay đổi loại dữ liệu được lưu trữ trong cột hoặc thực hiện các thay đổi khác đối với bảng. Cú pháp của câu lệnh ALTER khác nhau tùy thuộc vào loại đối tượng được sửa đổi, nhưng một số ví dụ phổ biến là:
13.1. THAY ĐỔI BẢNG:
Câu lệnh ALTER TABLE có thể được dùng để thay đổi cấu trúc của một bảng hiện có, chẳng hạn như thêm hoặc xóa các cột, thay đổi kiểu dữ liệu hoặc đặt các ràng buộc. Cú pháp của câu lệnh ALTER TABLE là:
1 2 3 4 5 6 7 | <span class="token keyword">ALTER</span> <span class="token keyword">TABLE</span> table_name <span class="token keyword">ADD</span> column_name data_type <span class="token punctuation">[</span> <span class="token keyword">constraint</span> <span class="token punctuation">]</span> <span class="token punctuation">,</span> <span class="token keyword">MODIFY</span> column_name data_type <span class="token punctuation">[</span> <span class="token keyword">constraint</span> <span class="token punctuation">]</span> <span class="token punctuation">,</span> <span class="token keyword">DROP</span> column_name <span class="token punctuation">,</span> <span class="token keyword">ADD</span> <span class="token keyword">CONSTRAINT</span> constraint_name constraint_definition <span class="token punctuation">,</span> <span class="token keyword">DROP</span> <span class="token keyword">CONSTRAINT</span> constraint_name <span class="token punctuation">;</span> |
13.2. THAY ĐỔI CHỈ SỐ:
Câu lệnh ALTER INDEX có thể được sử dụng để thay đổi cấu trúc của một chỉ mục hiện có, chẳng hạn như thêm hoặc xóa cột hoặc thay đổi loại chỉ mục. Cú pháp cho tuyên bố này là:
1 2 3 4 | <span class="token keyword">ALTER</span> <span class="token keyword">INDEX</span> index_name <span class="token keyword">ADD</span> column_name <span class="token punctuation">,</span> <span class="token keyword">DROP</span> column_name <span class="token punctuation">;</span> |
13.3. THAY ĐỔI XEM:
Câu lệnh ALTER VIEW có thể được sử dụng để thay đổi định nghĩa của một dạng xem hiện có. Cú pháp của câu lệnh này là: ALTER VIEW view_name AS SELECT câu lệnh.
1 2 3 | <span class="token keyword">ALTER</span> <span class="token keyword">VIEW</span> view_name <span class="token keyword">AS</span> select_statement <span class="token punctuation">;</span> |
Cách bạn viết câu lệnh ALTER có thể khác nhau tùy thuộc vào loại cơ sở dữ liệu bạn đang sử dụng.