복붙노트

[SQL] SQL 키워드에 대한 대문자를 사용하는 좋은 이유가 있나요? [닫은]

SQL

SQL 키워드에 대한 대문자를 사용하는 좋은 이유가 있나요? [닫은]

기본값은 대문자로 보이지만 키워드 대문자를 사용하는 어떤 이유 정말 있는가? 난 그냥 내가 새로운 저장 프로 시저처럼, 뭔가를 만들려고 할 때마다 SQL Server가 저를주는 것과 일치하는 것을 시도했기 때문에 대문자를 사용하기 시작했습니다. 내가 대문자 사용을 중단 있도록하지만, 난 항상 SHIFT 버튼을 누른 상태에서 할 필요가 내 아기 (5) 손가락에 대한 끔찍한 느꼈다. 내가 대문자로 다시 이동해야하는 이유 모든 이유?

편집 : 답변들 주셔서 감사합니다. COBOL 왕 때 나는이 인식하지 않았다, 그래서 나는 다시 일 아직 프로그래밍되지 않았습니다. 나는 지금부터 소문자와 막대기 것입니다.

해결법

  1. ==============================

    1.그것은 스타일의 문제, 편집자는 코드 색상 표시를하지 않은 일에 아마 원래이다.

    그것은 스타일의 문제, 편집자는 코드 색상 표시를하지 않은 일에 아마 원래이다.

    나는 모든 대문자를 선호하는 데 사용하지만, 지금은 모두 낮은쪽으로 기울고 있어요.

  2. ==============================

    2.개인적으로, 나는 DO NOT LIKE MY SQL 소리 AT ME. IT는 기본 또는 COBOL 생각 나게한다.

    개인적으로, 나는 DO NOT LIKE MY SQL 소리 AT ME. IT는 기본 또는 COBOL 생각 나게한다.

    나는 데이터베이스 개체 이름 MixedCase는 내 T-SQL 소문자를 선호 그래서.

    훨씬 더 쉽게 읽을 수 있으며, 리터럴 및 의견을 밖으로 서.

  3. ==============================

    3.SQL은 OLD된다. UPPER CASE 외치는된다. IT는 이상하고 아마도 UGLY 보인다.

    SQL은 OLD된다. UPPER CASE 외치는된다. IT는 이상하고 아마도 UGLY 보인다.

    틀림없이 사실이지만, 그 주소 중 어느 것도 SQL 언어에 특별한 이유는 왜 대문자 키워드는 좋은 규칙 없습니다.

    많은 새로운 언어와는 달리, SQL 키워드의 큰 숫자를 가지고 있으며, 정신적으로 구문을 분석하기 위해 식별자 대 키워드를 구별하는 독자의 능력에 의존합니다.

    귀하의 질문에 직접 대답은, 다음, 더에 대한 답변입니다 "이유는 무엇입니까 너무 많은 즉 가장 현대적인 언어로 사실이 아니다 대문자 키워드에서 SQL 코드 이익의 독자?"

    다음은 SQL 코드의 독자가 가장 식별자 (즉 낮은, 또는 혼합) 키워드를 대문자로 표준화하고,뿐만 아니라-위 사용하여 케이스를 제공 있는지, 몇 가지 이유, SQL에 따라 다릅니다.

    때로는 도움을 수 있습니다 강조. 하이 라이터가 알고있는 경우에만하지만 당신은 SQL을 가지고; 우리는 매우 자주 에디터 / 포맷터 합리적는 SQL을 다루는 것을 알고 수없는 상황에서 SQL 있습니다. 예를 들면 다른 언어의 코드 내 인라인 쿼리, 프로그래머 설명서 및 텍스트 문자열을 포함합니다. 동일 ++ 파이썬 또는 C와 같은 언어에 대한 어느 곳 근처에 자주 사실이 아니다; 예, 자신의 코드는 때때로 그 장소에 나타나지 않지만, 일상적으로는 SQL 코드 인 방법을 수행 아닙니다.

    또한, 독자는 일반적으로 사용자의 특정 SQL 구현의 사용을 키워드의 일부만 알고있는 하이 라이터를 사용하는 것입니다. 덜 일반적인 키워드의 대부분은 밀접하게 당신의 SQL 변형을 알고 하나를 제외하고 강조되지 않습니다. 독자 그래서, 그들은 형광펜을 사용하는 경우에도, 여전히 어떤 적당히 복잡한 SQL 문에 키워드를 구별 좀 더 직접적인 방법이 필요합니다.

    따라서 독자는 자주 것입니다 - 그리고이 될 것입니다 때 작가는 미리 알 수 없다 - SQL 문 자체의 내용에서 필요한 지원을 키워드로 작가가 의도하고 무엇을하는 것은 식별자로 의도을 알고. 는 SQL의 콘텐츠 그래서 그 자체가 독자 키워드를 구별 할 필요가 있으며, 키워드를 대문자로 사용하는 것을 할 수있는 기존의 유용한 방법입니다.

  4. ==============================

    4.고든 벨의 예는 정확히 정확하지 않습니다; 일반적으로 키워드 만이 아니라 전체 쿼리, 강조 표시됩니다. 그의 두 번째 예는 같을 것이다 :

    고든 벨의 예는 정확히 정확하지 않습니다; 일반적으로 키워드 만이 아니라 전체 쿼리, 강조 표시됩니다. 그의 두 번째 예는 같을 것이다 :

    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
    

    키워드가 더 눈에 띄는 이후 읽기, 훨씬 더 쉽게이 문제를 찾을 수 있습니다. 심지어 구문 강조와 함께, 본인은 훨씬 더 어렵게 uncapitalized 예를 찾을 수 있습니다.

    내 회사에서, 우리는 조금 더 우리의 SQL이 서식과 함께 할 것입니다.

    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
    
  5. ==============================

    5.관련 ENCODING (ASCII)이 아직 발명되지 않았기 때문에 대부분의 사람들이 ENCODING 뭐든지 BEYOND UPPER CASE 문자 가능성이 없었시기가 있었다. 만 6 비트는 사용할 수있었습니다. SQL이 더 최근 WHILE, LOWER CASE 편지는 아직하지 공통 실제로 프로그래밍되었다.

    관련 ENCODING (ASCII)이 아직 발명되지 않았기 때문에 대부분의 사람들이 ENCODING 뭐든지 BEYOND UPPER CASE 문자 가능성이 없었시기가 있었다. 만 6 비트는 사용할 수있었습니다. SQL이 더 최근 WHILE, LOWER CASE 편지는 아직하지 공통 실제로 프로그래밍되었다.

    참고 어떤 사람들은 데이터베이스가 긴박감을 얻고 빠르게 쿼리를 실행할 주장 것이다.

  6. ==============================

    6.우리가 읽은 텍스트 문자의 10 % 미만 대문자입니다. 따라서 우리의 두뇌는 대문자 것보다 소문자를 인식에서 더 촉각을 곤두 세우고있다. 연구는 대문자 텍스트를 읽는 데 시간이 더 오래 걸리는 보여 주었다. 여기에 하나의 예입니다 :

    우리가 읽은 텍스트 문자의 10 % 미만 대문자입니다. 따라서 우리의 두뇌는 대문자 것보다 소문자를 인식에서 더 촉각을 곤두 세우고있다. 연구는 대문자 텍스트를 읽는 데 시간이 더 오래 걸리는 보여 주었다. 여기에 하나의 예입니다 :

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

    내 생각은 위의 예는 약 하나 또는 두 개의 단어를 얘기하더라도, 그것은 차이가 있음을 강조하고있다.

  7. ==============================

    7.SQL 그것이 잉태하도록 오래된 언어 (1974)입니다 때문입니다, 대부분의 키보드는 소문자하지가 않았다! 언어 문서는 단순히 시간의 기술을 반영했다.

    SQL 그것이 잉태하도록 오래된 언어 (1974)입니다 때문입니다, 대부분의 키보드는 소문자하지가 않았다! 언어 문서는 단순히 시간의 기술을 반영했다.

    연구는 모두 대문자를 입증 너무 많이 그래서 미국 연방 고속도로 관리가 균일 트래픽 제어 장치, 국가에 대한 그들의 설명서의 혼합의 경우 기호의 사용을 의무화 한 것으로, 읽기 어렵습니다 :

    뉴욕 포스트는 출판 :

    이 문자를 대문자로 사용하는 좋은 이유가 없다, 그리고 좋은 이유가되지 않음.

    나는 개인적으로 SQL 키워드에 대한 대문자를 사용하여 싫은. 나는 열심히 읽고이 시대의 부조리을 찾을 수 있습니다.

    SQL 언어는 대소 문자를 구별 것으로 정의된다. 그 Shift 키에서 손가락을 가지고!

  8. ==============================

    8.대문자 키워드 가시에서 이득을 제공 할 수 있습니다,하지만 당신은 코드 하이라이트 및 들여 쓰기로 보정 할 수 있습니다. 쿼리 편집기 및 기타 도구는 T-SQL 코드를 편집에 경이로움을하기 때문에 우리는 소문자를 사용하여, 우리는 작은 손가락을 고문 할 필요를 볼 수 없습니다.

    대문자 키워드 가시에서 이득을 제공 할 수 있습니다,하지만 당신은 코드 하이라이트 및 들여 쓰기로 보정 할 수 있습니다. 쿼리 편집기 및 기타 도구는 T-SQL 코드를 편집에 경이로움을하기 때문에 우리는 소문자를 사용하여, 우리는 작은 손가락을 고문 할 필요를 볼 수 없습니다.

  9. ==============================

    9.원숭이 참조, 원숭이는 나를 위해 않습니다. 패턴 매칭 - 나는 그것을 짓을 내가 본 방법을 할 경우, 최대 정신적으로 더 쉽게 절 라인의 구조.

    원숭이 참조, 원숭이는 나를 위해 않습니다. 패턴 매칭 - 나는 그것을 짓을 내가 본 방법을 할 경우, 최대 정신적으로 더 쉽게 절 라인의 구조.

  10. ==============================

    10.대문자 덜 읽을 수 있습니다. 모든 단어의 개요는 상자 모양되며, 더 센더 또는 어 센더이 없습니다. FTW 소문자!

    대문자 덜 읽을 수 있습니다. 모든 단어의 개요는 상자 모양되며, 더 센더 또는 어 센더이 없습니다. FTW 소문자!

  11. ==============================

    11.나는 그것이 더 읽기 찾을 수 있습니다. 각 조항의 시작 부분에 줄 바꿈을 갖는 조항 사이에 들여 동일합니다.

    나는 그것이 더 읽기 찾을 수 있습니다. 각 조항의 시작 부분에 줄 바꿈을 갖는 조항 사이에 들여 동일합니다.

  12. ==============================

    12.서식 제품 (나는 레드 게이트의 SQL 프롬프트 / SQL 팩터를 사용) 해보십시오. 당신은 당신이 일에 총액을 방법을 설정할 수 있으며 코드는 항상 지속적으로 포맷됩니다. 당신의 새끼 손가락을 휴식과 컴퓨터가 원하는 작업을 할 수 있습니다.

    서식 제품 (나는 레드 게이트의 SQL 프롬프트 / SQL 팩터를 사용) 해보십시오. 당신은 당신이 일에 총액을 방법을 설정할 수 있으며 코드는 항상 지속적으로 포맷됩니다. 당신의 새끼 손가락을 휴식과 컴퓨터가 원하는 작업을 할 수 있습니다.

  13. ==============================

    13.사용 총액을 계속하는 이유 중 하나는 (또는 다른 사람) 메모장과 같은 코드를 볼 때, 그것은 쉽게 읽을 수 있습니다. 즉, 당신이 "키워드"및 테이블 이름, SP의, UDF의 등 사이를 쉽게 구별 할 수 있습니다

    사용 총액을 계속하는 이유 중 하나는 (또는 다른 사람) 메모장과 같은 코드를 볼 때, 그것은 쉽게 읽을 수 있습니다. 즉, 당신이 "키워드"및 테이블 이름, SP의, UDF의 등 사이를 쉽게 구별 할 수 있습니다

  14. ==============================

    14.conformitys 술에 대한 적합성 이외에, 아니. 그것은 매우 주관적인 주제입니다 만, 나는 모든 SQL에 대한 혼합 케이스를 사용하여 선호합니다. 는 SQL 읽기가 훨씬 더 쉽게, 그리고 아무것도 키워드가 모든 색상으로 구분 어쨌든있는 현대의 IDE에서 손실되지 않습니다.

    conformitys 술에 대한 적합성 이외에, 아니. 그것은 매우 주관적인 주제입니다 만, 나는 모든 SQL에 대한 혼합 케이스를 사용하여 선호합니다. 는 SQL 읽기가 훨씬 더 쉽게, 그리고 아무것도 키워드가 모든 색상으로 구분 어쨌든있는 현대의 IDE에서 손실되지 않습니다.

  15. ==============================

    15.Microsoft SQL Server 관리 Studio의 IntelliSense를 / 자동 완성 예약 된 단어를 대문자 또는 소문자를 허용하지만, 위의 경우는 MAX와 같은 함수 호출 (), SUM ().

    Microsoft SQL Server 관리 Studio의 IntelliSense를 / 자동 완성 예약 된 단어를 대문자 또는 소문자를 허용하지만, 위의 경우는 MAX와 같은 함수 호출 (), SUM ().

    그렇다고하더라도, 파서는 여전히 최대 () 및 합 소문자 버전을 허용 ()으로 처리한다.

    이것은 실행의 성격과 관련이있는 양가 감정을 의미한다, 따라서 단순히 개인적인 취향의 문제이다.

  16. ==============================

    16.나는 모두 대문자로 쓰여진 것을 싫어한다 (그리고 더 많은 모두 대문자를 입력 싫어), 그러나 지역 사회에 가서 자신을 설득 할 수 없었다. 보통 빔 및 관련 패키지로 많은 문제의 해결책이 있습니다 :

    나는 모두 대문자로 쓰여진 것을 싫어한다 (그리고 더 많은 모두 대문자를 입력 싫어), 그러나 지역 사회에 가서 자신을 설득 할 수 없었다. 보통 빔 및 관련 패키지로 많은 문제의 해결책이 있습니다 :

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

    간단하게 정상적으로 입력하고 입력 할 때이 키워드를 자동으로 활용됩니다. 나는 모든 모호한 SQL의 주술을 사용하지 않은하지만 아직 저를 실패하지 않았다.

  17. ==============================

    17.내가 PHP 내에서 내 MySQL의 코드의 대부분을 호출하고 내가 정력 내에서 편집 내 PHP의 모든 것을 할 (또는 나는이 경우, VIM ;-)에서 가정합니다. 지금은 확실 PHP에서 MySQL의 코드를 강조하는 거기 플러그인이있다,하지만 나는 그것을 발견하지 않은, 그리고 내가 찾고 이동하려면 시간이 없습니다. 따라서, 나는 allcaps 모든 것을 선호. 나는이를 찾을 수 :

    내가 PHP 내에서 내 MySQL의 코드의 대부분을 호출하고 내가 정력 내에서 편집 내 PHP의 모든 것을 할 (또는 나는이 경우, VIM ;-)에서 가정합니다. 지금은 확실 PHP에서 MySQL의 코드를 강조하는 거기 플러그인이있다,하지만 나는 그것을 발견하지 않은, 그리고 내가 찾고 이동하려면 시간이 없습니다. 따라서, 나는 allcaps 모든 것을 선호. 나는이를 찾을 수 :

    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 );
    

    내가 이것보다 더 나은 SQL 대 PHP 사이에 많은 구분할 수 :

    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 );
    

    또한, 어떤 이유로, 나는과 같이, 낙타 케이스와 혼합 allcaps 싫어 :

    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
    

    그 ID는 날 irks. 대신 ID를해야 하는가? 또는 ID?

  18. from https://stackoverflow.com/questions/292026/is-there-a-good-reason-to-use-upper-case-for-sql-keywords by cc-by-sa and MIT license