Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

CÁC CÂU HỎI VỀ SQL

SQL Constraints chỉ định các quy tắc / giới hạn / hạn chế cho dữ liệu có trong bảng. Các ràng buộc SQL được chỉ định tại thời điểm tạo bảng hoặc sau khi tạo bảng bằng lệnh ALTER. Có hai loại ràng buộc ràng buộc cấp cột ràng buộc cấp bảng . Khi mức cột tên chỉ định, nó chỉ định một cột cụ thể. Trong một ràng buộc cấp bảng, nó chỉ định nhiều hơn một cột hoặc tất cả các cột trong bảng. KHÔNG ĐẦY ĐỦ: Nó đảm bảo rằng giá trị cột được chỉ định không thể là NULL. UNIQUE: Nó đảm bảo rằng mỗi giá trị trong cột là khác nhau. TỪ KHÓA CHÍNH: Khóa chính đảm bảo cả KHÔNG ĐẦY ĐỦ và DUY NHẤT. Nó có nghĩa là giá trị không được rỗng và nó phải khác nhau. Do đó, khóa chính xác định duy nhất từng bản ghi trong bảng. TỪ KHÓA NGOẠI LỆ: Nó xác định duy nhất bản ghi từ bảng khác. Khóa ngoại là một tham chiếu đến bảng khác và nó giống như khóa chính từ bảng khác. DEFAULT: Nó đặt giá trị mặc định khi giá trị không được cung cấp. KIỂM TRA: Nó đảm bảo rằng tất cả các giá trị trong cột đều thỏa mãn một điều kiện. INDEX: Chỉ mục được tạo và sử dụng để lấy dữ liệu từ cơ sở dữ liệu.

KHÔNG ĐẦY ĐỦ

Giá trị mặc định cho mọi cột là NULL. Ràng buộc Not Null đảm bảo giá trị cột không được rỗng. Ràng buộc này luôn đảm bảo cột có một số giá trị. Nó không cho phép chèn hoặc cập nhật bản ghi mà không đề cập đến giá trị cho trường này. Người dùng có thể thêm ràng buộc này vào một hoặc nhiều hoặc tất cả các cột của bảng. Cú pháp: TẠO TABLE tên_bảng (kiểu dữ liệu cột 1 NOT NULL, ………); Ví dụ: Tạo bảng STUDENT (student_id int NOT NULL, student_name varchar (10), student_dept varchar (10) NOT NULL, classear int); Trong ví dụ trên, NOT NULL ràng buộc được áp dụng trên hai cột student_id và student_dept trong bảng STUDENT khi tạo bảng. Mô tả bảng STUDENT cho biết cột nào có thể là NULL hoặc không thể NULL. Xem màn hình đầu ra tại thời điểm chèn giá trị trong bảng, ràng buộc không null không cho phép nhập giá trị NULL vào các trường áp dụng ràng buộc đó. UNIQUE Ràng buộc duy nhất tránh các mục trùng lặp trong cột. Một bảng có thể có nhiều khóa duy nhất. Cú pháp: TẠO TABLE tên_bảng (kiểu dữ liệu cột 1 DUY NHẤT, ………); Ví dụ: tạo bảng student (student_id int Unique, student_name varchar (10) unique, student_dept varchar (10) not null, Classear int); Bạn có thể viết truy vấn ở trên ở dạng khác. Tạo bảng student (student_id int, student_name varchar (10) unique, student_dept varchar (10) not null, classear int, unique (student_id)); # xác định nhiều cột duy nhất trong một lần Cú pháp: TẠO BẢNG_ Tên_bảng (kiểu dữ liệu cột 1, ……… cột n, tên_khoản ràng buộc Tên_chỉ (column1, ..)); Ví dụ: tạo bảng student (student_id int, student_name varchar (10) unique, student_dept varchar (10) not null, Classear int, Constraint cs_studentunique (student_id, student_name)); # Thêm Ràng buộc DUY NHẤT Sử dụng Câu lệnh ALTER Cú pháp: Thay đổi bảng table_nameAdd Unique (column_name); Ví dụ: Bảng thay thế StudentAdd Unique (student_id); Cú pháp: Alter table table_nameAdd Ràng buộc Ràng buộc_name Unique (column1, column2); Ví dụ: Bảng thay thế StudentAdd Constraint cs_student Unique (student_id, student_name); Khóa chính Khóa chính xác định duy nhất từng bản ghi trong cột, một bảng có một khóa chính. Khóa chính có thể là một cột hoặc nhóm cột. Cú pháp: Tạo tên_bảng_bảng (kiểu dữ liệu cột Khoá chính, kiểu dữ liệu column2, ………); Ví dụ: Tạo bảng STUDENT (student_id int Primary Key, student_name varchar (20), student_dept varchar (20), classear int); Cú pháp: Tạo tên_bảng bảng (kiểu dữ liệu cột1, kiểu dữ liệu cột2, kiểu dữ liệu ……… cột n, Khoá chính (tên_mạch)); Ví dụ: Tạo bảng Student (student_id int, student_name varchar (10), student_dept varchar (10), classear int, Primary key (student_id)); # Sử dụng câu lệnh ALTER Cú pháp: thay đổi bảng table_nameadd key chính (column_name); Ví dụ: thay đổi khóa chính của bảng studentadd (student_id); Cú pháp: thay đổi khóa chính của bảng table_namerop; Ví dụ: thay đổi khóa chính của bảng studentdrop;

ĐỊNH NGHĨA

Ràng buộc DEFAULT được sử dụng để đặt giá trị mặc định cho cột. Ràng buộc này có thể được áp dụng trên một cột hoặc nhiều cột. NULL là giá trị mặc định cho tất cả các cột trong bảng. Khi người dùng áp dụng không null hoặc ràng buộc chính trên bất kỳ cột nào thì giá trị mặc định của cột đó sẽ bị thay đổi. Cú pháp: Tạo tên_bảng bảng (Kiểu dữ liệu cột, ……. Giá trị mặc định của kiểu dữ liệu cột); Ví dụ: Tạo bảng student (student_id int, student_name varchar (20), student_dept varchar (20) default 'IT', Classear int); Màn hình đầu ra hiển thị giá trị mặc định ‘IT’ được gán cho cột student_dept. ‘NÓ’ giá trị được đặt thành cột student_dept khi không có giá trị nào được cung cấp cho cột student_dept . # Thêm ràng buộc DEFAULT trên cột bằng cách sử dụng Câu lệnh ALTER Cú pháp: thay đổi giá trị mặc định của bảng table_namealter column_nameset; Ví dụ: thay đổi bảng studentalter student_deptset default 'CS'; Cú pháp: thay đổi bảng table_namealter column_namerop default; Ví dụ: thay đổi bảng studentalter student_deptdrop default; Khóa ngoài Khóa ngoại là một liên kết giữa hai bảng. Khóa chính của một bảng có thể là tham chiếu / khóa ngoại của bảng khác. Bảng chứa khóa ngoại, được gọi là bảng con và bảng khác có khóa chính tham chiếu bảng đó là bảng mẹ. Người dùng phải nhập bản ghi trong bảng mẹ trước bảng con nếu không có dữ liệu nào trong bảng mẹ. Một bảng có thể có một khóa chính. Bảng DEPARTMENT
DEPT_ID DEPT_NAME DEPT_HEAD DEPT_LOC
0001 CNTT Ông. S.K. Mishra 06
0002 CS Ông. D.P. Patil 04
0003 EXTC Bà. S.K. Bhosale 05
0004 MECH Ông. A.B. Jha 07
Bảng SINH VIÊN
STUDENT_ID STUDENT_NAME DEPT_NAME LỚP HỌC
10001 RAM CNTT 02
10002 KIRAN CNTT 04
10003 NEHA CS 01
10004 ROOPA MECH 01
SINH VIÊN Khóa chính student_idForeign khóa dept_name DEPARTMENT Khóa chính dept_name Ở đây, DEPARTMENT là bảng mẹ và STUDENT là bảng con. Khóa chính của bảng DEPARTMENT được tham chiếu như khóa ngoại trong bảng sinh viên có tên là dept_name. Có thể hai bảng có thể có cột trùng tên. Giả sử trong bảng sinh viên dept_name có tên khác như student_dept hoặc anyting nó không tạo ra bất kỳ vấn đề gì. Bảng có thể chứa một hoặc nhiều khóa ngoại. # Áp dụng ràng buộc trong khi tạo bảng Cú pháp: // Bảng chính phải chứa khóa chính Tạo bảng tên_bảng (kiểu dữ liệu cột Khoá chính, Cột …… .., Kiểu dữ liệu cột n); // bảng con chứa khoá ngoại Tạo tên_bảng table_name (kiểu dữ liệu cột, …………, Khoá ngoại (tên_cột) Tham chiếu tên_bảng_khuẩn_khoảng_tên_bảng (tên_cột của khóa chính)); Ví dụ: Tạo bảng (dept_id int, dept_name varchar (30) Khóa chính, dept_head varchar (50), dept_loc int); Tạo bảng sinh viên (khóa chính student_id int, student_name varchar (30), dept_name varchar (30), classear int, Ngoại key (dept_name) Ban tham khảo (dept_name)); # Áp dụng ràng buộc khóa ngoại bằng câu lệnh Alter Cú pháp: thay đổi bảng table_nameadd khóa ngoại (tên_bảng) tham chiếu đến tên_bản_của_bạn (tên_bảng của khóa chính); Ví dụ: thay đổi bảng khóa ngoại studentadd (dept_name) tham chiếu bộ phận (dept_name); Cú pháp: thay đổi bảng table_nameadd ràng buộc ràng buộc tên_kèm khoá (tên_mạch) tham chiếu tên_bảng_trên_bảng (tên_bảng của khóa chính); Ví dụ: thay đổi bảng ràng buộc studentadd fk_studentforeign key (dept_name) tham chiếu bộ phận (dept_name); # Ràng buộc DROP Cú pháp: thay đổi bảng table_namerop khóa ngoài ràng buộc_name; Ví dụ: thay đổi bảng khóa ngoại studentdrop fk_student; Tạo bảng sinh viên (student_id int, student_name varchar (50) không phải null, student_dept varchar (30) mặc định 'IT', kiểm tra int Classear (Classear <5 và Classear> 0), khóa chính (student_id) );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Toán tử SQL không bằng với () cho người mới bắt đầu

  2. So sánh các lớp trừu tượng cơ sở dữ liệu PHP và các plugin CRUD

  3. Cách cài đặt Neo4j trên Ubuntu 20.04

  4. Mức độ tương thích và lớp lót ước tính số lượng

  5. Kết nối với 4D từ Java