Hướng dẫn mã hóa dữ liệu trong sql và mysql năm 2024
Cơ sở dữ liệu SQL được cài đặt với tất cả các lệnh cần thiết để thêm, sửa đổi, xóa và truy vấn dữ liệu. Hướng dẫn dưới dạng danh sách này cung cấp một tài liệu tham khảo nhanh cho một số lệnh phổ biến trong SQL. Show
Cách sử dụng hướng dẫn này:
Lưu ý: mặc dù SQL được công nhận là một tiêu chuẩn, hầu hết các chương trình cơ sở dữ liệu SQL có các phần mở rộng độc quyền riêng của họ. Hướng dẫn này sử dụng MySQL làm hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) ví dụ, nhưng các lệnh được đưa ra sẽ hoạt động với các chương trình cơ sở dữ liệu quan hệ khác, bao gồm PostgreSQL, MariaDB và SQLite. Khi có sự khác biệt đáng kể giữa các RDBMS, chúng tôi đã bao gồm các lệnh thay thế. Mở cửa sổ dòng lệnh cơ sở dữ liệu (sử dụng xác thực Socket/Trust)Mặc định trên Ubuntu 18.04, người dùng root MySQL có thể xác thực mà không cần mật khẩu bằng cách sử dụng lệnh sau: sudo mysql Để mở cửa sổ dòng lệnh PostgreSQL, sử dụng lệnh sau. Ví dụ này sẽ đăng nhập với tài khoản postgres, đó là vai trò superuser mặc định, nhưng bạn có thể thay thế bằng bất kỳ vai trò đã tạo trước nào: sudo -u Mở cửa sổ dòng lệnh cơ sở dữ liệu (sử dụng xác thực mật khẩu)Nếu người dùng root MySQL được đặt để xác thực bằng mật khẩu, bạn làm như vậy bằng lệnh sau: mysql -u root -p Nếu bạn đã thiết lập một tài khoản người dùng không phải là root cho cơ sở dữ liệu của mình, bạn cũng có thể sử dụng phương pháp này để đăng nhập bằng tài khoản đó: mysql -u Lệnh trên sẽ yêu cầu bạn nhập mật khẩu sau khi chạy nó. Nếu bạn muốn cung cấp mật khẩu của mình là một phần của lệnh, ngay sau tùy chọn -p, hãy điền mật khẩu của bạn mà không có khoảng trống giữa chúng: mysql -u root -p`password` Tạo cơ sở dữ liệuLệnh sau tạo một cơ sở dữ liệu với các thiết lập mặc định. CREATE DATABASE Nếu bạn muốn cơ sở dữ liệu của bạn sử dụng bộ ký tự và phân loại khác với các thiết lập mặc định, bạn có thể chỉ định chúng bằng cú pháp sau: CREATE DATABASE Liệt kê cơ sở dữ liệuĐể xem các cơ sở dữ liệu tồn tại trong cài đặt MySQL hoặc MariaDB của bạn, chạy lệnh sau: SHOW DATABASES; Trong PostgreSQL, bạn có thể xem các cơ sở dữ liệu đã được tạo bằng lệnh sau: Xóa cơ sở dữ liệuĐể xóa một cơ sở dữ liệu, bao gồm bất kỳ bảng và dữ liệu nào trong đó, chạy một lệnh theo cấu trúc sau: DROP DATABASE IF EXISTS database; Tạo người dùngĐể tạo một hồ sơ người dùng cho cơ sở dữ liệu mà không chỉ định bất kỳ đặc quyền nào cho nó, chạy lệnh sau: CREATE USER username IDENTIFIED BY 'password'; PostgreSQL sử dụng cú pháp tương tự, nhưng hơi khác nhau một chút: sudo -u 0 Nếu bạn muốn tạo một người dùng mới và cấp cho họ các đặc quyền trong một lệnh, bạn có thể làm như vậy bằng cách sử dụng câu lệnh mysql -u root -p`password` 4. Lệnh sau tạo một người dùng mới và cấp cho họ đầy đủ quyền truy cập vào mọi cơ sở dữ liệu và bảng trong RDBMS: sudo -u 1 Lưu ý từ khóa mysql -u root -p`password` 5 trong câu lệnh mysql -u root -p`password` 4 trước đây. Trong hầu hết các RDBMS, từ khóa này là tùy chọn, và câu lệnh này có thể được viết tương đương như: sudo -u 2 Tuy nhiên, chú ý từ khóa mysql -u root -p`password` 5 là bắt buộc khi bật chế độ SQL để cấp quyền. Xóa người dùngSử dụng cú pháp sau để xóa hồ sơ người dùng cơ sở dữ liệu: sudo -u 3 Lưu ý: lệnh này mặc định sẽ không xóa bất kỳ bảng nào được tạo bởi người dùng đã bị xóa, và cố gắng truy cập vào các bảng đó có thể dẫn đến lỗi. Chọn một cơ sở dữ liệuTrước khi bạn có thể tạo một bảng, bạn phải thông báo cho RDBMS biết cơ sở dữ liệu mà bạn muốn tạo bảng trong đó. Trong MySQL và MariaDB, làm như vậy bằng cú pháp sau: sudo -u 4 Trong PostgreSQL, bạn phải sử dụng lệnh sau để chọn cơ sở dữ liệu mong muốn: sudo -u 5 Tạo một bảng Cấu trúc lệnh sau tạo một bảng mới với tên table, và bao gồm hai cột, mỗi cột có kiểu dữ liệu cụ thể của riêng nó: CREATE TABLE mysql -u root -p`password` 8 ( mysql -u root -p`password` 9 CREATE DATABASE 0, CREATE DATABASE 1 CREATE DATABASE 2 ); Xóa một bảngĐể xóa một bảng hoàn toàn, bao gồm tất cả dữ liệu của nó, chạy lệnh sau: sudo -u 6 Chèn dữ liệu vào bảng Sử dụng cú pháp sau để điền dữ liệu vào một hàng của bảng: Bạn cũng có thể điền dữ liệu vào bảng với nhiều hàng sử dụng một lệnh duy nhất, như sau: sudo -u 7 Xóa dữ liệu từ bảngĐể xóa một hàng dữ liệu từ bảng, sử dụng cấu trúc lệnh sau. Lưu ý rằng giá trị (value) nên là giá trị được chứa trong cột đã chỉ định trong hàng bạn muốn xóa: sudo -u 8 Thay đổi dữ liệu trong bảngSử dụng cú pháp sau để cập nhật dữ liệu trong một hàng đã cho. Lưu ý rằng mệnh đề WHERE ở cuối lệnh cho biết SQL nên cập nhật hàng nào. Giá trị (value) là giá trị được chứa trong cột_A tương ứng với hàng bạn muốn thay đổi. sudo -u 9 Chèn một cộtCú pháp sau sẽ thêm một cột mới vào bảng: mysql -u root -p 0 Xóa một cộtMột lệnh tuân theo cấu trúc này sẽ xóa một cột từ bảng: mysql -u root -p 1 Thực hiện truy vấn cơ bảnĐể xem tất cả dữ liệu từ một cột duy nhất trong bảng, sử dụng cú pháp sau: mysql -u root -p 2 Để truy vấn nhiều cột từ cùng một bảng, phân tách tên cột bằng dấu phẩy: SELECT CREATE DATABASE 3, CREATE DATABASE 1 FROM CREATE DATABASE 5; Bạn cũng có thể truy vấn tất cả các cột trong một bảng bằng cách thay thế tên cột bằng dấu sao (*). Trong SQL, dấu sao hoạt động như các trình giữ chỗ để đại diện cho "tất cả": mysql -u root -p 3 Sử dụng mệnh đề WHEREBạn có thể hạn chế kết quả của một truy vấn bằng cách thêm mệnh đề CREATE DATABASE 6 vào câu lệnh CREATE DATABASE 7, như sau: mysql -u root -p 4 Ví dụ, bạn truy vấn tất cả dữ liệu từ một hàng duy nhất bằng cú pháp như sau. Lưu ý rằng giá trị ( CREATE DATABASE
mysql -u root -p 5 Làm việc với toán tử so sánhMột toán tử so sánh trong mệnh đề WHERE xác định cách cột đã chỉ định nên được so sánh với giá trị. Dưới đây là một số toán tử so sánh phổ biến trong SQL: Toán tử Chức năng CREATE DATABASE 9 kiểm tra sự bằng nhau CREATE DATABASE 0 kiểm tra sự không bằng nhau CREATE DATABASE 1 kiểm tra sự nhỏ hơn CREATE DATABASE 2 kiểm tra sự lớn hơn CREATE DATABASE 3 kiểm tra sự nhỏ hơn hoặc bằng CREATE DATABASE 4 kiểm tra sự lớn hơn hoặc bằng CREATE DATABASE 5 kiểm tra xem giá trị có nằm trong khoảng đã cho hay không CREATE DATABASE 6 kiểm tra xem giá trị của hàng có nằm trong một tập giá trị đã chỉ định hay không CREATE DATABASE 7 kiểm tra xem có tồn tại các hàng dữ liệu thoả mãn điều kiện đã chỉ định hay không CREATE DATABASE 8 kiểm tra xem một giá trị có khớp với một chuỗi đã chỉ định hay không CREATE DATABASE 9 kiểm tra giá trị NULL SHOW DATABASES; 0 kiểm tra giá trị khác NULL Làm việc với WildcardSQL cho phép sử dụng ký tự Wildcard. Chúng hữu ích khi bạn muốn tìm một mục cụ thể trong một bảng nhưng không chắc chắn về mục đó là gì. Dấu sao SHOW DATABASES; 1 là các giữ chỗ đại diện cho "all", điều này sẽ truy vấn tất cả các cột trong một bảng: mysql -u root -p 6 Dấu phần trăm ( SHOW DATABASES;
mysql -u root -p 7 Dấu gạch dưới (_) được sử dụng để đại diện cho một ký tự không biết duy nhất: mysql -u root -p 8 Đếm các mục trong một cộtHàm SHOW DATABASES; 3 được sử dụng để tìm số lượng các mục trong một cột đã cho. Cú pháp sau sẽ trả về tổng số giá trị trong cột: mysql -u root -p 9 Bạn có thể hạn chế kết quả của hàm COUNT bằng cách thêm mệnh đề WHERE, như sau: mysql -u 0 Tìm giá trị trung bình trong một cộtHàm AVG được sử dụng để tìm giá trị trung bình (trong trường hợp này, trung bình cộng) của các giá trị trong một cột cụ thể. Lưu ý rằng hàm AVG chỉ hoạt động với các cột chứa giá trị số; khi sử dụng trên một cột chứa giá trị chuỗi, nó có thể trả về lỗi hoặc 0: mysql -u 1 Tìm tổng các giá trị trong một cộtHàm SHOW DATABASES; 4 được sử dụng để tính tổng các giá trị số trong một cột: mysql -u 2 Tương tự như hàm SHOW DATABASES; 5, nếu bạn chạy hàm SHOW DATABASES; 4 trên một cột chứa giá trị chuỗi, nó có thể trả về lỗi hoặc chỉ SHOW DATABASES; 7, tùy thuộc vào RDBMS của bạn. Tìm giá trị lớn nhất trong một cộtĐể tìm giá trị số lớn nhất trong một cột hoặc giá trị cuối cùng theo thứ tự chữ cái, sử dụng hàm SHOW DATABASES; 8: mysql -u 3 Tìm giá trị nhỏ nhất trong một cộtĐể tìm giá trị số nhỏ nhất trong một cột hoặc giá trị đầu tiên theo thứ tự chữ cái, sử dụng hàm SHOW DATABASES; 9: mysql -u 4 Sắp xếp kết quả với mệnh đề ORDER BYMệnh đề DROP DATABASE IF EXISTS database; 0 được sử dụng để sắp xếp kết quả truy vấn. Cú pháp truy vấn sau trả về giá trị từ mysql -u root -p`password` 9 và CREATE DATABASE 1 và sắp xếp kết quả theo giá trị trong mysql -u root -p`password` 9 theo thứ tự tăng dần hoặc, với giá trị chuỗi, theo thứ tự bảng chữ cái: mysql -u 5 Để thực hiện cùng hành động, nhưng sắp xếp kết quả theo thứ tự giảm dần hoặc đảo ngược thứ tự bảng chữ cái, thêm DROP DATABASE IF EXISTS database; 4 vào truy vấn: mysql -u 6 Sắp xếp kết quả với mệnh đề GROUP BYMệnh đề DROP DATABASE IF EXISTS database; 5 tương tự như mệnh đề DROP DATABASE IF EXISTS database; 0, nhưng nó được sử dụng để sắp xếp kết quả của một truy vấn bao gồm một hàm tổng hợp như DROP DATABASE IF EXISTS database; 7, SHOW DATABASES; 8, SHOW DATABASES; 9, hoặc SHOW DATABASES; 4. Một mình, các hàm tổng hợp được mô tả trong phần trước chỉ trả về một giá trị duy nhất. Tuy nhiên, bạn có thể xem kết quả của một hàm tổng hợp được thực hiện trên tất cả các giá trị khớp trong một cột bằng cách bao gồm mệnh đề DROP DATABASE IF EXISTS database; 5. Cú pháp sau sẽ đếm số giá trị khớp trong CREATE DATABASE 1 và nhóm chúng theo thứ tự tăng dần hoặc theo thứ tự bảng chữ cái: mysql -u 7 Để thực hiện cùng hành động, nhưng nhóm kết quả theo thứ tự giảm dần hoặc đảo ngược thứ tự bảng chữ cái, thêm DROP DATABASE IF EXISTS database; 4 vào truy vấn: mysql -u 8 Truy vấn nhiều bảng với mệnh đề JOINMệnh đề CREATE USER username IDENTIFIED BY 'password'; 4 được sử dụng để tạo các tập kết quả kết hợp các hàng từ hai hoặc nhiều bảng: mysql -u 9 Đây là một ví dụ về mệnh đề CREATE USER username IDENTIFIED BY 'password'; 5. INNER JOIN sẽ trả về tất cả các bản ghi có giá trị khớp trong cả hai bảng, nhưng sẽ không hiển thị bất kỳ bản ghi nào không có giá trị khớp. Có thể trả về tất cả các bản ghi từ một trong hai bảng, bao gồm các giá trị không có sự khớp tương ứng trong bảng khác, bằng cách sử dụng mệnh đề OUTER JOIN. Mệnh đề OUTER JOIN được viết dưới dạng CREATE USER username IDENTIFIED BY 'password'; 6 hoặc CREATE USER username IDENTIFIED BY 'password'; 7. Mệnh đề CREATE USER username IDENTIFIED BY 'password'; 6 trả về tất cả các bản ghi từ bảng "trái" và chỉ các bản ghi khớp từ bảng "phải". Trong ngữ cảnh của mệnh đề OUTER JOIN, bảng "trái" là bảng được tham chiếu trong mệnh đề CREATE USER username IDENTIFIED BY 'password'; 9, và bảng "phải" là bất kỳ bảng nào được tham chiếu sau câu JOIN. Sau đây là ví dụ sẽ hiển thị tất cả các bản ghi từ sudo -u 00 và chỉ các giá trị khớp từ sudo -u 01. Bất kỳ giá trị nào không có sự khớp trong table_2 sẽ xuất hiện là NULL trong tập kết quả: mysql -u root -p`password` 0 Mệnh đề RIGHT JOIN hoạt động giống như LEFT JOIN, nhưng nó in tất cả các kết quả từ bảng "phải" và chỉ các giá trị khớp từ bên trái: mysql -u root -p`password` 1 Kết hợp nhiều câu SELECT với mệnh đề UNIONToán tử UNION hữu ích để kết hợp kết quả của hai (hoặc nhiều hơn) câu SELECT thành một tập kết quả duy nhất: mysql -u root -p`password` 2 Ngoài ra, mệnh đề UNION có thể kết hợp hai (hoặc nhiều hơn) câu SELECT truy vấn các bảng khác nhau vào cùng một tập kết quả: mysql -u root -p`password` 3 Kết luậnHướng dẫn này đề cập đến một số câu lệnh phổ biến trong SQL được sử dụng để quản lý cơ sở dữ liệu, người dùng và bảng, và truy vấn nội dung trong các bảng đó. Tuy nhiên, có nhiều kết hợp của mệnh đề và toán tử tạo ra các tập kết quả duy nhất. Mọi người cũng tìm kiếm: rdbms trong sql, tách chuỗi sau dấu phẩy sql, các toán tử trong sql, hàm avg trong sql, các lệnh trong sql, use trong sql, viết các lệnh khởi tạo cơ sở dữ liệu, tạo cơ sở dữ liệu trong sql, lệnh go trong sql. |