Có một lý do chính đáng để sử dụng chữ hoa cho các từ khóa SQL không? [đóng cửa]


128

Mặc định có vẻ là chữ hoa, nhưng thực sự có lý do nào để sử dụng chữ hoa cho từ khóa không? Tôi bắt đầu sử dụng chữ hoa vì tôi chỉ cố gắng khớp với những gì SQL Server mang lại cho tôi bất cứ khi nào tôi cố gắng tạo một cái gì đó, như một thủ tục được lưu trữ mới. Nhưng sau đó, tôi cảm thấy thật tồi tệ với ngón tay của bé (thứ 5), luôn luôn cần giữ Shiftnút, vì vậy tôi đã ngừng sử dụng chữ hoa. Bất kỳ lý do tại sao tôi nên quay trở lại trường hợp trên?

Chỉnh sửa : Cảm ơn các câu trả lời kẻ. Tôi đã không lập trình trở lại vào thời mà COBOL là vua, vì vậy tôi không nhận thức được điều này. Tôi sẽ gắn bó với chữ thường từ bây giờ.


9
Hãy thử phím CAPS LOCK. :)
MusiGenesis

7
Tôi vẫn phải bật CAPS LOCK khi tôi muốn viết từ khóa và sau đó tắt khi tôi không viết từ khóa và bật lại CAPS LOCK, v.v. Nó chỉ là một rắc rối.
Hertanto Lie

17
CAPS wha ... Ồ, ý bạn là phím Ctrl thứ ba của tôi?
Dave Sherohman

2
IIRC, điều buồn cười là nếu bạn kiểm tra các thủ tục sp_ trong MSSQL, tất cả đều ở dạng chữ thường.
Stewol

1
@Benjol, không phải tất cả trong số họ nhưng chắc chắn rất nhiều trong số họ như sp_who. Ít nhất nên cố gắng nhất quán trong cùng một nhóm , điều mà Microsoft không có trong nhiều "trường hợp". Pun, dự định. LOL
Gordon Bell

Câu trả lời:


107

Đó chỉ là vấn đề về phong cách, có lẽ bắt nguồn từ thời mà các biên tập viên không làm mã màu.

Tôi đã từng thích tất cả các chữ hoa, nhưng bây giờ tôi nghiêng về tất cả các chữ thường.


6
+1 Tôi đoán tôi không phải là người duy nhất sử dụng tất cả các mức thấp cho từ khóa.
dance2die

2
Tôi sẽ đi với giả định rằng nó quay trở lại thời mà các biên tập viên không thực hiện tô màu mã.
Stewol

10
Tôi khá chắc chắn rằng nó quay trở lại thời mà nhiều máy không hỗ trợ các ký tự chữ thường.
Nate CK

1
Tôi đoán nó sẽ quay trở lại những ngày trước khi màn hình màu;)
walrii

150

CÁ NHÂN, TÔI KHÔNG THÍCH SQL CỦA TÔI VÀO TÔI. NÓ NHỚ TÔI CƠ BẢN HOẶC COBOL.

Vì vậy, tôi thích chữ thường T-SQL của mình với tên đối tượng cơ sở dữ liệu là MixedCase.

Nó dễ đọc hơn nhiều, và nghĩa đen và bình luận nổi bật.


8
Đó là rất nhiều vấn đề của hương vị. Theo kinh nghiệm của tôi, số lượng la hét không quá lớn - tôi thích các từ khóa viết hoa hơn vì nó dễ đọc hơn và nghĩa đen cũng như các bình luận nổi bật.
Jonathan Leffler

93
+1 cho "TÔI KHÔNG THÍCH SQL CỦA TÔI VÀO TÔI"
dance2die

8
Tôi không thích bất kỳ ngôn ngữ nào la hét với tôi, nhưng điều đó không đặt ra câu hỏi liệu chữ hoa có phải là một ý tưởng hay trong SQL hay không.
bignose

85

SQL LÀ OLD. TRƯỜNG HỢP NỔI BẬT. NÓ DỄ DÀNG CHIẾN LƯỢC VÀ PERHAPS UGLY.

Mặc dù có thể đúng, nhưng không ai trong số đó giải thích lý do đặc biệt cho ngôn ngữ SQL tại sao từ khóa viết hoa là một quy ước tốt.

Không giống như nhiều ngôn ngữ mới hơn, SQL có số lượng từ khóa lớn và dựa vào khả năng của người đọc để phân biệt từ khóa với từ định danh để phân tích cú pháp một cách tinh thần.

Sau đó, câu trả lời trực tiếp cho câu hỏi của bạn là câu trả lời cho câu hỏi tại sao người đọc mã SQL lại hưởng lợi rất nhiều từ các từ khóa viết hoa, khi điều đó không đúng với hầu hết các ngôn ngữ hiện đại?

  • Dựa vào việc giữ các từ khóa trong đầu là hợp lý đối với nhiều ngôn ngữ hiện đại, nhưng không hợp lý đối với SQL ; nó có quá nhiều từ khóa và quá nhiều biến thể.

  • Dựa vào các dấu chấm câu là hợp lý đối với hầu hết các ngôn ngữ hiện đại, nhưng không hợp lý đối với SQL ; nó có quá ít, thay vào đó tùy thuộc vào thứ tự chính xác của từ khóa để chỉ ra cú pháp.

  • Dựa vào các công cụ tô sáng tự động để phân biệt các từ khóa là hợp lý đối với các ngôn ngữ hiện đại trong các trường hợp thông thường, nhưng bỏ qua thực tế về những gì các công cụ tô sáng có thể đạt được cho SQL . Hầu hết không bao gồm tất cả các từ khóa của tất cả các biến thể của SQL và bất kể, SQL thường xuyên và thường xuyên được đọc trong các ngữ cảnh nơi một công cụ tô sáng sẽ không giúp ích.

Đây là một số lý do, cụ thể đối với SQL, rằng trình đọc mã SQL được phục vụ tốt nhất bằng cách tiêu chuẩn hóa chữ hoa cho từ khóa và chỉ sử dụng trường hợp không viết hoa (nghĩa là thấp hơn hoặc hỗn hợp) cho mã định danh.

Làm nổi bật đôi khi có thể giúp đỡ. Nhưng chỉ khi công cụ tô sáng biết bạn đã có SQL; và chúng ta rất thường có SQL trong bối cảnh mà trình soạn thảo / trình định dạng không thể biết một cách hợp lý nó đang xử lý SQL. Ví dụ bao gồm truy vấn nội tuyến, tài liệu lập trình viên và chuỗi văn bản trong mã của ngôn ngữ khác. Điều tương tự không đúng ở mọi nơi gần như thường xuyên đối với các ngôn ngữ như Python hoặc C ++; vâng, mã của họ đôi khi xuất hiện ở những nơi đó, nhưng nó không được thực hiện thường xuyên như với mã SQL.

Ngoài ra, người đọc thường sẽ sử dụng một công cụ tô sáng chỉ biết một tập hợp con các từ khóa mà việc triển khai SQL cụ thể của bạn sử dụng. Nhiều từ khóa ít phổ biến sẽ không được làm nổi bật trừ một từ khóa biết rõ biến thể SQL của bạn. Vì vậy, người đọc, ngay cả khi họ đang sử dụng công cụ tô sáng, vẫn cần một số cách phân biệt từ khóa trực tiếp hơn trong bất kỳ câu lệnh SQL phức tạp vừa phải nào.

Do đó, người đọc sẽ thường xuyên - và người viết không thể biết trước thời điểm đó - sẽ cần sự trợ giúp từ chính nội dung của câu lệnh SQL, để biết người viết dự định làm từ khóa và mục đích là định danh. Vì vậy, chính nội dung SQL cần phân biệt các từ khóa cho người đọc và sử dụng các từ khóa viết hoa là cách thông thường và hữu ích để làm điều đó.


Tôi cảm thấy lý do gần gũi của câu hỏi này là khá tốt. Câu trả lời của bạn được giải thích tốt, nhưng vẫn có vẻ hơi dựa trên ý kiến. Tôi không cảm thấy SQL giống như có nhiều từ khóa. Dù sao, sau 50 từ khóa thường xuyên hơn, bạn có thường thấy người khác không? Nó vẫn còn quan trọng để hiển thị cho họ chữ hoa? Vì họ không thường xuyên, dù sao họ cũng có xu hướng thu hút sự chú ý, phải không? Tất nhiên, những từ khóa 'không dành riêng' chết tiệt như máy chủ sql throwxứng đáng được đối xử đặc biệt, nhưng chữ hoa chỉ là một lựa chọn giữa nhiều người.
Frédéric

1
@ Frédéric, dường như bạn đang tranh luận rằng người đọc không cần các từ khóa ít được biết đến để được đánh dấu là từ khóa. Không, những từ như vậy không thu hút sự chú ý chính xác bởi vì người đọc không thể mong đợi biết đó là những từ khóa; đó là lý do tại sao chúng cần được phân biệt như các từ khóa như bất kỳ từ khóa nào khác.
bignose

Có thể tôi quá thờ ơ với SQL mặc dù đã có nhiều năm lập trình với SQL, nhưng cho đến bây giờ tôi tin rằng luôn phát hiện ra gần như ngay lập tức các từ khóa mà tôi không biết, vì chúng dẫn đến một cấu trúc SQL khác thường, ít nhất là đối với một người không biết biết họ
Frédéric

33

Các ví dụ của Gordon Bell không chính xác; nói chung, chỉ các từ khóa được tô sáng, không phải toàn bộ truy vấn. Ví dụ thứ hai của anh ấy sẽ giống như:

SELECT name, id, xtype, uid, info, status, 
base_schema_ver, replinfo, parent_obj, crdate, 
ftcatid, schema_ver, stats_schema_ver, type, 
userstat, sysstat, indexdel, refdate, version, 
deltrig, instrig, updtrig, seltrig, category, cache
FROM sysobjects
WHERE category = 0
AND xtype IN ('U', 'P', 'FN', 'IF', 'TF')
ORDER BY 1

Tôi thấy điều này dễ đọc hơn nhiều, vì các từ khóa nổi bật hơn. Ngay cả với đánh dấu cú pháp, tôi thấy ví dụ không được đánh giá cao khó đọc hơn nhiều.

Tại công ty của tôi, chúng tôi đi xa hơn một chút với định dạng SQL của chúng tôi.

SELECT      name, id, xtype, uid, info, status, 
            base_schema_ver, replinfo, parent_obj, crdate, 
            ftcatid, schema_ver, stats_schema_ver, type, 
            userstat, sysstat, indexdel, refdate, version, 
            deltrig, instrig, updtrig, seltrig, category, cache
FROM sysobjects
LEFT JOIN systhingies ON
    sysobjects.col1=systhingies.col2
WHERE category = 0
    AND xtype IN ('U', 'P', 'FN', 'IF', 'TF')
ORDER BY 1

1
Vâng, đó là cách tôi cũng thích nó.
David The Man

6
Vấn đề là ... Nếu bạn viết hoa khi chạy các lệnh ad-hoc tại một dấu nhắc, bạn sẽ luôn nhanh bằng 1/2 so với người không viết hoa nếu bạn phải chạy các lệnh ad-hoc khi sản xuất vấn đề Vì vậy, tôi viết tất cả chữ thường và sau đó "làm đẹp" trước khi đăng ký khi ai đó phàn nàn rằng họ không thể đọc được vì họ không biết cách chạy cú pháp tô sáng. Và tôi không biết về bạn, nhưng 3 lần một năm tôi phải chạy các lệnh đặc biệt ở tốc độ sản xuất thực sự rất quan trọng, vì vậy 50% ngày làm việc tôi đã thực hành viết các truy vấn kiểm tra trong tất cả các trường hợp thấp hơn thực sự được đền đáp.

7
Và trong cơ sở dữ liệu của công ty tôi (được tạo ở đâu đó trong những năm 90), tất cả các tab, cột, chỉ mục, thủ tục được lưu trữ, v.v ... đều được viết hoa, do đó chúng tôi sử dụng các từ khóa SQL viết thường. ;)
Andreas

1
Wow nhanh như 1/2. Tôi không nghĩ vậy!
Iharob Al Asimi

33

ĐÂY LÀ MỘT THỜI GIAN KHI NHỮNG NGƯỜI KHÁC NHẤT KHÔNG CÓ KHẢ NĂNG TÌM HIỂU BẤT CỨ VIỆC NÀO ĐỂ KIẾM ĐƯỢC CÁC TRƯỜNG HỢP NỀN TẢNG BEYOND TRỞ THÀNH TÌM HIỂU LIÊN QUAN (ASCII). CHỈ CẦN BITS S W CÓ S .N . KHI SQL LÀ NHẬN THÊM NHIỀU HƠN, THƯỞNG THỨC HẤP DẪN KHÔNG CÓ THỰC TIỄN THƯỜNG XUYÊN TRONG LẬP TRÌNH YET.

LƯU Ý R SNG MỘT SỐ NHÂN VIÊN YÊU CẦU R DATNG VIỆC CUNG CẤP S GET NHẬN ĐƯỢC MỘT KHẢ NĂNG KHẨN CẤP VÀ CHẠY NHANH CHÓNG CỦA BẠN NHANH CHÓNG.


Vì vậy, không phải là một lý do tốt ngày hôm nay sau đó.
bignose

1
@ TÍN HIỆU: KHÔNG, TUYỆT ĐỐI KHÔNG!
Lukas Eder

1
Tôi nghĩ rằng đây là câu trả lời tốt nhất. Đáng buồn thay, tôi chỉ ghét chữ thường trong các từ khóa SQL và tôi không thể tìm ra cách để thích chữ thường, tôi có điên không?
Iharob Al Asimi

@IharobAlAsimi CÓ BẠN LÀ CRAZY. TẠI SAO BẠN VIẾT TIẾNG ANH TRONG TRƯỜNG HỢP ÍT HƠN, NHƯNG M MOT CƠ CẤU TIẾNG ANH?
Lukas Eder

24

Ít hơn 10% các chữ cái trong văn bản chúng tôi đọc là chữ hoa. Do đó bộ não của chúng ta nhạy bén hơn trong việc nhận ra chữ in thường so với chữ in hoa. Các nghiên cứu đã chỉ ra rằng cần nhiều thời gian hơn để đọc văn bản chữ hoa. Đây chỉ là một ví dụ:

http://www.guardian.co.uk/media/mind-your-lingu/2010/oct/04/new-york-street-signs-capitals

Ví dụ trên tôi nghĩ nhấn mạnh rằng ngay cả khi bạn đang nói về chỉ một hoặc hai từ, nó sẽ tạo ra sự khác biệt.


5
Chúng ta không nói về việc đọc một cuốn tiểu thuyết trong tất cả các mũ; chúng ta đang nói về một số ít các từ khóa chỉ là một phần của văn bản.
Casey

6
Bạn đang thiếu điểm. Đó không phải là về việc chúng ta đang đọc bao nhiêu từ, mà là về những gì bộ não của chúng ta đã được đào tạo để làm nhanh chóng. Ví dụ, một biển báo đường phố chắc chắn không phải là một cuốn tiểu thuyết, nhưng chúng đã đi đến cùng một kết luận. Khi chúng ta học đọc, chúng ta bắt đầu đọc từng chữ cái, nhưng cuối cùng não của chúng ta bắt đầu nhận ra một từ là một nhóm các mẫu. Sẽ tốt hơn nếu những mẫu đó phù hợp. Hãy nhớ chữ in hoa thường là một mẫu khác với chữ thường và không chỉ là phiên bản lớn hơn.
AaronLS

1
Nhưng có rất ít từ khóa và chúng xuất hiện nhiều lần; do đó, sự công nhận phải nhanh như nhau đối với bất kỳ ai đang sử dụng SQL trong bất kỳ khoảng thời gian nào.
Casey

3
Đúng, nó chắc chắn không phải là một cái gì đó khó khăn và nhanh chóng. Nhưng chỉ có một vài từ khóa rất phổ biến. Có một tập hợp lớn không có, và mọi người thường mở rộng thực hành vỏ trên này thành những thứ có chức năng dựng sẵn nhưng không nhất thiết phải là từ khóa ngôn ngữ cú pháp. Trong thực tế, tôi thực sự vẫn còn một số ít các từ khóa như CHỌN / WHERE / NHÓM THEO chỉ ra sự bắt đầu của một phần chính của truy vấn. Nhưng tất cả các từ khóa khác, chẳng hạn như được xây dựng trong các chức năng như cast, rank, tôi chữ thường.
AaronLS

19

Đó là bởi vì SQL là một ngôn ngữ cũ ( 1974 ) mà khi nó được hình thành, hầu hết các bàn phím không có chữ thường! Các tài liệu ngôn ngữ chỉ đơn giản phản ánh công nghệ của thời gian.

Nghiên cứu đã chứng minh TẤT CẢ CAPS khó đọc hơn, đến nỗi Cơ quan Quản lý đường cao tốc Liên bang Hoa Kỳ đã bắt buộc sử dụng các biển báo trường hợp hỗn hợp trong Hướng dẫn sử dụng của họ trên Thiết bị kiểm soát giao thông thống nhất, trong đó nêu rõ:

Chữ viết tên của các địa điểm, đường phố và đường cao tốc trên các biển chỉ dẫn đường thông thường sẽ là sự kết hợp của các chữ cái viết thường với các chữ cái viết hoa ban đầu.

The New York Post cũng xuất bản:

Các nghiên cứu đã chỉ ra rằng việc đọc các biển báo mũ khó hơn và những mili giây thêm dành cho việc nhìn chằm chằm ra đường đã được chứng minh là làm tăng khả năng xảy ra tai nạn, đặc biệt là ở những người lái xe lớn tuổi.

Không có lý do chính đáng để sử dụng chữ in hoa, và lý do tốt để không.

Cá nhân tôi không thích sử dụng chữ hoa cho các từ khóa SQL. Tôi thấy khó đọc hơn và vô lý trong thời đại ngày nay.

Ngôn ngữ SQL được định nghĩa là không phân biệt chữ hoa chữ thường. Lấy ngón tay của bạn ra khỏi phím shift!


3
Tôi nghĩ rằng sự phổ biến của những lý do chính đáng được trình bày trong các câu trả lời khác nói lên sự khẳng định của bạn, không có lý do chính đáng nào để sử dụng chữ in hoa.
bignose

7
@bignose Oh có những lý do ... Tôi chỉ không nghĩ họ là những người tốt. Theo kinh nghiệm của tôi, lập trình viên SQL càng trẻ, họ càng có khả năng sử dụng chữ hoa. Ngược lại, tôi chưa bao giờ gặp một lập trình viên SQL có thẩm quyền sử dụng chữ hoa.
Bohemian

3
Hoàn toàn đồng ý. Sự phổ biến của các "câu trả lời" khác không làm cho chúng đúng, nó chỉ làm cho chúng trở nên tốt hơn. TẤT CẢ CÁC TRƯỜNG HỢP NỔI BẬT LÀ MỘT HANGOVER TỪ KHI MÁY TÍNH DID KHÔNG CÓ TRƯỜNG HỢP TRÊN TỪ KHÓA CỦA HỌ HOẶC TRONG ĐẠI DIỆN CỦA CÁC ĐẠI DIỆN. NÓ C JNG SILL NGAY HÔM NAY.
Charles Bretana

Vâng và sử dụng phím CAPS LOCK hoặc nhồi nhét ngón tay của bạn giữ phím Shift một cách không cần thiết.
Gordon Bell

9
Tôi ngửi thấy lý do tròn ở đây. Nếu lý do được trình bày trong thiên về phân biệt đối xử từ khóa với trường hợp này, bạn bỏ qua nó như không phải là một tốt lý do. Nếu lý do được trình bày bởi một bộ mã hóa SQL nhưng không đồng ý với vị trí của bạn, bạn sẽ loại bỏ chúng vì không phải là một bộ mã hóa SQL có thẩm quyền . Tôi nghĩ trên cơ sở đó chúng ta có thể coi đây là đối số không hợp lệ.
bignose

8

Chữ hoa có thể cung cấp mức tăng về khả năng hiển thị từ khóa, nhưng bạn có thể bù với phần tô sáng và thụt mã.
Chúng tôi sử dụng chữ thường vì trình soạn thảo truy vấn và các công cụ khác làm nên điều kỳ diệu trong việc chỉnh sửa mã t-sql và chúng tôi thấy không cần phải tra tấn ngón tay út.


2
Có phải trình soạn thảo truy vấn và t-sql là nơi duy nhất mà mọi người sẽ đọc mã SQL của bạn không? Làm sao bạn biết?
bignose

8

Khỉ thấy, khỉ làm cho tôi. Khớp mẫu - nếu tôi thực hiện theo cách tôi đã thấy, cấu trúc của các mệnh đề sẽ dễ dàng hơn về mặt tinh thần.


7

Uppercase là ít đọc hơn. Các phác thảo của tất cả các từ có hình dạng như hộp; không có hậu duệ hay thăng thiên. Chữ thường FTW!


3
Lý do bạn đưa ra hỗ trợ cho vị trí mà chữ hoa giúp phân biệt các từ khóa với phần còn lại.
bignose

5
@bignose Nếu SQL đọc như ngôn ngữ của con người, tại sao chúng ta cần viết hoa? Chúng ta không cần phải viết hoa các động từ HOẶC giới từ trong ngôn ngữ của con người. Hãy tưởng tượng NẾU MỌI câu trông giống như thế này. Tôi thấy rằng ít đọc hơn so với viết thông thường. Các từ viết hoa trong hai câu đó khiến não tôi dừng lại và nói chúng chậm hơn các câu còn lại, làm chậm việc đọc của tôi và làm cho dòng chảy trở nên kém tự nhiên.
Chris Middleton

1
Ngôn ngữ của con người rất tha thứ cho sự mơ hồ trong cú pháp. Ngôn ngữ máy tính thì không, đó là lý do tại sao những sự mơ hồ đó cần được giảm thiểu. Cú pháp SQL không giúp được điều đó, vì vậy con người chúng ta cần sử dụng các công cụ có sẵn; Cú pháp SQL không có nhiều, vì vậy chúng tôi đã phát triển quy ước viết hoa từ khóa.
bignose 16/07/2015

5

Tôi thấy nó dễ đọc hơn. Tương tự cho việc có một dòng mới cho phần đầu của mỗi mệnh đề và thụt vào giữa các mệnh đề.


2

Hãy thử một sản phẩm định dạng (Tôi sử dụng SQL Prompt / SQL Refactor từ Red Gate). Bạn có thể đặt cách bạn muốn viết hoa hoạt động và mã của bạn sẽ luôn được định dạng nhất quán. Nghỉ ngơi hồng hào của bạn và để máy tính làm việc cho bạn.


1
Lời khuyên này bỏ qua nhiều bối cảnh nơi SQL đang được đọc. Hoàn toàn không thực tế khi đọc mã đã được viết bởi người khác; nếu một công cụ như thế này là cần thiết chỉ để làm cho SQL có định dạng xấu có thể đọc được, thì đó là một đối số có lợi cho một quy ước giống như một câu hỏi được giải quyết bởi câu hỏi này.
bignose

nhưng phương pháp này là tốt nếu bạn muốn các tiêu chuẩn trong toàn tổ chức của bạn. Nếu bạn muốn các tiêu chuẩn, ý kiến ​​không thành vấn đề
Trub 10/03/2016

2

Một trong những lý do để tiếp tục sử dụng viết hoa là khi bạn (hoặc ai đó) đang xem mã trong một cái gì đó như notepad, nó giúp bạn dễ đọc hơn. tức là bạn có thể phân biệt dễ dàng giữa "từ khóa" và các tablenames, SP's, udf's, v.v.


1

Khác với sự phù hợp cho sự phù hợp vì lợi ích, không. Mặc dù đó là một chủ đề rất chủ quan, tôi thích sử dụng trường hợp hỗn hợp cho tất cả SQL. SQL dễ đọc hơn nhiều và không có gì bị mất trong các IDE hiện đại nơi các từ khóa đều được mã hóa màu.


Như nhiều câu trả lời khác ở đây đã đưa ra lý do, tôi không nghĩ câu trả lời của bạn là chính xác: Có những lý do khác ngoài sự phù hợp vì lợi ích của sự phù hợp.
bignose

... Vậy thì chúng là gì? Mặc dù luôn luôn mở cho thông tin mới, nhưng thẳng thắn, tôi chưa bao giờ nhận thức được bất kỳ.
Charles Bretana

Tôi đã đưa ra nhiều lý do , vì vậy bây giờ bạn biết.
bignose

2
không ai trong số đó là lý do hợp lệ, chúng là sở thích cá nhân. Hãy thoải mái thực hiện theo sở thích cá nhân của riêng bạn, nhưng đừng mô tả sở thích là một quy tắc hoặc thực tiễn tốt nhất.
Charles Bretana

1

Intellisense / autocompletion trong Microsoft SQL Server Management Studio cho phép viết hoa hoặc viết thường cho các từ dành riêng, nhưng các hàm viết hoa gọi như MAX (), SUM ().

Mặc dù vậy, trình phân tích cú pháp vẫn cho phép các phiên bản chữ thường của max () và sum () được xử lý.

Điều này ngụ ý một sự tương đồng liên quan đến bản chất của việc thực hiện, và do đó đơn giản chỉ là vấn đề sở thích cá nhân.


4
Có và trong SSMS "Tùy chọn -> Trình soạn thảo văn bản -> Transact-SQL -> Intellisense", bạn có thể đặt mặc định thành 'Chữ thường' nếu bạn thích.
Gordon Bell

0

Tôi không thích bất cứ điều gì được viết trong tất cả các mũ (và ghét gõ tất cả các mũ hơn nữa), nhưng không thể thuyết phục bản thân đi ngược lại cộng đồng. Như thường lệ, Vim và các gói liên quan của nó là giải pháp cho rất nhiều vấn đề:

http://www.vim.org/scripts/script.php?script_id=305

Chỉ cần gõ như bình thường và nó sẽ tự động viết hoa các từ khóa khi bạn nhập. Tôi đã không sử dụng tất cả các câu thần chú SQL tối nghĩa nhưng nó vẫn chưa làm tôi thất bại.


-2

Tôi gọi hầu hết mã myQuery của tôi từ bên trong PHP và tôi thực hiện tất cả các chỉnh sửa PHP của mình trong vim (hoặc tôi cho rằng trong trường hợp này là VIM ;-). Bây giờ tôi chắc chắn có các plugin ngoài đó để làm nổi bật mã myQuery trong PHP, nhưng tôi không tìm thấy nó và tôi không phải mất thời gian để tìm kiếm nó. Vì vậy, tôi thích có tất cả mọi thứ trong allcaps. Tôi tìm thấy điều này:

if ( !$bla ) 
{
   echo "select something from something where something";
}

if ( !$beepboop ) 
{
   echo "create table if not exists loremIpsum;
}

$query = "
CREATE TABLE IF NOT EXISTS HISTORY
(
   ID INT NOT NULL AUTO_INCREMENT,
   INSERTDATE TIMESTAMP DEFAULT NOW(),
   ALTERDATE TIMESTAMP(8) DEFAULT NOW(),
   DELETEDATE TIMESTAMP(8),
   ALTERCOUNT INT DEFAULT 0,
   SELECTCOUNT INT DEFAULT 0,

   PRIMARY KEY(ID),
)ENGINE=InnoDB
";

mysqlQuery( $query, $con );

Giúp tôi phân biệt giữa PHP và SQL tốt hơn rất nhiều so với điều này:

if ( !$bla ) 
{
   echo "select something from something where something";
}

if ( !$beepboop ) 
{
   echo "create table if not exists loremIpsum;
}

$query = "
create table if not exists history
(
   id int not null auto_increment,
   insertdate timestamp default now(),
   alterdate timestamp(8) default now(),
   deletedate timestamp(8),
   altercount int default 0,
   selectcount int default 0,

   primary key(id),
)engine=InnoDB
";

mysqlQuery( $query, $con );

Ngoài ra, vì một số lý do, tôi ghét trộn allcaps với vỏ lạc đà, như vậy:

CREATE TABLE IF NOT EXISTS history
(
   ID INT NOT NULL AUTO_INCREMENT,
   insertDate TIMESTAMP DEFAULT NOW(),
   alterDate TIMESTAMP(8) DEFAULT NOW(),
   deleteDate TIMESTAMP(8),
   alterCount INT DEFAULT 0,
   selectCount INT DEFAULT 0,

   PRIMARY KEY(ID),
)ENGINE=InnoDB

Điều đó làm IDtôi khó chịu. Thay vào đó nên id? hay iD?


3
Không, không, không, camelCase dành cho tên biến, không phải tên cột. Sử dụng Trường hợp thích hợp cho tên cột ... ChènDate, AlterDate, ...
Gordon Bell

1
Tiêu chuẩn SQL yêu cầu triển khai để bỏ qua trường hợp trong mã định danh (nó gấp chúng thành chữ hoa). Vì vậy, mã của bạn không nên phụ thuộc vào sự khác biệt trường hợp trong mã định danh và cách thông thường để làm điều đó là tạo mã định danh all_lower_case.
bignose

3
@bignose Tôi không phải là một fan hâm mộ lớn của gạch dưới vì nó giảm wpm
puk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.