Hạn chế tên cột MySQL
Trong khóa học này, chúng tôi mong bạn sử dụng phiên bản MySQL của SQL. Có các quy ước đặt tên khác nhau trong SQL, nhưng để đảm bảo tính nhất quán, chúng tôi yêu cầu bạn tuân theo các nguyên tắc mã hóa dành riêng cho khóa học của chúng tôi Show
Như với bất kỳ ngôn ngữ nào khác, tên phải mang tính mô tả và dễ phân biệt. Trong SQL, điều này đặc biệt áp dụng cho tên cơ sở dữ liệu, bảng và tên thuộc tính (quy ước bí danh là một ngoại lệ đối với quy tắc này, sẽ được thảo luận sau trong phần này) Quy ước về vỏ thưCác lệnh SQL, kiểu dữ liệu và các ràng buộc (e. g. CREATE TABLE DogBreeds( breed_id INT, breed_name VARCHAR(20), PRIMARY KEY (breed_id) ); SELECT breed_name FROM DogBreeds WHERE breed_name LIKE 'great%';0, v.v. ) phải ở dạng ALLCAPS. Viết lệnh bằng chữ thường là hợp pháp, nhưng điều này thường dẫn đến các lỗi tinh vi với tên cột/thuộc tính viết thường, vì vậy chúng tôi mong bạn sử dụng quy ước ALLCAPS cho bất kỳ lệnh hoặc kiểu dữ liệu nào Tên cơ sở dữ liệu (e. g. c9 hoặc imdb) phải được viết thường (không có số hoặc ký tự đặc biệt nằm trong "_" hoặc "-") Các quy ước về vỏ chữ cái trong bảng SQLĐối với tên bảng, bạn có thể sử dụng PascalCasing (camelCasing với chữ cái đầu tiên cũng được viết hoa) hoặc quy ước viết thường, miễn là bạn thống nhất. Trong cả hai trường hợp, tên bảng chỉ nên chứa các ký tự chữ cái (không chứa "_" hoặc "-") Khi tạo bảng mới, bạn nên sử dụng quy ước gạch dưới chữ thường cho tên cột nhiều từ (không viết hoa) create table dogBreeds( breedID int, breedName varchar(20), PRIMARY KEY(breedID) ); select breedName from dogBreeds where breedName like 'great%'; CREATE TABLE DogBreeds( breed_id INT, breed_name VARCHAR(20), PRIMARY KEY (breed_id) ); SELECT breed_name FROM DogBreeds WHERE breed_name LIKE 'great%'; Quy ước sử dụng và đặt tên bí danhKhi viết truy vấn nhiều bảng, việc sử dụng tên viết tắt thường hữu ích để tránh xung đột giữa hai phiên bản của cùng một bảng. Là một ngôn ngữ khai báo, các câu lệnh SQL có xu hướng tương đối ngắn gọn và dễ hiểu với các tên lệnh giống tiếng Anh. Trong trường hợp này, các tên bí danh ngắn có xu hướng không gây nhầm lẫn nhiều, miễn là chúng tuân theo một quy ước nhất quán Bạn sẽ thường thấy việc đặt bí danh hữu ích cho các truy vấn tham chiếu đến nhiều phiên bản của cùng một bảng hoặc khi bạn đang làm việc với nhiều phiên bản bảng có chung tên cột (có thể xảy ra trường hợp hai bảng khác nhau có cùng tên cột). Bí danh cũng có thể được sử dụng để cải thiện khả năng đọc ngay cả khi không cần thiết (e. g. không có xung đột tên cột nhưng bạn đang tham chiếu tên bảng dài ở nhiều nơi) nhưng hầu hết các truy vấn ngắn không bao gồm bí danh Khi đặt tên bí danh bảng của bạn, bạn có thể sử dụng tên có một chữ cái bằng cách sử dụng chữ cái đầu tiên của tên bảng và có thể phân biệt hai bí danh cho cùng một tên bảng bằng cách sử dụng hậu tố số. Nếu hai bảng khác nhau có cùng một chữ cái đầu tiên, bạn có thể ngắt kết nối bằng chữ cái thứ hai hoặc bạn có thể sử dụng một chuỗi con của tên có thể phân biệt được một cách hợp lý "Ví dụ xấu" bên dưới không phân biệt rõ ràng giữa các bảng quốc gia và thành phố khi nó đặt tên tất cả theo quy ước C# (# là số được thêm vào mỗi bảng). "Ví dụ điển hình" đầu tiên là một giải pháp thay thế được chấp nhận vì rõ ràng hơn rằng CREATE TABLE DogBreeds( breed_id INT, breed_name VARCHAR(20), PRIMARY KEY (breed_id) ); SELECT breed_name FROM DogBreeds WHERE breed_name LIKE 'great%';1 và CREATE TABLE DogBreeds( breed_id INT, breed_name VARCHAR(20), PRIMARY KEY (breed_id) ); SELECT breed_name FROM DogBreeds WHERE breed_name LIKE 'great%';2 là các bảng khác nhau (lưu ý rằng việc theo dõi "ví dụ điển hình" đang chọn sẽ dễ dàng hơn một chút). Ngoài ra, bạn có thể bỏ bí danh cho bảng quốc gia vì nó chỉ được sử dụng một lần, nhưng vì cả quốc gia và thành phố đều dùng chung một cột gọi là "tên" (e. g. "Ý" là tên của một quốc gia và "Milan" là tên của một thành phố), bạn cần chỉ định bảng nào bạn đang tham chiếu trong dòng đầu tiên để bảng đó là SQL hợp lệ. "Ví dụ tốt" thứ hai thể hiện việc sử dụng tốt quy ước này Làm quen với mySQL bằng cách tìm hiểu những điều cơ bản về cú pháp SQL và các chức năng hữu ích để duy trì bảng và tính toàn vẹn Đoạn trích này là từ Ấn bản thứ 2 của "MySQL" Thông thạo SQL là cần thiết để giao tiếp hiệu quả với máy chủ MySQL, vì đó là ngôn ngữ mà nó hiểu được. Ví dụ, khi bạn sử dụng một chương trình như mysql client, nó chủ yếu hoạt động như một phương tiện để bạn gửi các câu lệnh SQL đến máy chủ để thực thi. Bạn cũng phải biết SQL nếu bạn viết các chương trình sử dụng giao diện MySQL do ngôn ngữ lập trình của bạn cung cấp vì giao diện này hoạt động như một phương tiện cho phép bạn giao tiếp với máy chủ bằng cách gửi các câu lệnh SQL tới nó. Chương 1, "Bắt đầu với MySQL và SQL," trình bày hướng dẫn giới thiệu về nhiều khả năng của MySQL. Chương này dựa trên tài liệu đó để đi vào chi tiết hơn về một số lĩnh vực của SQL do MySQL triển khai. Nó thảo luận về cách tham chiếu đến các thành phần của cơ sở dữ liệu, bao gồm các quy tắc đặt tên và các ràng buộc phân biệt chữ hoa chữ thường được áp dụng. Nó cũng mô tả nhiều câu lệnh SQL quan trọng hơn được sử dụng cho các loại hoạt động sau
Các câu lệnh SQL của MySQL có thể được nhóm thành nhiều loại lớn; . 1 liệt kê một số tuyên bố đại diện cho mỗi. Trong một số trường hợp, có sẵn một chương trình tiện ích cung cấp giao diện dòng lệnh cho một câu lệnh. Ví dụ: mysqlshow cho phép SHOW hoạt động được thực hiện từ dòng lệnh. Chương này chỉ ra những sự tương đương như vậy khi thích hợp Một số phát biểu trong bảng không được đề cập ở đây vì chúng sẽ được thảo luận phù hợp hơn trong các chương khác. Ví dụ: các câu lệnh quản trị GRANT và REVOKE để thiết lập đặc quyền người dùng được xử lý trong Chương 11, "Quản trị MySQL tổng quát. " Chương 12, "Bảo mật", cung cấp thêm thông tin chi tiết về những đặc quyền có sẵn và những gì chúng cho phép. Cú pháp cho tất cả các câu lệnh SQL do MySQL triển khai được liệt kê trong Phụ lục D, "Tài liệu tham khảo cú pháp SQL. " Ngoài ra, bạn nên tham khảo Hướng dẫn tham khảo MySQL để biết thêm thông tin, đặc biệt là đối với những thay đổi được thực hiện trong các phiên bản MySQL gần đây bàn số 3. 1 Các loại câu lệnh SQL được hỗ trợ bởi MySQLChọn, tạo, loại bỏ và thay đổi cơ sở dữ liệu
Tạo, thay đổi và loại bỏ các bảng và chỉ mục
Nhận thông tin về cơ sở dữ liệu và bảng
Lấy thông tin từ bảng
Thực hiện giao dịch
Sửa đổi thông tin trong bảng
báo cáo hành chính
Phần cuối cùng của chương mô tả những gì MySQL không bao gồm—nghĩa là những tính năng mà nó thiếu. Đây là những khả năng được tìm thấy trong một số cơ sở dữ liệu khác nhưng không có trong MySQL. Các tính năng như vậy bao gồm trình kích hoạt, thủ tục được lưu trữ và chế độ xem. Những thiếu sót này có nghĩa là MySQL không phải là hệ thống cơ sở dữ liệu "thực"? . Đó có thể là do đối với nhiều hoặc hầu hết các ứng dụng, những tính năng đó không quan trọng Tôi cũng nên chỉ ra rằng tập hợp các tính năng còn thiếu trong MySQL tiếp tục bị thu hẹp theo thời gian. Đối với ấn bản đầu tiên của cuốn sách này, danh sách các tính năng còn thiếu bao gồm giao dịch, lựa chọn phụ, khóa ngoại và tính toàn vẹn tham chiếu. Kể từ đó, một lượng lớn tiến bộ đã được thực hiện trong việc cải thiện MySQL và tất cả những khả năng đó đã được thêm vào ngay bây giờ. Trình kích hoạt, thủ tục được lưu trữ và chế độ xem được lên lịch để triển khai trong tương lai Hầu như mọi câu lệnh SQL đều đề cập đến một cơ sở dữ liệu hoặc các thành phần cấu thành của nó theo một cách nào đó. Phần này mô tả các quy tắc cú pháp để tham chiếu đến cơ sở dữ liệu, bảng, cột, chỉ mục và bí danh. Các tên có thể được cân nhắc về độ phân biệt chữ hoa chữ thường, cũng được mô tả Đề cập đến các yếu tố của cơ sở dữ liệuKhi bạn sử dụng tên để chỉ các thành phần của cơ sở dữ liệu, bạn bị hạn chế bởi các ký tự bạn có thể sử dụng và độ dài của tên đó. Hình thức tên cũng phụ thuộc vào ngữ cảnh mà bạn sử dụng chúng. Một yếu tố khác ảnh hưởng đến quy tắc đặt tên là máy chủ có thể được khởi động ở các chế độ đặt tên khác nhau
Phân biệt chữ hoa chữ thường trong câu lệnh SQLQuy tắc phân biệt chữ hoa chữ thường trong các câu lệnh SQL khác nhau đối với các phần khác nhau của câu lệnh và cũng phụ thuộc vào những gì bạn đề cập đến và hệ điều hành của máy mà máy chủ đang chạy
Bất kể cơ sở dữ liệu hoặc tên bảng có phân biệt chữ hoa chữ thường trên hệ thống của bạn hay không, bạn phải tham chiếu nó bằng cách sử dụng cùng một chữ cái trong suốt một truy vấn nhất định. Điều đó không đúng với các từ khóa SQL, tên hàm hoặc tên cột và chỉ mục, tất cả đều có thể được tham chiếu theo kiểu chữ cái khác nhau trong suốt truy vấn. Đương nhiên, truy vấn sẽ dễ đọc hơn nếu bạn sử dụng kiểu chữ nhất quán thay vì kiểu "ghi chú tiền chuộc" (SelECt NamE FrOm. ) Chúng ta có thể đổi tên cột trong MySQL không?MySQL cung cấp một cú pháp hữu ích có thể đổi tên một hoặc nhiều cột trong bảng. Một vài đặc quyền là cần thiết trước khi đổi tên cột, chẳng hạn như đặc quyền câu lệnh ALTER và DROP. MySQL có thể đổi tên tên cột theo hai cách. Sử dụng câu lệnh CHANGE .
Cái nào sau đây không phải là tên hợp lệ cho một cột trong MySQL?"ASC" hoặc "DESC" là từ khóa dành riêng trong MySQL. bạn không thể sử dụng nó cho tên cột.
Ký tự nào không được phép trong MySQL?ASCII NUL (U+0000) và các ký tự bổ sung (U+10000 trở lên) không được phép trong số nhận dạng được trích dẫn hoặc không được trích dẫn. Số nhận dạng có thể bắt đầu bằng một chữ số nhưng trừ khi được trích dẫn có thể không chỉ bao gồm các chữ số. Tên cơ sở dữ liệu, bảng và cột không được kết thúc bằng ký tự khoảng trắng.
Những ký tự nào được phép trong tên cơ sở dữ liệu MySQL?Tên cơ sở dữ liệu có thể sử dụng bất kỳ ký tự nào được phép trong tên thư mục ngoại trừ dấu chấm, dấu gạch chéo ngược (\) hoặc dấu gạch chéo tiến (/). By default, MySQL encloses column names and table names in quotation marks. |