일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- vite
- concurrency control
- 코딩애플
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- Git
- 시스템프로그래밍
- 김영한
- 백엔드
- 갤럭시 S24
- 시그널 핸들러
- 커널 동기화
- SDK
- 개발남노씨
- Extendable hashing
- 운영체제와 정보기술의 원리
- B tree 데이터삽입
- 코딩테스트 [ ALL IN ONE ]
- 운영체제
- 반효경
- SQL
- 쉬운 코드
- recoverability
- 네트워크
- 쉬운코드
- 온디바이스AI
- CPU 스케줄링
- 트랜잭션
- 인터럽트
- 프로세스 주소 공간
- 데이터베이스
- Today
- Total
티끌모아 태산
SQL 본문
SQL(Structured Query Language)
데이터베이스는 데이터를 저장하고 관리하는 매커니즘을 제공한다. -> Integrated collection of structured data
관련된 DBMSs(Database Management systems)
- MySQL, Oracle, SQLite, etc.
- Use SQL: Perform queries and manipulate data
DB는 데이터를 테이블에 저장한다. 그리고 그 테이블은 행과 열로 구성되어 있다.
- Primary key는 데이블에 있는 열(column)이다.
- 행은 일반적으로 unique within a table, 하지만 특정 값이 여러 행안에 중복될 수 도 있다.
- Common Errors
- Primary 키의 각 열에 값을 제공하지 않으면 Entity Integrity 규칙이 깨지고 DBMS에서 오류를 보고합니다.
- 여러 행에서 동일한 primary 키 값을 제공하면 DBMS에서 오류를 보고합니다.
- 다른 테이블에서 primary 키 값으로 나타나지 않는 외래 키 값을 제공하면 Referential Integrity 규칙이 깨지고 DBMS에서 오류를 보고합니다.
SQL은 데이터베이스 안에 있는 데이터를 저장하고, 검색하고, 업데이트하기 위한 표준 언어이다.
SQL Keywords
Keywords은 NOT case sentitive(대소문자 구분). but 테이블과 열 이름은 대소문자를 구분합니다.
SQLite Data Types
SQLite는 Boolean type을 제공하지 않는다. 대신에 불리언 값들은 integers 0(false) 과 1(true)로 저장된다.
SELECT
데이터베이스에서 하나 또는 하나 이상의 테이블로부터 정보를 선택한다. SQL Comments: 한 줄 코멘트는 start with --
여러줄의 코멘트는 start with /* and end with */
-- all the columns
SELECT * FROM tableName;
SELECT authorID, lastName FROM Authrs;
the SELECT DISTINCT statement는 오직 유일한 값을 리턴한다. 중복값을 제거
SELECT DISTINCT City FROM Customers;
WHERE
쿼리에 대한 선택 기준을 명시화 한다. 오직 명시화된 조건에 맞게 필터 or 추출한다.
- SELECT: columnName1, columnName2,..
- FROM: tableName
- WHERE: criteria;
SELECT title, copyright FROM Titles WHERE copyright > 1999;
Operator LIKE는 패턴 매칭을 위해 사용한다.
SELECT authorID, lastName, firstName FROM Authors WHERE lastName LIKE 'D&';
ORDER BY
결과를 위로 혹은 아래로 정렬한다.
-- ASC: Ascending order, DESC: descending order
SELECT columnName1, columnName2 FROM tableName ORDER BY column ASC;
SELECT columnName1, columnName2 FROM tableName ORDER BY column DESC;
SELECT authorID, firstName, lastName FROM Authors ORDER BY lastName ASC;
INSERT
데이터베이스에 data를 삽입한다.
INSERT INTO tableName(columnName1, ... , columnNameN) VALUES(value1, ... , valueN);
-- E.g inserts a row into the Authors table
INSERT INTO Authors(firstName, lastName) VALUES('Sue', 'Smith');
NULL
NULL은 필드는 있는데, 값이 할당되지 않은 상태이다. A field with a NULL value is a field with no value. 즉 NULL값은 empty value 이다.
NULL 값인지 아닌지 확인하는 코드
SELECT CustomerName, Address FROM Custmers WHERE Address IS NULL;
SELECT CustomerName, Address FROM Custmers WHERE Address IS NOT NULL;
UPDATE
테이블을 수정한다. 기본적인 구조는 다음과 같다.
UPDATE tableName SET columnName1 = value1, ... , columnNameN = valueN WHERE criteria;
UPDATE Authors SET lastName = 'Jones' WHERE lastName = 'Smith'AND firstName = 'Sue';
DELETE
테이블에서 데이터를 제거한다.
DELETE FROM tableName WHERE criteria;
DELETE FROM Authors WHERE lastName = 'Jones' AND fistName = 'sue';
Merging Data from Multiple tables
데이터베이스 관리자는 종종 데이터베이스를 정규화 한다 -> 관련된 데이터를 sepatate tables로 분리시켜서 데이터를 관리한다.
INNER JOIN
두개 이상의 테이블로부터 행들을 합친다. 기본적인 구조는 다음과 같다.
SELECT columnName1, columnName2 FROM table1 INNER JOIN table2
ON table1.columnName = table2.columnName;
SELECT firstName, lastName, isbn FROM Authors INNER JOIN AuthoISBN
ON Authors.authorID = AuthorISBN.authoID ORDER BY lastName, firstName
'CS 지식 > 인터넷프로그래밍' 카테고리의 다른 글
Redux란 (0) | 2023.07.22 |
---|---|
JSON (0) | 2023.06.17 |
Introduction (0) | 2023.06.17 |