SQL - 정의, 언어에 필요한 것, 초보자를 위한 기본 기능. MS Visual Studio에서 로컬 Microsoft SQL Server 데이터베이스를 생성하는 예

우리 각자는 정기적으로 다양한 데이터베이스를 접하고 사용합니다. 이메일 주소를 선택하면 데이터베이스 작업을 하는 것입니다. 데이터베이스는 검색 서비스, 은행에서 고객 데이터 등을 저장하는 데 사용됩니다.

그러나 데이터베이스를 지속적으로 사용함에도 불구하고 많은 소프트웨어 시스템 개발자들에게도 동일한 용어에 대한 서로 다른 해석으로 인해 여전히 사각지대가 많습니다. SQL 언어를 다루기 전에 기본 데이터베이스 용어에 대해 간략하게 정의하겠습니다. 그래서.

데이터 베이스 - 정렬된 데이터 구조와 그 관계를 저장하기 위한 파일 또는 파일 모음입니다. 관리 시스템을 데이터베이스라고 부르는 경우가 많습니다. 이는 특정 형식의 정보 저장소일 뿐이며 다양한 DBMS와 함께 작동할 수 있습니다.

테이블 - 예를 들어 지난달 주문 목록과 같은 특정 특성에 따라 그룹화되어 문서가 저장되는 폴더를 상상해 보겠습니다. 이것은 컴퓨터에 있는 테이블입니다. 별도의 테이블에는 고유한 이름이 있습니다.

데이터 형식 - 별도의 열이나 행에 저장할 수 있는 정보 유형입니다. 이는 특정 형식의 숫자 또는 텍스트일 수 있습니다.

열과 행- 우리 모두는 행과 열이 있는 스프레드시트로 작업해 왔습니다. 모든 관계형 데이터베이스는 비슷한 방식으로 테이블과 작동합니다. 행을 레코드라고도 합니다.

기본 키- 테이블의 각 행에는 테이블을 고유하게 식별하는 하나 이상의 열이 있을 수 있습니다. 기본 키가 없으면 원하는 행을 업데이트, 변경, 삭제하기가 매우 어렵습니다.

SQL이란 무엇입니까?

SQL(영어 - 구조화된 쿼리 언어)은 데이터베이스 작업용으로만 개발되었으며 현재 널리 사용되는 모든 DBMS의 표준입니다. 언어 구문은 소수의 연산자로 구성되어 있으며 배우기 쉽습니다. 그러나 겉보기 단순성에도 불구하고 모든 크기의 데이터베이스를 사용하여 복잡한 작업에 대한 SQL 쿼리를 생성할 수 있습니다.

1992년부터 ANSI SQL이라는 일반적으로 인정되는 표준이 있었습니다. 이는 연산자의 기본 구문과 기능을 정의하며 ORACLE과 같은 모든 DBMS 시장 리더에서 지원됩니다. 하나의 짧은 기사에서 언어의 모든 기능을 고려하는 것은 불가능하므로 기본적인 SQL 쿼리만 간략하게 살펴보겠습니다. 예제는 언어의 단순성과 기능을 명확하게 보여줍니다.

  • 데이터베이스 및 테이블 생성;
  • 데이터 샘플링;
  • 레코드 추가;
  • 정보의 수정 및 삭제.

SQL 데이터 유형

데이터베이스 테이블의 모든 열은 동일한 데이터 유형을 저장합니다. SQL의 데이터 유형은 다른 프로그래밍 언어와 동일합니다.

우리는 테이블과 데이터베이스를 만듭니다

SQL에서 새 데이터베이스, 테이블 및 기타 쿼리를 생성하는 방법에는 두 가지가 있습니다.

  • DBMS 콘솔을 통한 SQL 문
  • 데이터베이스 서버에 포함된 대화형 관리 도구를 사용합니다.

운영자가 새 데이터베이스를 생성합니다. 데이터베이스 생성<наименование базы данных>; . 보시다시피 구문은 간단하고 간결합니다.

다음 매개변수와 함께 CREATE TABLE 문을 사용하여 데이터베이스 내에 테이블을 생성합니다.

  • 테이블 이름
  • 열 이름 및 데이터 유형

예를 들어, 다음 열이 포함된 상품 테이블을 만들어 보겠습니다.

테이블을 생성합니다:

테이블 만들기

(commodity_id CHAR(15) NOT NULL,

Vendor_id CHAR(15) NOT NULL,

상품_이름 CHAR(254) NULL,

상품 가격 DECIMAL(8,2) NULL,

상품_desc VARCHAR(1000) NULL);

테이블은 5개의 열로 구성됩니다. 이름 뒤에 데이터 유형이 오고, 열은 쉼표로 구분됩니다. 열 값은 빈 값(NULL)을 허용하거나 채워야(NOT NULL)할 수 있으며 이는 테이블이 생성될 때 결정됩니다.

테이블에서 데이터 검색

데이터 가져오기 연산자는 가장 일반적으로 사용되는 SQL 쿼리입니다. 정보를 얻으려면 그러한 테이블에서 무엇을 선택하고 싶은지 표시해야 합니다. 먼저 간단한 예를 들어보겠습니다.

상품에서 상품_이름 선택

SELECT 문 뒤에는 정보를 얻기 위해 열 이름을 지정하고 FROM은 테이블을 정의합니다.

쿼리 결과는 데이터베이스에 입력된 순서대로 Commodity_name 값이 있는 테이블의 모든 행입니다. 아무런 정렬도 없이. 결과를 정렬하는 데 추가 ORDER BY 절이 사용됩니다.

여러 필드를 쿼리하려면 다음 예와 같이 쉼표로 구분하여 나열하십시오.

상품에서 상품_ID, 상품_이름, 상품_가격을 선택하세요.

쿼리 결과로 행의 모든 ​​열 값을 얻을 수 있습니다. 이렇게 하려면 "*" 기호를 사용하세요.

SELECT * 상품에서

  • 추가로 SELECT는 다음을 지원합니다.
  • 데이터 정렬(ORDER BY 연산자)
  • 조건에 따른 선택 (WHERE)
  • 그룹화 용어(GROUP BY)

줄 추가

테이블에 행을 추가하려면 INSERT 연산자를 사용한 SQL 쿼리가 사용됩니다. 추가는 세 가지 방법으로 수행할 수 있습니다.

  • 새로운 전체 라인을 추가하십시오;
  • 문자열 부분;
  • 쿼리 결과.

전체 행을 추가하려면 테이블 이름과 새 행의 열(필드) 값을 지정해야 합니다. 예는 다음과 같습니다.

INSERT INTO Commodity VALUES("106", "50", "Coca-Cola", "1.68", "No Alcogol ,)

이 예에서는 테이블에 새 제품을 추가합니다. 각 열의 VALUES 뒤에 값이 나열됩니다. 해당 열에 해당하는 값이 없으면 NULL을 지정해야 합니다. 열에는 테이블 생성 시 지정한 순서대로 값이 채워집니다.

행의 일부만 추가하는 경우 다음 예와 같이 열 이름을 명시적으로 지정해야 합니다.

상품에 삽입(상품_ID, 공급업체_ID, 상품_이름)

VALUES("106 ", '50", "코카콜라",)

제품 식별자, 공급업체 및 이름만 입력하고 나머지 필드는 비워 두었습니다.

쿼리 결과 추가

INSERT는 주로 행을 추가하는 데 사용되지만 SELECT 문의 결과를 추가하는 데에도 사용할 수 있습니다.

데이터 변경

데이터베이스 테이블의 필드 정보를 변경하려면 UPDATE 문을 사용해야 합니다. 연산자는 두 가지 방법으로 사용할 수 있습니다.

  • 테이블의 모든 행이 업데이트됩니다.
  • 특정 라인에만 해당됩니다.

업데이트는 세 가지 주요 요소로 구성됩니다.

  • 변경이 필요한 테이블;
  • 필드 이름 및 새 값
  • 변경할 행을 선택하는 조건입니다.

예를 살펴보겠습니다. ID=106인 제품의 가격이 변경되었으므로 이 행을 업데이트해야 한다고 가정해 보겠습니다. 우리는 다음 연산자를 작성합니다:

업데이트 상품 SET 상품_가격 = "3.2" WHERE 상품_ID = "106"

업데이트가 수행될 Commodity의 경우 테이블 이름을 지정한 다음 SET 이후에 열의 새 값을 지정하고 WHERE에 필요한 ID 값을 지정하여 원하는 레코드를 찾았습니다.

여러 열을 변경하려면 SET 문 뒤에 쉼표로 구분된 여러 열-값 쌍이 옵니다. 제품 이름과 가격이 업데이트되는 예를 살펴보겠습니다.

UPDATE Commodity SET 상품_이름='환타', 상품_가격 = "3.2" WHERE 상품_ID = "106"

열의 정보를 제거하려면 테이블 구조에서 허용하는 경우 해당 열에 NULL 값을 할당할 수 있습니다. NULL은 정확하게 "no" 값이며 텍스트나 숫자 형태의 0이 아니라는 점을 기억해야 합니다. 제품 설명을 삭제해 보겠습니다.

업데이트 상품 세트 상품_desc = NULL WHERE 상품_ID = "106"

행 제거

테이블의 행을 삭제하는 SQL 쿼리는 DELETE 문을 사용하여 실행됩니다. 두 가지 사용 사례가 있습니다.

  • 테이블의 특정 행이 삭제됩니다.
  • 테이블의 모든 행이 삭제됩니다.

테이블에서 한 행을 삭제하는 예:

상품_ID = "106"인 상품에서 삭제

DELETE FROM 후에 행이 삭제될 테이블의 이름을 나타냅니다. WHERE 절에는 삭제할 행을 선택하는 조건이 포함되어 있습니다. 이 예에서는 ID=106인 제품군을 삭제합니다. WHERE를 지정하는 것은 매우 중요합니다. 이 문을 생략하면 테이블의 모든 행이 삭제됩니다. 이는 필드 값을 변경하는 경우에도 적용됩니다.

DELETE 문은 열 이름이나 메타 문자를 지정하지 않습니다. 행을 완전히 삭제하지만 단일 열을 삭제할 수는 없습니다.

Microsoft Access에서 SQL 사용

일반적으로 테이블, 데이터베이스를 생성하고 데이터베이스의 데이터를 관리, 수정, 분석하고 복잡한 SQL 문을 작성하고 즉시 실행할 수 있는 편리한 대화형 쿼리 디자이너(쿼리 디자이너)를 통해 SQL Access 쿼리를 구현하는 데 대화형으로 사용됩니다.

서버 액세스 모드도 지원됩니다. 이 모드에서는 Access DBMS를 모든 ODBC 데이터 소스에 대한 SQL 쿼리 생성기로 사용할 수 있습니다. 이 기능을 사용하면 Access 응용 프로그램이 모든 형식과 상호 작용할 수 있습니다.

SQL 확장

SQL 쿼리에는 루프, 분기 등과 같은 절차적 프로그래밍 언어의 모든 기능이 없기 때문에 DBMS 제조업체에서는 고급 기능을 갖춘 자체 SQL 버전을 개발하고 있습니다. 우선, 이는 절차적 언어의 저장 프로시저와 표준 연산자를 지원합니다.

언어의 가장 일반적인 방언:

  • 오라클 데이터베이스 - PL/SQL
  • 인터베이스, 파이어버드 - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL/pgSQL.

인터넷상의 SQL

MySQL DBMS는 무료 GNU General Public License에 따라 배포됩니다. 맞춤형 모듈을 개발할 수 있는 상용 라이센스가 있습니다. XAMPP, WAMP, LAMP 등 가장 널리 사용되는 인터넷 서버 어셈블리에 구성 요소로 포함되어 있으며 인터넷에서 애플리케이션을 개발하는 데 가장 널리 사용되는 DBMS입니다.

Sun Microsystems에서 개발했으며 현재 Oracle Corporation에서 지원합니다. 최대 64TB 크기의 데이터베이스, SQL:2003 구문 표준, 데이터베이스 복제 및 클라우드 서비스가 지원됩니다.

1표

내 블로그 사이트에 오신 것을 환영합니다. 오늘은 초보자를 위한 SQL 쿼리에 대해 이야기하겠습니다. 일부 웹마스터에게 질문이 있을 수 있습니다. SQL을 왜 배우나요? 지나갈 수는 없을까요?

전문적인 인터넷 프로젝트를 만드는 것만으로는 충분하지 않은 것으로 나타났습니다. SQL은 데이터베이스 작업과 WordPress용 애플리케이션 생성에 사용됩니다. 쿼리를 사용하는 방법을 좀 더 자세히 살펴보겠습니다.

그것은 무엇입니까

SQL은 구조화된 쿼리 언어입니다. 데이터 유형을 결정하고 이에 대한 액세스를 제공하며 짧은 시간 내에 정보를 처리하도록 설계되었습니다. 인터넷 프로젝트에서 보고자 하는 구성요소나 일부 결과에 대해 설명합니다.

간단히 말해서, 이 프로그래밍 언어를 사용하면 데이터베이스의 정보를 추가, 변경, 검색 및 표시할 수 있습니다. mysql의 인기는 데이터베이스를 기반으로 하는 동적 인터넷 프로젝트를 만드는 데 사용된다는 사실 때문입니다. 따라서 기능적인 블로그를 개발하려면 이 언어를 배워야 합니다.

그게 뭘 할 수 있지

SQL 언어를 사용하면 다음을 수행할 수 있습니다.

  • 테이블 생성;
  • 다양한 데이터를 수신하고 저장하도록 변경합니다.
  • 정보를 블록으로 결합합니다.
  • 데이터를 보호합니다.
  • 액세스 요청을 생성합니다.

중요한! 일단 SQL을 이해하면 어떤 복잡한 WordPress용 애플리케이션도 작성할 수 있습니다.

어떤 구조

데이터베이스는 Excel 파일로 표시할 수 있는 테이블로 구성됩니다.

여기에는 이름, 열 및 일부 정보가 포함된 행이 있습니다. SQL 쿼리를 사용하여 이러한 테이블을 만들 수 있습니다.

당신이 알아야 할 것


SQL 학습의 핵심 포인트

위에서 언급한 것처럼 쿼리는 테이블로 구성된 데이터베이스에 새로운 정보를 처리하고 입력하는 데 사용됩니다. 각 줄은 별도의 항목입니다. 그럼 데이터베이스를 만들어 보겠습니다. 이렇게 하려면 다음 명령을 작성하십시오.

데이터베이스 'bazaname' 생성

데이터베이스 이름을 라틴어로 따옴표로 묶습니다. 명확한 이름을 생각해보십시오. "111", "www" 등과 같은 데이터베이스를 생성하지 마십시오.

데이터베이스를 생성한 후 다음을 설치합니다.

세트 이름 'utf-8'

이는 사이트의 콘텐츠가 올바르게 표시되는 데 필요합니다.

이제 테이블을 만들어 보겠습니다.

CREATE TABLE '바자이름' . '테이블' (

ID INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,

로그 VARCHAR(10),

VARCHAR(10)을 전달하고,

날짜 DATE

두 번째 줄에는 세 가지 속성을 썼습니다. 그들이 무엇을 의미하는지 봅시다:

  • NOT NULL 속성은 셀이 비어 있지 않음을 의미합니다(필드는 필수임).
  • AUTO_INCREMENT 값은 자동 완성입니다.
  • 기본 키 - 기본 키입니다.

정보를 추가하는 방법

생성된 테이블의 필드를 값으로 채우려면 INSERT 문을 사용합니다. 우리는 다음 코드 줄을 작성합니다.

INSERT INTO '테이블'

(로그인, 패스, 날짜) VALUES

('바사', '87654321', '2017-06-21 18:38:44');

괄호 안에는 열 이름이 표시되고 다음에는 값이 표시됩니다.

중요한! 열 이름과 값의 일관성을 유지합니다.

정보를 업데이트하는 방법

이렇게 하려면 UPDATE 명령을 사용하십시오. 특정 사용자의 비밀번호를 변경하는 방법을 살펴보겠습니다. 우리는 다음 코드 줄을 작성합니다.

업데이트 '테이블' SET 패스 = '12345678' WHERE id = '1'

이제 비밀번호 '12345678'을 변경하세요. "id"=1인 줄에서 변경이 발생합니다. WHERE 명령을 작성하지 않으면 특정 행이 아닌 모든 행이 변경됩니다.

"라는 책을 구입하는 것이 좋습니다. 인형용 SQL " 도움을 받으면 데이터베이스를 단계별로 전문적으로 작업할 수 있습니다. 모든 정보는 단순한 것부터 복잡한 것까지 원칙에 따라 구성되어 있으며 잘 인식됩니다.

항목을 삭제하는 방법

잘못 작성한 경우 DELETE 명령을 사용하여 수정하세요. UPDATE와 동일하게 작동합니다. 우리는 다음 코드를 작성합니다:

ID = '1'인 '테이블'에서 삭제

샘플링 정보

데이터베이스에서 값을 검색하려면 SELECT 명령을 사용하십시오. 우리는 다음 코드를 작성합니다:

SELECT * FROM '테이블' WHERE ID = '1'

이 예에서는 테이블에서 사용 가능한 모든 필드를 선택합니다. 명령에 별표 "*"를 입력하면 이런 일이 발생합니다. 일부 샘플 값을 선택해야 하는 경우 다음을 작성하세요.

SELECT 로그, FROM 테이블 WHERE id = '1' 전달

데이터베이스 작업 능력만으로는 충분하지 않습니다. 전문적인 인터넷 프로젝트를 만들려면 데이터베이스의 데이터를 페이지에 추가하는 방법을 배워야 합니다. 이를 위해서는 PHP 웹 프로그래밍 언어에 익숙해져야 합니다. 이것이 당신에게 도움이 될 것입니다 Mikhail Rusakov의 멋진 코스 .


테이블 삭제

DROP 요청을 사용하여 발생합니다. 이를 위해 다음 줄을 작성합니다.

DROP 테이블 테이블;

특정 조건에 따라 테이블의 레코드 표시

다음 코드를 고려해보세요:

SELECT id, country, city FROM table WHERE people>150000000

인구가 1억 5천만 명이 넘는 국가의 기록이 표시됩니다.

협회

Join을 사용하여 여러 테이블을 함께 연결할 수 있습니다. 이 비디오에서 어떻게 작동하는지 자세히 알아보세요.

PHP와 MySQL

다시 한 번 인터넷 프로젝트를 만들 때 요청하는 것이 흔하다는 점을 강조하고 싶습니다. PHP 문서에서 이를 사용하려면 다음 알고리즘을 따르십시오.

  • mysql_connect() 명령을 사용하여 데이터베이스에 연결합니다.
  • mysql_select_db()를 사용하여 원하는 데이터베이스를 선택합니다.
  • mysql_fetch_array()를 사용하여 요청을 처리합니다.
  • mysql_close() 명령으로 연결을 닫습니다.

중요한! 데이터베이스 작업은 어렵지 않습니다. 가장 중요한 것은 요청을 올바르게 작성하는 것입니다.

초보 웹마스터들은 그것에 대해 생각할 것입니다. 이 주제에 관해 무엇을 읽어야 합니까? 마틴 그래버의 책 "을 추천하고 싶습니다. 단순한 필사자를 위한 SQL " 초보자도 모든 것을 이해할 수 있도록 작성되었습니다. 참고서로 활용하세요.

그러나 이것은 이론이다. 이것이 실제로 어떻게 작동합니까? 실제로 인터넷 프로젝트는 생성되어야 할 뿐만 아니라 Google 및 Yandex의 TOP에 올라와야 합니다. 비디오 코스는 " 웹사이트 제작 및 홍보 ».


비디오 교육

아직도 질문이 있으신가요? 자세한 내용은 온라인 비디오를 시청하세요.

결론

따라서 SQL 쿼리를 작성하는 방법을 알아내는 것은 보기만큼 어렵지 않지만 웹마스터라면 누구나 이 작업을 수행해야 합니다. 위에 설명된 비디오 코스가 이에 도움이 될 것입니다. 구독하기 내 VKontakte 그룹 새로운 흥미로운 정보가 언제 나타날지 가장 먼저 알아보세요.

마지막 업데이트: 2017년 7월 9일

데이터베이스 생성

데이터베이스를 생성하려면 CREATE DATABASE 명령을 사용합니다.

새 데이터베이스를 만들려면 SQL Server Management Studio를 엽니다. 개체 탐색기 창에서 서버 할당을 클릭하고 나타나는 메뉴에서 새 쿼리를 선택합니다.

SQL 표현식을 입력하는 중앙 필드에 다음 코드를 입력합니다.

데이터베이스 사용자 DB 생성

따라서 "usersdb"라는 데이터베이스를 만듭니다.

명령을 실행하려면 도구 모음에서 실행 버튼을 클릭하거나 F5 키를 누릅니다. 그리고 새 데이터베이스가 서버에 나타납니다.

데이터베이스를 생성한 후 USE 명령을 사용하여 이를 현재 데이터베이스로 설정할 수 있습니다.

USE 사용자DB;

데이터베이스 연결

예를 들어 다른 컴퓨터에서 생성된 데이터베이스 파일이 이미 있을 수 있습니다. 데이터베이스 파일은 mdf 확장자를 가진 파일이며 원칙적으로 이 파일을 전송할 수 있습니다. 그러나 MS SQL Server가 설치된 컴퓨터를 복사하더라도 복사된 데이터베이스는 서버에 그대로 나타나지 않습니다. 이렇게 하려면 데이터베이스를 서버에 연결해야 합니다. 이 경우 다음 표현식이 사용됩니다.

연결을 위해 PRIMARY(FILENAME="path_to_mdf_file_on_local_computer")에 데이터베이스 데이터베이스 이름을 생성합니다.

다른 서버 데이터베이스가 저장된 디렉터리를 데이터베이스 디렉터리로 사용하는 것이 좋습니다. Windows 10에서는 기본적으로 이 디렉터리입니다. C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA. 예를 들어, 내 경우 데이터 파일이 userstoredb.mdf라고 가정해 보겠습니다. 그리고 이 파일을 서버에 데이터베이스로 추가하고 싶습니다. 먼저 위 디렉터리에 복사해야 합니다. 그런 다음 데이터베이스를 서버에 연결하려면 다음 명령을 사용하십시오.

첨부를 위해 PRIMARY(FILENAME="C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\userstoredb.mdf")에 데이터베이스 연락처 데이터베이스를 생성합니다.

명령을 실행하면 Contactsdb 데이터베이스가 서버에 나타납니다.

데이터베이스 삭제

데이터베이스를 제거하려면 다음 구문이 포함된 DROP DATABASE 명령을 사용하십시오.

DROP DATABASE 데이터베이스_이름1 [, 데이터베이스_이름2]...

명령 뒤에 쉼표로 구분하여 삭제할 모든 데이터베이스를 나열할 수 있습니다. 예를 들어 ContactDB 데이터베이스를 삭제하는 경우는 다음과 같습니다.

DROP DATABASE 연락처DB

삭제되는 데이터베이스가 연결되어 있어도 모든 데이터베이스 파일은 계속 삭제된다는 점을 고려해 볼 가치가 있습니다.

소개

이 기사는 상호 작용의 기본을 다루는 짧은 시리즈를 시작합니다. Java의 데이터베이스(DB) 그리고 SQL 소개 . 많은 프로그램이 정보를 처리하고 수정하며 최신 상태로 유지하느라 바쁩니다. 데이터는 프로그램 로직의 매우 중요한 부분이므로 이를 위해 별도의 저장소가 할당되는 경우가 많습니다. 여기에 포함된 정보는 구조화되어 있으며 올바른 처리 및 저장을 보장하기 위해 특별한 규칙이 적용됩니다. 데이터는 특수 쿼리 언어인 SQL(구조적 쿼리 언어)을 사용하여 액세스하고 수정됩니다. 데이터베이스 관리 시스템- SQL을 포함하여 다양한 외부 프로그램과 데이터 및 추가 서비스(로깅, 복구, 백업 등)의 상호 작용을 보장하는 소프트웨어입니다. 즉, 데이터와 이를 사용하는 외부 프로그램 사이의 소프트웨어 계층입니다. 이 부분에서는 SQL이 무엇인지, SQL 서버가 무엇인지에 대한 질문에 답하고 DBMS와 상호 작용하는 첫 번째 프로그램을 만듭니다.

DBMS의 종류

데이터 저장소를 구성하는 방식에 따라 여러 유형의 DBMS가 있습니다.
  • 계층적.데이터는 트리 구조로 구성됩니다. 예를 들어 디스크 루트에서 시작하여 다양한 중첩 수준의 폴더와 다양한 유형의 파일 분기로 성장하는 파일 시스템이 있습니다.
  • 회로망.계층적 수정으로 각 노드는 둘 이상의 상위를 가질 수 있습니다.
  • 객체 지향.데이터는 OOP에 따른 속성과 상호 작용 원리를 사용하여 클래스/객체 형태로 구성됩니다.
  • 관계형.이러한 유형의 DBMS의 데이터는 테이블로 구성됩니다. 테이블은 서로 연결될 수 있으며 그 안의 정보는 구조화되어 있습니다.
이 일련의 기사에서는 H2를 예로 들어 관계형 DBMS(가장 일반적인 것)를 살펴보고 교환 작동 방식과 유사한 것을 에뮬레이트하는 애플리케이션을 처음부터 만들 것입니다. 질문: PostgreSQL, MySQL, MSSQL 또는 Oracle은 왜 안되나요? 답변:별도의 프로그램 세트를 설치하는 문제로 인해 주의가 산만해지지 않도록 합니다. 추가 구성, 데이터베이스 생성, 다양한 OS, 버전에서의 작업의 복잡성. H2를 사용하려면 최소한의 작업을 수행해야 합니다. 그러나 현재 H2 JDBC를 다른 제조업체의 관계형 DBMS로 변경하는 것을 방해하는 것은 없습니다(서버 주소 줄과 드라이버 클래스 이름만 변경됨).

SQL

외부 프로그램은 데이터 관리 언어인 구조적 쿼리 언어로 DBMS에 대한 쿼리를 생성합니다. SQL이란 무엇이며 기존 프로그래밍 언어와 어떻게 다릅니까? SQL의 특징 중 하나는 선언성입니다. 그건, SQL은 선언적 언어이다.. 즉, 명령을 입력할 때, 즉 SQL 서버에 대한 쿼리를 생성할 때 어떤 방식으로 얻고자 하는지가 아니라 정확히 무엇을 얻고 싶은지 설명합니다. SELECT * FROM CUSTOMER 요청을 서버에 보냅니다(SQL에서 러시아어로 대략적으로 변환: "COSTUMER 테이블에서 선택하십시오. 선택은 테이블의 모든 행으로 구성됩니다."), 우리는 모든 사용자에 대한 데이터를 받게 됩니다. 서버가 우리가 관심 있는 데이터를 다운로드하고 생성하는 방법과 위치는 전혀 중요하지 않습니다. 가장 중요한 것은 요청을 올바르게 작성하는 것입니다.
  • SQL Server란 무엇이고 어떻게 작동하나요? DBMS와의 상호 작용은 클라이언트-서버 원칙에 따라 발생합니다. 일부 외부 프로그램은 SQL 언어로 된 연산자와 명령의 형태로 요청을 보내고, DBMS는 이를 처리한 후 응답을 보냅니다. 단순화를 위해 SQL Server = DBMS라고 가정하겠습니다.
한 브랜드의 자동차를 운전할 수 있다면 다른 브랜드의 자동차도 문제 없이 운전할 가능성이 높습니다. 운전의 기본은 작은 디테일을 제외하고는 어디에서나 동일합니다. 다른 제조업체의 SQL 서버에서도 마찬가지입니다. 각 서버에는 자체 SQL 버전이 있지만 지정된 표준(SQL92, SQL2003...)을 충족합니다. 우리는 SQL92 프레임워크 내에서 연산자와 명령을 사용할 것입니다. 기본 SQL 문은 다음 그룹으로 구분됩니다.
  • 데이터 정의 언어( DDL) – 데이터 정의. 데이터베이스 구조 및 해당 개체 생성
  • 데이터 조작 언어( DML) – 데이터와의 실제 상호 작용: 삽입, 삭제, 수정 및 읽기;
  • 거래 제어 언어( TCL) – 거래 관리;
  • 데이터 제어 언어( DCL) – 데이터 및 데이터베이스 구조에 대한 액세스 권한을 관리합니다.
일련의 기사에서 우리는 DML에 특히 주목하면서 처음 세 그룹을 살펴볼 것입니다.

JDBC

지난 세기 80년대에는 PC XT/AT 유형의 개인용 컴퓨터가 시장을 장악했습니다. 이는 주로 디자인의 모듈성 때문이었습니다. 이는 사용자가 컴퓨터의 구성 요소 중 하나 또는 다른 구성 요소(프로세서, 비디오 카드, 디스크 등)를 매우 쉽게 변경할 수 있음을 의미합니다. 이 훌륭한 속성은 오늘날까지 보존되어 있습니다. 비디오 카드를 변경하고 드라이버를 업데이트합니다(때로는 자동으로 업데이트되기도 합니다). 대부분의 경우 이러한 조작으로 인해 나쁜 일이 발생하지 않으며 기존 프로그램은 다시 설치하지 않고도 업데이트된 시스템에서 계속 작동합니다. DBMS를 사용하여 Java로 작업할 때도 마찬가지입니다. SQL 서버와의 작업을 표준화하기 위해 단일 지점을 통해 SQL 서버와의 상호 작용을 수행할 수 있습니다. JDBC (Java 데이터베이스 연결). 패키지 구현입니다 java.sql DBMS 작업을 위한 것입니다. 널리 사용되는 모든 SQL 서버 제조업체는 해당 서버용 JDBC 드라이버를 출시합니다. 아래 다이어그램을 고려하십시오. 애플리케이션은 다음 클래스의 인스턴스를 사용합니다. java.sql. 그런 다음 데이터를 검색/수정하는 데 필요한 명령을 전달합니다. 더 나아가 java.sql~을 통해 JDBC 드라이버 DBMS와 상호 작용하고 완성된 결과를 우리에게 반환합니다. 다른 제조사의 DBMS로 전환하려면 JDBC를 변경하고 기본 설정만 하면 되는 경우가 많다. 프로그램의 나머지 부분은 변경되지 않습니다.

첫 번째 프로그램

실용적인 부분으로 넘어 갑시다. 다음을 사용하여 Java 프로젝트를 만들어 보겠습니다. IDE JetBrains IntelliJ IDEA. Ultimate Edition에는 SQL 및 데이터베이스 작업을 위한 훌륭한 도구가 포함되어 있습니다. 데이터 그립. 그러나 대부분의 사용자에게는 비용이 지불됩니다. 따라서 교육 목적으로는 공개적으로 사용 가능한 것만 사용할 수 있습니다. IntelliJ IDEA 커뮤니티 에디션. 이제 우리는 DBMS에 연결하고 연결을 끊는 방법을 알았습니다. 각 단계는 콘솔에 반영됩니다. DBMS에 처음 접속하면 데이터베이스 파일이 생성됩니다. stockExchange.mv.db .

코드 파싱

실제 코드: package sql. 데모; 자바를 가져옵니다. sql. *; 공개 클래스 StockExchangeDB(// 상수 선언 블록 공개 정적 최종 문자열 DB_URL ="jdbc:h2:/c:/JavaPrj/SQLDemo/db/stockExchange" ; 공개 정적 최종 문자열 DB_Driver = "org.h2.Driver" ; public static void main (String args) ( try ( Class.forName (DB_Driver) ;연결 연결 = DriverManager. getConnection(DB_URL) ; //데이터베이스 시스템에 연결합니다. 밖으로. 인쇄( "DBMS 연결이 완료되었습니다.") ; 연결. 닫다(); // 데이터베이스 연결 끊기체계. 밖으로. 인쇄( "DBMS와의 연결 해제가 완료되었습니다.") ; ) catch (ClassNotFoundException e) ( e.printStackTrace () ; // 오류 처리 Class.forName체계. 밖으로. 인쇄( "DBMS용 JDBC 드라이버를 찾을 수 없습니다!") ; ) catch (SQLException e) ( e.printStackTrace () ; // DriverManager.getConnection 오류 처리체계. 밖으로. println("SQL 오류!"); ) ) )

상수 블록:

  1. DB_드라이버: 여기서 우리는 정의했습니다 이름예를 들어 연결된 라이브러리를 클릭하고 현재 프로젝트의 lib 디렉터리에서 해당 구조를 확장하면 드라이버를 찾을 수 있습니다.
  2. DB_URL: 우리의 데이터베이스 주소입니다. 콜론으로 구분된 데이터로 구성됩니다.
  3. 프로토콜=jdbc
  4. 공급업체(제조업체/이름) DBMS=h2
  5. DBMS의 위치(이 경우에는 파일 경로(c:/JavaPrj/SQLDemo/db/stockExchange))입니다. 네트워크 DBMS의 경우 원격 서버의 이름이나 IP 주소, TCP/UDP 포트 번호 등이 추가로 표시됩니다.

처리 중 오류 발생:

코드에서 메서드를 호출하면 주의해야 할 오류가 반환될 수 있습니다. 이 단계에서는 간단히 콘솔에 보고합니다. DBMS 작업 시 오류가 가장 자주 발생합니다. SQL예외.

작동 논리:

  1. 클래스.for이름(DB_Driver) – 해당 JDBC 드라이버가 사용 가능한지 확인합니다(이전에 다운로드하여 설치했습니다).
  2. DriverManager.getConnection(DB_URL) – DBMS 연결을 설정합니다. 전달된 주소를 사용하여 JDBC 자체는 DBMS의 유형과 위치를 결정하고 데이터베이스와 통신하는 데 사용할 수 있는 연결을 반환합니다.
  3. 연결.닫기()– DBMS와의 연결을 종료하고 프로그램 작업을 종료합니다.
시리즈의 다음 부분에서는 DDL 연산자와 SQL 데이터 유형에 대해 알아보고 데이터베이스의 초기 구조를 만들고 테이블로 채울 것입니다.

이제 MySQL을 설치했고 우리는 SQL 언어를 마스터하기 시작했습니다. 데이터베이스 기본에 대한 3과에서는 포럼을 위한 소규모 데이터베이스의 개념적 모델을 만들었습니다. 이제 이를 MySQL DBMS에 구현할 차례입니다.

이를 위해서는 먼저 MySQL 서버를 시작해야 합니다. 시스템 메뉴 시작 - 프로그램 - MySQL - MySQL Server 5.1 - MySQL 명령줄 클라이언트로 이동합니다. 비밀번호를 입력하라는 창이 열립니다.

서버를 설정할 때 비밀번호를 지정하지 않은 경우 키보드에서 Enter를 누르고, 비밀번호를 지정한 경우 비밀번호를 지정하십시오. mysql> 초대를 기다리고 있습니다.

포럼이라고 부르는 데이터베이스를 만들어야 합니다. SQL에는 이에 대한 연산자가 있습니다. 데이터베이스 생성

데이터베이스 생성


데이터베이스 이름의 최대 길이는 64자이며 문자, 숫자, "_" 문자 및 "$" 문자를 포함할 수 있습니다. 이름은 숫자로 시작할 수 있지만 전체가 숫자로 구성되어서는 안 됩니다. 모든 데이터베이스 쿼리는 세미콜론(이 문자를 구분 기호라고 함)으로 끝납니다. 요청을 받은 서버는 요청을 실행하고 성공하면 "Query OK ..."라는 메시지를 표시합니다.

이제 포럼 데이터베이스를 만들어 보겠습니다.

Enter를 누르면 "Query OK..."라는 응답이 표시됩니다. 이는 데이터베이스가 생성되었음을 의미합니다.

그렇게 간단합니다. 이제 이 데이터베이스에 주제, 사용자, 메시지라는 3개의 테이블을 생성해야 합니다. 하지만 이 작업을 수행하기 전에 서버에 테이블을 생성할 데이터베이스를 알려주어야 합니다. 작업할 데이터베이스를 선택해야 합니다. 이를 위해 연산자가 사용됩니다. 사용. 작업할 데이터베이스를 선택하는 구문은 다음과 같습니다.

데이터베이스_이름을 사용하십시오.


이제 업무용 포럼 데이터베이스를 선택해 보겠습니다.

Enter를 누르고 "데이터베이스 변경됨" 응답을 확인하십시오. 데이터베이스가 선택되었습니다.

MySQL 작업의 각 세션에서 데이터베이스를 선택해야 합니다.

SQL에서 테이블을 생성하려면 연산자가 있습니다. 테이블 생성. 데이터베이스를 생성하는 구문은 다음과 같습니다.

table_name 테이블 생성(first_column_name 유형, second_column_name 유형, ..., last_column_name 유형);


테이블 및 열 이름에 대한 요구 사항은 데이터베이스 이름에 대한 요구 사항과 동일합니다. 각 열에는 연관된 특정 데이터 유형이 있으며, 이는 열에 저장할 수 있는 정보 유형을 제한합니다(예: 숫자 필드에 문자를 입력할 수 없음). MySQL은 숫자, 문자열, 달력 및 정보가 없음을 나타내는 특수 유형인 NULL 등 여러 데이터 유형을 지원합니다. 다음 강의에서 데이터 유형에 대해 자세히 설명하겠지만 지금은 표로 돌아가겠습니다. 여기에는 정수 값(int)과 문자열(text)이라는 두 가지 데이터 유형만 있습니다. 이제 첫 번째 테이블(주제:)을 만들어 보겠습니다.

Enter를 누르면 테이블이 생성됩니다.

그래서 우리는 세 개의 열이 있는 주제 테이블을 만들었습니다.
id_topic int - 주제 ID(정수 값),
topic_name 텍스트 - 주제 이름(문자열),
id_author int - 작성자 ID(정수 값).

비슷한 방식으로 나머지 두 테이블(사용자(사용자) 및 게시물(메시지))을 만들어 보겠습니다.

그래서 우리는 포럼 데이터베이스를 만들었고 그 안에 세 개의 테이블이 있습니다. 이제 우리는 이것을 기억하지만 데이터베이스가 매우 크면 모든 테이블과 열의 이름을 기억하는 것이 불가능합니다. 따라서 우리는 어떤 데이터베이스가 있는지, 그 안에 어떤 테이블이 있는지, 그리고 이 테이블에 어떤 열이 포함되어 있는지 확인할 수 있어야 합니다. SQL에는 이를 위한 여러 연산자가 있습니다.

데이터베이스 표시- 사용 가능한 모든 데이터베이스를 표시합니다.

테이블 표시- 현재 데이터베이스의 테이블 목록을 표시합니다(먼저 연산자를 사용하여 선택해야 합니다). 사용),

table_name 설명- 지정된 테이블의 열에 대한 설명을 표시합니다.

해보자. 사용 가능한 모든 데이터베이스를 살펴보겠습니다(지금까지 포럼은 하나만 있고 저는 30개가 있으며 모두 열에 나열되어 있습니다).

이제 포럼 데이터베이스의 테이블 목록을 살펴보겠습니다(이렇게 하려면 먼저 테이블을 선택해야 합니다). 각 요청 후에 Enter를 누르는 것을 잊지 마세요.

대답에는 세 테이블의 이름이 표시됩니다. 이제 주제 테이블과 같은 열에 대한 설명을 살펴보겠습니다.

처음 두 열은 우리에게 익숙합니다. 이는 이름과 데이터 유형이며 나머지 값은 아직 알아내야 합니다. 하지만 먼저 어떤 유형의 데이터가 있는지, 어떤 데이터를 언제 사용해야 하는지 알아 보겠습니다.

그리고 오늘 우리는 마지막 연산자를 살펴볼 것입니다 - 떨어지다, 테이블과 데이터베이스를 삭제할 수 있습니다. 예를 들어 주제 테이블을 삭제해 보겠습니다. 두 단계 전에 작업을 위해 포럼 데이터베이스를 선택했으므로 이제 선택할 필요가 없습니다. 간단히 작성할 수 있습니다.

테이블 table_name 삭제;


그리고 Enter를 누르세요.

이제 데이터베이스의 테이블 목록을 다시 살펴보겠습니다.

우리 테이블이 실제로 삭제되었습니다. 이제 포럼 데이터베이스 자체를 삭제해 보겠습니다(삭제하세요. 죄송합니다. 여전히 다시 실행해야 합니다). 이를 위해 다음과 같이 작성합니다.

데이터베이스 데이터베이스 이름 삭제;


그리고 Enter를 누르세요.

그리고 사용 가능한 모든 데이터베이스를 쿼리하여 이를 확인합니다.

아마도 단일 데이터베이스가 없을 것입니다. 저는 30개가 아닌 29개를 가지고 있습니다.

오늘은 그게 다야. 데이터베이스와 테이블을 생성하고 삭제하고 기존 데이터베이스, 테이블 및 해당 설명에 대한 정보를 검색하는 방법을 배웠습니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: