기본 SQL 명령. 데이터 액세스 메커니즘. 구조적 쿼리 언어 SQL. SQL의 역사와 표준. Oracle 서버에서 SQL 명령을 처리합니다. 제거 요청

관계형 데이터베이스 및 테이블에 대한 개념적 정보는 데이터와 상호 작용하는 방법을 아는 경우에만 유용합니다. SQL 언어는 데이터베이스에서 데이터를 추가, 수정 및 삭제하기 위한 구조화된 명령으로 구성됩니다. 이러한 명령은 PostgreSQL 서버와 상호 작용하기 위한 기초를 형성합니다.

이 섹션은 SQL 명령의 "해부구조"에 관한 것입니다. 명령의 구조적 구성 요소를 조사하고 각 구성 요소의 기능과 상호 관계를 설명합니다. 표준 PostgreSQL 명령줄 클라이언트인 psql은 제공된 예제의 명령 결과를 인쇄합니다.

대부분의 SQL 명령 예제는 booktown 데이터베이스에만 해당됩니다. 모든 psql 출력에는 booktown=# 형식의 접두사가 붙습니다.

일부 예에서는 testdb 테스트 데이터베이스를 사용합니다. 기본적으로 psql 프롬프트에는 데이터베이스 이름과 =# 기호만 표시되어 시스템이 새 명령을 실행할 준비가 되었음을 나타냅니다(단, SQL 입력 상태가 모니터링됨에 따라 = 기호가 동적으로 변경되는 것을 볼 수 있음). 이 책에서는 psql 클라이언트 출력에 익숙해지는 데 도움이 되도록 SQL 입력 및 출력과 함께 이 프롬프트를 제공합니다.

psql 클라이언트는 4장에서 자세히 설명합니다. 여기서는 SQL 명령 예제의 스타일을 명확히 하기 위해 언급되었습니다.

메모
booktown 데이터베이스 스키마(예제 레코드와 함께)는 CD의 booktown.sql 파일에 있습니다. 이 데이터베이스를 설치하려면 명령 프롬프트에 psql - U postgres template! 명령을 입력하십시오. - f /mnt/cdrom/booktown.sql, 여기서 /mnt/cdrom은 마운트된 CD의 경로이고 postgres는 PostgreSQL 수퍼유저 이름입니다.
.

SQL 명령 분석

SQL 명령은 항상 동작(동사), 즉 수행 중인 작업을 설명하는 단어 또는 단어 그룹으로 시작됩니다. 또한 SQL 명령에는 일반적으로 의미를 명확히 하는 하나 이상의 섹션이 포함되어 있습니다. 테이블에 3.2에는 SQL의 주요 동작이 나열되어 있습니다.

표 3.2. 기본 PostgreSQL 작업.

동작 설명
데이터베이스 생성 새 데이터베이스 만들기
인덱스 생성 테이블 열에 새 인덱스 만들기
시퀀스 생성 기존 데이터베이스에 새 시퀀스 만들기
테이블 만들기 기존 데이터베이스에 새 테이블 만들기
트리거 생성 새 트리거 정의 만들기
보기 만들기 기존 테이블에 대한 새 보기 만들기
선택하다 테이블에서 레코드 선택
끼워 넣다 테이블에 하나 이상의 새 레코드 삽입
업데이트 기존 레코드의 데이터 수정
삭제 테이블에서 기존 레코드 제거
데이터베이스 삭제 기존 데이터베이스 삭제
드롭 인덱스 기존 테이블에서 열 인덱스 제거
드롭 순서 기존 시퀀스 생성기 삭제
드롭 테이블 기존 테이블 삭제
드롭 트리거 기존 트리거 정의 삭제
드롭뷰 기존 뷰 삭제
사용자 생성 시스템에 새 PostgreSQL 사용자 계정 생성
사용자 변경 기존 PostgreSQL 사용자 계정 수정
사용자 삭제 기존 PostgreSQL 사용자 계정 삭제
승인하다 데이터베이스 개체에 대한 액세스 권한 부여
취소 데이터베이스 개체에 대한 액세스 권한 제거
함수 생성 데이터베이스에 새 SQL 함수 만들기
언어 만들기 데이터베이스에 새 언어 정의 만들기
연산자 만들기 데이터베이스에 새 SQL 문 생성
유형 만들기 데이터베이스에 새 SQL 데이터 유형 생성

구조적 쿼리 언어(Structured Query Language)는 1970년대 초반 IBM에 의해 개발되었습니다. 1986년에 SQL은 ANSI 조직에 의해 처음으로 표준화되었습니다.

SQL은 데이터베이스 관리를 위한 강력하면서도 간단한 언어입니다. 거의 모든 최신 데이터베이스에서 지원됩니다. SQL은 DDL(데이터 정의 언어)과 DML(데이터 조작 언어)이라는 두 가지 명령 하위 집합으로 나뉩니다. DDL 명령은 새로운 데이터베이스, 테이블, 컬럼을 생성하는 데 사용되며 DML 명령은 데이터 읽기, 쓰기, 정렬, 필터링, 삭제에 사용됩니다.

이 기사에서는 훨씬 더 자주 사용되는 DML 명령에 대해 자세히 살펴보겠습니다.

DDL 명령

CREATE - 새 테이블, 열 및 인덱스를 만드는 데 사용됩니다.

DROP - 열과 인덱스를 제거하는 데 사용됩니다.

ALTER - 테이블에 새 열을 추가하고 특정 열을 변경하는 데 사용됩니다.

DML 명령

SELECT는 가장 일반적으로 사용되는 명령이며 데이터베이스 테이블에서 데이터 세트를 검색하는 데 사용됩니다. SELECT 명령의 구문은 다음과 같습니다.

선택하다 field_list1에서 테이블_이름 ]

대괄호 안의 연산자는 선택 사항이며, 세로 막대는 지정된 구문 중 하나가 있어야 하지만 둘 다 있을 수는 없음을 의미합니다.

예를 들어, "friends" 테이블의 "name" 및 "phone" 필드에서 데이터를 가져오는 간단한 쿼리를 만들어 보겠습니다.

선택하다 이름, 전화에서 친구

테이블의 모든 필드를 가져와야 하는 경우에는 나열할 필요가 없으며 별표(*)만 입력하면 됩니다.

선택하다 * 에서 친구

표시된 목록에서 중복된 항목을 제외하려면 DISTINCT 키워드를 사용하십시오.

구별 선택 이름에서 친구

별도의 레코드를 가져와야 하는 경우 WHERE 절이 사용됩니다. 예를 들어, "friends" 테이블에서 "Vasya Pupkin"의 전화번호를 가져와야 합니다.

선택하다 * 에서 친구어디 이름 = "바샤 퍼프킨"

또는 그 반대로, 44-65-01 전화의 소유자가 누구인지 알아내야 합니다.

선택하다 * 에서 친구어디 핸드폰 = "44-65-01"

또한 와일드카드 문자를 사용하여 검색 패턴을 만들 수 있습니다. 이를 위해 LIKE 연산자가 사용됩니다. LIKE 연산자에는 다음과 같은 대체 연산자가 있습니다.

* - 하나 이상의 문자로 구성된 문자열과 일치합니다.

임의의 한 문자와 일치합니다.

특정 세트의 한 문자와 일치합니다.

예를 들어 "Vasya"라는 단어가 포함된 "name" 필드에서 레코드를 검색하려면 요청은 다음과 같습니다.

선택 *에서 친구어디 이름좋다 "*바샤*"

ORDER BY 절은 데이터가 반환되는 순서를 결정하는 데 사용됩니다. 이 연산자가 없으면 반환된 데이터의 순서를 예측할 수 없습니다. ASC 및 DESC 키워드를 사용하면 정렬 방향을 결정할 수 있습니다. ASC는 오름차순으로 정렬되고 DESC는 내림차순으로 정렬됩니다.

예를 들어, "이름" 필드에서 알파벳 순서로 레코드 목록을 가져오는 요청은 다음과 같습니다.

선택 *에서 친구주문 이름

ASC 키워드는 기본값이므로 필요하지 않습니다.

INSERT - 이 명령은 테이블에 새 레코드를 추가하는 데 사용됩니다. 다음과 같이 작성됩니다.

에 집어 넣다 테이블_이름값( 값_목록)

값 목록의 값 유형은 테이블 필드의 값 유형과 일치해야 합니다. 예를 들면 다음과 같습니다.

에 집어 넣다 친구값( "기관총잡이 앙카", "32-09-81" )

이 예에서는 지정된 값을 사용하여 친구 테이블에 새 항목을 추가합니다.

UPDATE - 이 명령은 테이블의 데이터를 업데이트하는 데 사용되며 WHERE 절과 함께 가장 자주 사용됩니다. UPDATE 명령의 구문은 다음과 같습니다.

업데이트 테이블_이름세트 분야 명 = 의미

WHERE 절을 생략하면 테이블에 정의된 모든 필드의 데이터가 업데이트됩니다. 예를 들어 Vasya Pupkun의 전화번호를 변경해 보겠습니다.

업데이트 친구세트 핸드폰 = "55-55-55" 어디 이름 = "바샤 퍼프킨"

DELETE - 이미 이해하셨겠지만, 이 명령은 테이블에서 레코드를 삭제하는 데 사용됩니다. UPDATE와 마찬가지로 DELETE 명령은 일반적으로 WHERE 절과 함께 사용되며 이 절을 생략하면 지정된 테이블의 모든 데이터가 삭제됩니다. DELETE 명령 구문은 다음과 같습니다.

다음에서 삭제 테이블_이름

예를 들어, 짜증나는 Vasya Pupkin을 테이블에서 제거해 보겠습니다. :)

다음에서 삭제 친구어디 이름 = "바샤 퍼프킨"

이 기사에서 나는 주요 SQL 연산자에 대해 이야기했는데, 이는 데이터베이스 작업에 매우 충분합니다. 나머지 연산자에 대해서는 나중에 더 자세히 설명하겠습니다.

SQL 또는 구조적 쿼리 언어는 관계형 데이터베이스 시스템(RDBMS)에서 데이터를 관리하는 데 사용되는 언어입니다. 이 기사에서는 모든 프로그래머가 익숙해야 하는 일반적으로 사용되는 SQL 명령을 다룰 것입니다. 이 자료는 면접 전에 SQL에 대한 지식을 복습하려는 사람들에게 이상적입니다. 이를 수행하려면 기사에 제공된 예를 살펴보고 데이터베이스를 쌍으로 연구했다는 점을 기억하십시오.

일부 데이터베이스 시스템에서는 각 명령문 끝에 세미콜론이 필요합니다. 세미콜론은 SQL의 모든 문의 끝을 가리키는 표준 포인터입니다. 예제에서는 MySQL을 사용하므로 세미콜론이 필요합니다.

예제를 위한 데이터베이스 설정

팀의 작업 방식을 보여주는 데이터베이스를 만듭니다. 작업하려면 DLL.sql 및 InsertStatements.sql이라는 두 파일을 다운로드해야 합니다. 그런 다음 터미널을 열고 다음 명령을 사용하여 MySQL 콘솔에 로그인합니다(이 문서에서는 MySQL이 시스템에 이미 설치되어 있다고 가정합니다).

MySQL -u 루트 -p

그런 다음 비밀번호를 입력하세요.

다음 명령을 실행하십시오. 데이터베이스를 "대학"이라고 부르겠습니다.

데이터베이스 대학 생성; USE 대학; 원천; 데이터베이스 작업을 위한 SOURCE 명령1. 사용 가능한 데이터베이스 보기 SHOW DATABASES; 2. 새 데이터베이스 생성 CREATE DATABASE; 3. USE를 사용할 데이터베이스를 선택합니다. 4. .sql 파일 SOURCE에서 SQL 명령을 가져옵니다. 5. 데이터베이스 삭제 DROP DATABASE ; 테이블 작업6. SHOW TABLES 데이터베이스에서 사용 가능한 테이블을 봅니다.

7. 새 테이블 생성 CREATE TABLE ( , , PRIMARY KEY (), FOREIGN KEY () REFERENCES ()); CREATE TABLE 사용 시 무결성 제약 조건

테이블의 특정 열에 대한 제한 사항을 만들어야 할 수도 있습니다. 테이블을 생성할 때 다음 제한 사항을 설정할 수 있습니다.

  • 테이블 셀은 NULL 값을 가질 수 없습니다.
  • 기본 키 - PRIMARY KEY (col_name1, col_name2, ...) ;
  • 외래 키 - FOREIGN KEY (col_namex1, …, col_namexn) REFERENCES table_name(col_namex1, …, col_namexn) .

기본 키를 두 개 이상 지정할 수 있습니다. 이 경우 복합 기본 키를 얻게 됩니다.

테이블 "강사"를 생성합니다:

CREATE TABLE 강사 (ID CHAR(5), 이름 VARCHAR(20) NOT NULL, dept_name VARCHAR(20), 급여 NUMERIC(8,2), PRIMARY KEY (ID), FOREIGN KEY (dept_name) REFERENCES 부서(dept_name));

8. 테이블 정보

다음 명령을 사용하면 테이블 열에 대한 다양한 정보(값 유형, 키 여부)를 볼 수 있습니다.

설명하다 ;

9. 테이블에 데이터 추가 INSERT INTO (, , , …) VALUES (, , , …);

테이블의 각 열에 데이터를 추가할 때 열 이름을 지정할 필요가 없습니다.

값에 삽입(, , , ...);

10. 테이블 데이터 업데이트 UPDATE SET = , = , ... WHERE ; 11. DELETE FROM 테이블에서 모든 데이터를 삭제합니다. 12. 테이블 삭제 DROP TABLE ; 쿼리 생성 명령13. 선택하다

SELECT는 특정 테이블에서 데이터를 검색하는 데 사용됩니다.

선택 , , ... 에서 ;

다음 명령은 테이블의 모든 데이터를 표시할 수 있습니다.

선택 * 에서;

14. 구별 선택

테이블 열에 중복된 데이터가 포함될 수 있습니다. 중복되지 않은 데이터만 검색하려면 SELECT DISTINCT를 사용하세요.

SELECT DISTINCT , , ... FROM ;

15. 어디서

SELECT에서 WHERE 키워드를 사용하여 쿼리에 조건을 지정할 수 있습니다.

, , ...를 선택하세요. 어디에서;

요청에 다음 조건을 지정할 수 있습니다.

  • 텍스트 비교;
  • 수치 비교;
  • 논리 연산자 AND(and), OR(or) 및 NOT(부정).

다음 명령을 시도해 보세요. WHERE에 지정된 조건에 주의하세요.

SELECT * FROM 코스 WHERE dept_name='Comp. 과학.'; SELECT * FROM 코스 WHERE 학점>3; SELECT * FROM 코스 WHERE dept_name="Comp. Sci." AND 크레딧>3;

16. 그룹별

GROUP BY 연산자는 출력 값을 그룹화하기 위해 COUNT, MAX, MIN, SUM 및 AVG와 같은 집계 함수와 함께 사용되는 경우가 많습니다.

SELECT , , ... 그룹별로 ;

각 교수진의 강좌 수를 표시해 보겠습니다.

SELECT COUNT(course_id), dept_name FROM 강좌 GROUP BY dept_name;

17. 가지고 있는 것

WHERE는 집계 함수와 함께 사용할 수 없기 때문에 HAVING 키워드가 SQL에 추가되었습니다.

HAVING으로 그룹에서 , , ...을 선택하세요.

둘 이상의 코스가 있는 교수진 목록을 표시해 보겠습니다.

SELECT COUNT(course_id), dept_name FROM 강좌 GROUP BY dept_name HAVING COUNT(course_id)>1;

18. 주문

ORDER BY는 쿼리 결과를 내림차순 또는 오름차순으로 정렬하는 데 사용됩니다. ORDER BY는 ASC 또는 DESC를 지정하지 않는 한 오름차순으로 정렬합니다.

SELECT , , ... FROM ORDER BY , , ... ASC|DESC;

학점 오름차순 및 내림차순으로 강좌 목록을 표시해 보겠습니다.

SELECT * 코스에서 ORDER BY 학점; SELECT * 코스에서 ORDER BY 학점 DESC;

19. 사이

BETWEEN은 특정 범위에서 데이터 값을 선택하는 데 사용됩니다. 날짜뿐만 아니라 숫자 및 텍스트 값도 사용할 수 있습니다.

SELECT , , ... 과 사이에서 ;

급여가 50,000보다 크고 100,000보다 작은 강사 목록을 표시해 보겠습니다.

SELECT * 급여가 50000에서 100000 사이인 강사로부터;

20. 좋아요

LIKE 연산자는 WHERE에서 유사한 값에 대한 검색 패턴을 지정하는 데 사용됩니다.

LIKE에는 두 가지 자유 연산자가 사용됩니다.

  • %(없음, 하나 이상의 문자);
  • _(한 글자).
SELECT , , ... FROM WHERE LIKE ; 예

이름에 "to"가 포함된 강좌 목록과 이름이 "CS-"로 시작하는 강좌 목록을 표시해 보겠습니다.

SELECT * FROM 코스 WHERE 제목 LIKE '%to%'; SELECT * FROM 코스 WHEREcourse_id LIKE "CS-___";

21. 에

IN을 사용하면 WHERE 절에 여러 값을 지정할 수 있습니다.

SELECT , , ... FROM WHERE IN (, , ...);

Comp 전공 학생의 목록을 표시해 보겠습니다. 과학, 물리학, 전자 영어:

SELECT * FROM 학생 WHERE dept_name IN ('Comp. Sci.', 'Physics', 'Elec. Eng.');

22. 가입

JOIN은 두 개 이상의 테이블 내의 공통 속성을 사용하여 연결하는 데 사용됩니다. 아래 이미지는 SQL에 조인하는 다양한 방법을 보여줍니다. 왼쪽 외부 조인과 오른쪽 외부 조인의 차이점에 유의하세요.

SELECT , , ... FROM JOIN ON = ;

실시예 1

모든 강좌 목록과 해당 학부에 대한 관련 정보가 표시됩니다.

SELECT * FROM 코스 JOIN 학과 ONcourse.dept_name=department.dept_name;

실시예 2

모든 필수 과정 목록과 이에 대한 세부 정보가 표시됩니다.

SELECT prereq.course_id, 제목, dept_name, 학점, prereq_id FROM prereq LEFT OUTER JOIN 강좌 ON prereq.course_id=course.course_id;

실시예 3

필수 여부에 관계없이 모든 강좌 목록이 표시됩니다.

SELECT Course.course_id, 제목, dept_name, 학점, prereq_id FROM prereq 오른쪽 외부 JOIN 코스 ON prereq.course_id=course.course_id;

23. 보기

뷰는 표현식을 실행한 결과 생성되는 가상의 SQL 테이블입니다. 행과 열을 포함하며 일반 SQL 테이블과 매우 유사합니다. 보기에는 항상 데이터베이스의 최신 정보가 표시됩니다.

CREATE VIEW AS SELECT, , ... FROM WHERE 생성 중; DROP VIEW 제거 ; 예

3학점이 있는 강좌로 구성된 뷰를 만들어 보겠습니다.

24. 집계 함수

이러한 함수는 문제의 데이터와 관련된 집계 결과를 얻는 데 사용됩니다. 다음은 일반적으로 사용되는 집계 함수입니다.

  • COUNT(col_name) - 행 수를 반환합니다.
  • SUM(col_name) - 이 열에 있는 값의 합계를 반환합니다.
  • AVG(col_name) - 주어진 열의 평균 값을 반환합니다.
  • MIN(col_name) - 주어진 열의 가장 작은 값을 반환합니다.
  • MAX(col_name) - 주어진 열의 가장 큰 값을 반환합니다.
25. 중첩된 하위 쿼리

중첩 하위 쿼리는 다른 쿼리 내에 중첩된 SELECT , FROM 및 WHERE 절을 포함하는 SQL 쿼리입니다.

2009년 가을과 2010년 봄에 진행된 강좌를 찾아보겠습니다.

SELECT DISTINCTcourse_id FROM 섹션 WHERE 학기 = '가을' AND 연도= 2009 AND Course_id IN (SELECT Course_id FROM 섹션 WHERE 학기 = '봄' AND 연도= 2010);

Kirill Pozdeev, 번역가

Yandex가 데이터와 기계 학습을 사용하여 서비스를 개인화하는 방법 -.

SQL(ˈɛsˈkjuˈɛl; 영어 구조적 쿼리 언어 - "구조적 쿼리 언어")은 관계형 데이터베이스에서 데이터를 생성, 수정 및 관리하는 데 사용되는 선언적 프로그래밍 언어입니다.

다양한 데이터베이스에 대한 SQL 표준 준수:

SQL(구조적 쿼리 언어 - 구조적 쿼리 언어). SQL은 주로 저장된 데이터를 설명하고, 저장된 데이터를 검색하고, 데이터를 수정하도록 설계된 정보 논리 언어입니다.

SQL은 프로그래밍 언어가 아닙니다. SQL이 더욱 복잡해짐에 따라 애플리케이션 프로그래밍 언어에 더욱 가까워졌으며 이제 사용자는 시각적 쿼리 빌더를 사용할 수 있습니다.

SQL은 대소문자를 구분하지 않는 언어입니다. SQL의 문자열은 작은따옴표로 묶입니다.

SQL 언어는 명령문의 모음입니다. SQL 문은 다음과 같이 구분됩니다.

    데이터 정의 언어(DDL) - ANSI의 스키마 설명 언어로 데이터베이스(CREATE, DROP, ALTER 등)에 개체(테이블, 인덱스, 뷰 등)를 생성하는 명령으로 구성됩니다.

    데이터 조작 연산자(Data Manipulation Language, DML)는 언제든지 테이블에 표시되는 값(INSERT, DELETE, SELECT, UPDATE 등)을 결정하는 명령 집합입니다.

    데이터 액세스 정의문(DCL) - 사용자가 특정 작업을 수행하도록 허용할지 여부(GRANT/REVOKE, LOCK/UNLOCK)를 결정하는 도구로 구성됩니다.

    TCL(트랜잭션 제어 언어) 연산자

불행히도 이러한 용어는 모든 구현에서 보편적으로 사용되지 않습니다. 이는 ANSI에서 강조되었으며 개념적 수준에서 유용하지만 대부분의 SQL 프로그램은 이를 별도로 처리하는 일이 거의 없으므로 본질적으로 SQL 명령의 기능 범주가 됩니다.

SELECT 섹션 조인

    단순 JOIN(=교차 JOIN =INNER JOIN) - 두 테이블의 공통 레코드만 표시한다는 의미입니다. 레코드가 공유된 것으로 간주되는 방식은 조인 표현식의 필드에 따라 결정됩니다. 예를 들어 다음 항목은 다음과 같습니다. FROM t1 JOIN t2 ON t1. 아이디 = t2. ID

    이는 두 테이블에 모두 존재하는 동일한 ID를 가진 레코드가 표시됨을 의미합니다.

    LEFT JOIN(또는 LEFT OUTER JOIN)은 오른쪽 테이블에 해당 레코드가 있는지 여부에 관계없이 왼쪽 테이블(조인 표현식에서 가장 먼저 나오는 테이블)의 모든 레코드를 표시하는 것을 의미합니다. 오른쪽 테이블에 레코드가 없으면 빈 값 NULL이 설정됩니다.

    RIGHT JOIN(또는 RIGHT OUTER JOIN)은 LEFT JOIN과 반대로 작동합니다. 즉, 오른쪽(두 번째) 테이블의 모든 레코드를 표시하고 왼쪽(첫 번째) 테이블에서 일치하는 레코드만 표시합니다.

    다른 유형의 JOIN 조인: MINUS - 빼기; FULL JOIN - 완전한 조인; CROSS JOIN - "모두와 모든 사람" 또는 데카르트 곱 작업.

SELECT JOIN SUBSTRING INSERT INTO users_auth VALUES (기본값, "root" , MD5("root"));

    INSERT IGNORE 여러 값이 있는 행이 있는 INSERT 명령에 IGNORE 키워드를 지정하면 해당 테이블에 중복된 PRIMARY 또는 UNIQUE 키가 있는 모든 행이 무시되고 삽입되지 않습니다. IGNORE를 지정하지 않으면 기존 키에 대해 중복된 값이 있는 행이 발견되면 이 삽입 작업이 중단됩니다.

가격 값에 무시 삽입(기본값, 1, 1111, "Fr", 50, 50, 1, 1)

REPLACE 명령은 인덱스된 필드(고유 인덱스)에 새 레코드와 동일한 값을 가진 테이블의 레코드가 있는 경우 새 레코드를 추가하기 전에 이전 레코드를 삭제한다는 점에서만 INSERT와 다릅니다.

업데이트< tablename>설정( | ) .,. .< COLUMN name> = < VALUE expresslon>[어디< predlcate>| 현재 위치< cursor name>(*첨부파일만 해당*) ] ; 업데이트 피어 SET zone= "voip" ; # 피어 테이블의 영역 열에 있는 모든 행을 업데이트합니다. UPDATE stat SET whp= "13x13x13" WHERE id = 1 ; 업데이트 국가 SET nm_ukr= ( SELECT del_countries.ukrainian FROM del_countries WHERE 국가. nm_en= del_countries.english ) ;

WordPress 사용법, 설정: wp_posts 테이블에서 해당 행의 모든 ​​항목을 삭제합니다.

UPDATE wp_posts SET post_content = REPLACE (post_content, "" , "" ) ;

다음에서 삭제

[ 어디 | 현재 위치(*첨부파일만*) ];

피어에서 삭제; // Peers 테이블의 모든 내용을 삭제합니다. "20120415%"와 같은 날인 FinR에서 삭제하세요. // ratesheet_id가 IN이 아닌 가격에서 삭제합니다(요금표에서 ID 선택).

바꾸다

    열의 기본값을 변경합니다. 열의 새 기본값을 설정하려면 다음과 같은 명령을 사용하십시오. ALTER TABLE products ALTER COLUMN Price SET DEFAULT 7.77 ; OR ALTER TABLE nases ALTER COLUMN zone SET DEFAULT "voip" ;

    이 명령을 실행해도 테이블의 기존 행에는 영향을 주지 않으며 향후 INSERT 명령의 기본값만 변경됩니다. 기본값을 제거하려면 다음을 사용하십시오.

    ALTER TABLE 제품 ALTER COLUMN 가격 DROP DEFAULT ;

    이 명령은 기본값을 null로 설정하는 것과 동일한 작업을 수행합니다. 기본값을 삭제하면 암시적으로 null로 설정되므로 기존 기본값을 삭제해도 오류가 보고되지 않습니다.

    열의 기본값으로 작동합니다. 이 경우 시간 추적 열에는 타임스탬프 데이터 유형이 있습니다. 즉, 기본값을 내장된 now() 함수로 설정할 수 있습니다. 열에 새 행을 추가하면 현재 날짜와 시간이 기록됩니다. ALTER TABLE 시간 추적 ALTER COLUMN date_wd SET DEFAULT now();

    제약 조건을 추가합니다. 제약 조건을 추가하려면 해당 제약 조건을 정의하는 테이블 구문이 사용됩니다. 예: ALTER TABLE 제품 ADD CHECK(이름 ""); ALTER TABLE 제품 ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE 제품 외래 키 추가(product_group_id) REFERENCES product_groups;

    테이블 제약 조건으로 쓸 수 없는 null이 아닌 제약 조건을 추가하려면 다음 구문을 사용하세요.

    ALTER TABLE 제품 ALTER COLUMN product_no SET NOT NULL;

    지정된 제약 조건은 즉시 적용되므로 제약 조건을 추가하기 전에 테이블의 데이터가 이를 충족해야 합니다.

집계 함수

표준 SQL에는 5가지 집계 함수가 있습니다.

    COUNT - 이 함수는 특정 기준을 충족하는 행 수를 반환합니다.

    SUM - 특정 열에 있는 값의 합계(전체)를 반환합니다. NULL 값이 있는 열 행은 SUM 함수에서 무시됩니다.

    AVG - 열의 평균값

집계 함수는 SELECT 쿼리 절에서 필드 이름으로 사용됩니다. 단, 한 가지 예외는 필드 이름이 인수로 사용된다는 것입니다. SUM 및 AVG 함수는 숫자 필드에서만 작동할 수 있습니다. COUNT, MAX, MIN 함수는 숫자 및 문자 필드 모두에서 작동합니다. 문자 필드에 적용될 때 MAX 및 MIN 함수는 해당 문자에 해당하는 ASCII로 작업할 수 있습니다.

SELECT Count(Books.ID) AS [도서 수] FROM Books;

CROUP BY를 사용하면 레코드 그룹에 집계 함수를 적용할 수 있습니다.

SELECT Count(Books.ID) AS [도서 수] FROM Books GROUP BY [작가];

조회수(VIEW)

VIEW는 소유자에 대한 데이터가 포함되지 않은 데이터 개체입니다. 쿼리를 실행하여 다른 테이블의 내용을 검색하는 테이블 유형입니다.

기본 테이블은 데이터가 포함된 테이블입니다. 그러나 또 다른 유형의 테이블이 있습니다: - 뷰(VIEW). 뷰는 내용이 선택되거나 다른 테이블에서 가져온 테이블입니다. 이는 기본 테이블과 마찬가지로 쿼리 및 DML 문에서 작동하지만 자체 데이터를 포함하지 않습니다. 뷰는 기본 테이블에 실제로 저장되어 있는 정보를 볼 수 있는 창과 같습니다.

    CREATE VIEW 명령. 뷰는 CREATE VIEW 명령으로 생성됩니다. CREATE VIEW라는 단어, 생성해야 하는 뷰 이름, AS(HOW)라는 단어, 쿼리로 구성됩니다. Londonstaff 뷰를 만들어 보겠습니다. CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE city = "London";

    이 뷰는 다른 테이블과 마찬가지로 사용됩니다. 다른 테이블 및 뷰에 쿼리, 수정, 삽입, 삭제, 조인이 가능합니다. 제출요청합니다.

    이 부록에는 다양한 SQL 명령에 대한 간략한 설명이 포함되어 있습니다. 목표는 SQL에 대한 빠르고 정확한 참조 및 정의를 제공하는 것입니다.

    이 애플리케이션의 첫 번째 섹션에서는 SQL 명령을 생성하는 데 사용되는 요소를 정의합니다. 두 번째는 명령 자체에 대한 간략한 설명이 포함된 구문 및 문장의 세부 정보입니다.

    표준 규칙(BNF 조건이라고 함)은 다음과 같습니다.

  • 키워드는 대문자로 입력됩니다.
  • SQL 및 기타 특수 조건은 꺾쇠 괄호로 묶고 이탤릭체로 입력합니다.()
  • 명령의 선택적 부분은 대괄호([ 및 ])로 묶입니다.
  • 줄임표(....)는 명령의 이전 부분이 여러 번 반복될 수 있음을 나타냅니다.
  • 세로 막대(|)는 앞에 있는 내용이 뒤따르는 내용으로 대체될 수 있음을 의미합니다.
  • 중괄호(( 및 ))는 다른 문자(세로 막대 또는 타원 등)를 평가하기 위해 그 안에 있는 모든 내용을 전체적으로 처리해야 함을 나타냅니다.
  • 이중 콜론과 등호(:: =)는 뒤에 오는 내용이 앞에 있는 내용에 대한 정의임을 의미합니다.

    또한 다음 시퀀스(.,..)를 사용하여 앞에 오는 내용이 여러 번 반복될 수 있음을 나타내며 개별 이벤트는 쉼표로 구분됩니다. 공식 표준의 일부가 아닌 속성은 설명에 (*비표준*)으로 표시됩니다.

    참고: 여기서 사용하는 용어는 공식 ANSI 용어가 아닙니다. 공식 용어는 매우 혼란스러울 수 있으므로 다소 단순화했습니다. 이러한 이유로 우리는 때때로 ANSI와 다른 조건을 사용하거나 동일한 조건을 약간 다른 방식으로 사용합니다. 예를 들어, C에 대한 우리의 정의는 C의 표준 정의에 대한 ANSI 조합과 다릅니다. SQL 요소

    이 섹션에서는 SQL 명령의 요소를 정의합니다.

    언어의 기본 요소와 기능적 요소의 두 가지 범주로 나뉩니다.

    기본 요소는 언어 블록으로 생성됩니다. SQL은 명령을 검사할 때 먼저 해당 요소와 관련하여 명령 텍스트의 각 문자를 평가합니다. 구분 기호는 명령의 한 부분을 다른 부분과 분리합니다. 구분 기호 사이의 모든 내용은 모듈로 처리됩니다. SQL은 이 분할을 기반으로 명령을 해석합니다.

    기능적 요소는 모듈로 해석될 수 있는 키워드 이외의 다양한 요소이다. 이는 구분 기호로 구분된 명령의 일부로, SQL에서 특별한 의미를 갖습니다. 그 중 일부는 특정 명령에만 적용되며 이 부록의 뒷부분에서 해당 명령과 함께 설명됩니다.

    여기에 나열된 항목은 설명된 모든 명령에 공통됩니다.

    기능적 요소는 서로의 관점에서 정의될 수도 있고, 심지어는 그 자체의 관점에서 정의될 수도 있습니다. 예를 들어, 우리의 마지막이자 가장 복잡한 사례에는 술어 자체 정의 내부에 술어가 포함되어 있습니다. 그 이유는 AND 또는 OR을 사용하는 조건자에는 독립적으로 작동할 수 있는 조건자가 무제한으로 포함될 수 있기 때문입니다. 언어 기능 요소의 다양성과 복잡성으로 인해 이 부록의 별도 섹션에서 조건자 B를 제시했습니다. 그는 팀의 다른 기능적 부분에 대해 논의할 때 지속적으로 참석할 것입니다.

    언어의 기본 요소

    요소 정의 | | -- 공백 구현으로 정의된 문자열 끝 [( | = B AND


    무료 프로그램과 유용한 팁의 세계
    2024 whatsappss.ru