SQL(structured Query Language)

  • DBMS에게 질의를 위한 명령어

DDL(Data Definition Language)

 

create / alter / drop


DML(Data Manipulation Language)

 

select / insert / update / delete


DCL(Data Control Language)

 

grant / revoke



DDL(Data Definition Language)

 

create 

 

새로운 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성할 때 사용한다.


CREATE OBJECT_TYPE OBJECT_NAME
(
    COLUMN1 DATA_TYPE,
    COLUMN2 DATA_TYPE,
    ...
);
CREATE TABLE MEMBER
(
    ID			NUMBER,
    PWD			VARCHAR2(50),
    NAME		VARCHAR2(50),
    GENDER		VARCHAR2(50),
    AGE			NUMBER,
    BIRTHDAY		VARCHAR2(50),
    PHONE		VARCHAR2(50),
    REGDATE		DATE
)

alter

 

이미 존재하는 데이터베이스 객체를 수정할 때 사용한다. 주로 열 추가, 수정, 삭제 등의 작업에서 활용 됨.


ALTER OBJECT_TYPE OBJECT_NAME
ACTION;
ALTER TABLE MEMBER
ADD EMAIL VARCHAR2(100);

drop

 

이미 존재하는 데이터베이스 객체를 삭제할 때 사용된다. 삭제하면 데이터도 함께 삭제될 수 있다.

 

DROP OBJECT_TYPE OBJECT_NAME;
DROP TABLE MEMBER;

오라클 데이터 형식

 

오라클에서는 싱글 따옴표 (') 를 사용하고, 더블 따옴표(")는 다른 의미를 가진다.

 

Character 형식

  • CHAR : CHAR 데이터 형식은 고정 길이 문자열을 저장하는 데 사용됩니다. 정의된 길이보다 짧은 문자열을 저장하면 나머지 공간이 공백으로 채워집니다.
CREATE TABLE Person (
    ID NUMBER,
    FirstName CHAR(30),
    LastName CHAR(30)
);

 

  • VARCHAR2 : VARCHAR2 데이터 형식은 가변 길이 문자열을 저장하는 데 사용됩니다. 최대 길이를 지정할 수 있으며, 저장된 문자열은 지정된 길이 내에서 저장됩니다.
CREATE TABLE Product (
    ProductID NUMBER,
    ProductName VARCHAR2(100),
    Description VARCHAR2(255)
);

 

  • NCHAR : NCHAR 데이터 형식은 고정 길이의 유니코드 문자열을 저장하는 데 사용됩니다. 문자의 길이는 바이트가 아닌 문자 수로 계산됩니다.
CREATE TABLE InternationalOrder (
    OrderID NUMBER,
    CustomerName NCHAR(50),
    Address NCHAR(100)
);

 

  • NVARCHAR2 : NVARCHAR2 데이터 형식은 가변 길이의 유니코드 문자열을 저장하는 데 사용됩니다. 최대 길이를 지정할 수 있으며, 문자의 길이는 바이트가 아닌 문자 수로 계산됩니다.
CREATE TABLE InternationalProduct (
    ProductID NUMBER,
    ProductName NVARCHAR2(100),
    Description NVARCHAR2(255)
);

 

  • LONG : Character data of variable length up to 2 gigabytes, or 231 -1 bytes. Provided for backward compatibility
  • CLOB : 대용량 텍스트 데이터 타입 (최대 4Gbyte)
  • NCLOB : 대용량 텍스트 유니코드 데이터 타입 ( 최대 4Gbyte)

 

'IT > SQL' 카테고리의 다른 글

[Oracle SQL]  (0) 2023.08.30

✏️ for in 

 

for-in은 자바스크립트에서 객체의 속성을 열거하기 위해 사용되는 반복문입니다. for-in 문은 객체의 속성을 순회하면서 반복 작업을 수행합니다. 각 속성은 반복할 때마다 변수에 할당되어 사용할 수 있습니다.

 

예시:

var obj = { a: 1, b: 2, c: 3 };

for (var prop in obj) {
  console.log(prop + ": " + obj[prop]);
}
 

 

위의 예시에서 for-in 문을 사용하여 obj 객체의 속성을 순회하고, 각 속성과 해당 값이 출력됩니다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...in

 

for...in - JavaScript | MDN

for...in문은 상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다. (Symbol로 키가 지정된 속성은 무시합니다.)

developer.mozilla.org


✏️ for of

 

for-of는 ES6부터 도입된 자바스크립트의 반복문입니다. for-of 문은 배열과 같이 반복 가능한(iterable) 객체를 순회하기 위해 사용됩니다. for-of 문은 각 요소를 순회하면서 반복 작업을 수행합니다.

 

예시:

 
var arr = [1, 2, 3];

for (var element of arr) {
  console.log(element);
}

 

위의 예시에서 for-of 문을 사용하여 arr 배열의 요소를 순회하고, 각 요소가 출력됩니다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of

 

for...of - JavaScript | MDN

for...of 명령문은 반복가능한 객체 (Array, Map, Set, String, TypedArray, arguments 객체 등을 포함)에 대해서 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를

developer.mozilla.org

 

✏️ Infinity

 

Infinity 전역 속성은 무한대를 나타내는 숫자 값입니다.

 

 
const maxNumber = Math.pow(10, 1000); // Max positive number

if (maxNumber === Infinity) {
  console.log('Let\'s call it Infinity!');
  // Expected output: "Let's call it Infinity!"
}

console.log(1 / maxNumber);
// Expected output: 0

 

 
console.log(Infinity);          /* Infinity */
console.log(Infinity + 1);      /* Infinity */
console.log(Math.pow(10,1000)); /* Infinity */
console.log(Math.log(0));       /* -Infinity */
console.log(1 / Infinity);      /* 0 */
console.log(1 / 0);             /* Infinity */

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Infinity

 

Infinity - JavaScript | MDN

Infinity 전역 속성은 무한대를 나타내는 숫자 값입니다.

developer.mozilla.org


✏️ isFinite()

 

isFinite() 전역 함수는 주어진 값이 유한수인지 판별합니다. 필요한 경우 매개변수를 먼저 숫자로 변환합니다.

 

 

구문

   isFinite(testValue)

 

매개변수

testValue

유한한지 판별할 값.

반환 값

testValue가 양 또는 음의 Infinity, NaN, 또는 undefinedfalse, 아니면 true.

설명

isFinite()은 최상위 함수로 어떤 객체와도 연결되지 않았습니다.

숫자가 유한수인지 판별하기 위해 isFinite()을 사용할 수 있습니다. isFinite()은 주어진 수를 검사해 그 값이 NaN, 양의 무한대, 또는 음의 무한대이면 false를 반환합니다. 그렇지 않으면 true를 반환합니다.

예제

isFinite() 사용하기

 

isFinite(Infinity);  // false
isFinite(NaN);       // false
isFinite(-Infinity); // false

isFinite(0);         // true
isFinite(2e64);      // true
isFinite(910);       // true

isFinite(null);      // true, would've been false with the
                    // more robust Number.isFinite(null)

isFinite('0');       // true, would've been false with the
                    // more robust Number.isFinite("0")

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/isFinite

 

isFinite() - JavaScript | MDN

isFinite() 전역 함수는 주어진 값이 유한수인지 판별합니다. 필요한 경우 매개변수를 먼저 숫자로 변환합니다.

developer.mozilla.org

 

'IT > JavaScript' 카테고리의 다른 글

[JS] ✏️ NaN (Not a Number) / isNaN()  (0) 2023.07.17
[JS] ✏️ Nullish (??)  (0) 2023.07.17
[JS] ✏️ Logical AND(&&) & OR( | | )  (0) 2023.07.17
[JS] ✏️ Truthy && Falsey  (0) 2023.07.17
[JS] ✏️ eval(), JSON.parse(), JSON.stringify()  (0) 2023.07.17

✏️ NaN (Not a Number)

 

전역 NaN 속성은 Not-A-Number(숫자가 아님)를 나타냅니다.

 

function sanitise(x) {
  if (isNaN(x)) {
    return NaN;
  }
  return x;
}

console.log(sanitise('1'));
// Expected output: "1"

console.log(sanitise('NotANumber'));
// Expected output: NaN

NaN을 반환하는 연산에는 다섯 가지 종류가 있습니다.

 

  • 숫자로 변환 실패 (예시: parseInt("blabla"), Number(undefined)와 같은 명시적인 것 또는 Math.abs(undefined)와 같은 암시적인 것)

 

  • 결과가 허수인 수학 계산식 (예시: Math.sqrt(-1))

 

  • 정의할 수 없는 계산식 (예시: 0 * Infinity, 1 ** Infinity, Infinity / Infinity, Infinity - Infinity)

 

  • 피연산자가 NaN이거나 NaN으로 강제 변환되는 메서드 또는 표현식 (예시: 7 ** NaN, 7 * "blabla") - 이것은 NaN이 전염성 있다는 것을 의미합니다.

 

  • 유효하지 않은 값이 숫자로 표시되는 기타 경우 (예시: 잘못된 날짜 new Date("blabla").getTime(), "".charCodeAt(1))

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN

 

NaN - JavaScript | MDN

전역 NaN 속성은 Not-A-Number(숫자가 아님)를 나타냅니다.

developer.mozilla.org

 


✏️ isNaN()

 

NaN은 “==”, “!=” 연산자로 판별할 수 없다.값이 NaN인지 확인하려면, Number.isNaN() 또는 isNaN()를 사용하여 값이 NaN인지 여부를 확인 할 수 있습니다. 또는 NaN은 자신과 같지 않다고 비교되는 유일한 값이므로 x !== x와 같은 자체 비교를 수행할 수 있습니다.

 

 
NaN === NaN;        // false
Number.NaN === NaN; // false
isNaN(NaN);         // true
isNaN(Number.NaN);  // true

function valueIsNaN(v) {
  return v !== v;
}
valueIsNaN(1);          // false
valueIsNaN(NaN);        // true
valueIsNaN(Number.NaN); // true

 

그러나 isNaN()Number.isNaN()의 차이를 유의해야 합니다. isNaN은 현재 값이 NaN이거나, 숫자로 변환했을 때 NaN이 되면 참을 반환하지만, Number.isNaN은 현재 값이 NaN이어야만 참을 반환합니다.

 

 
isNaN('hello world'); // true
Number.isNaN('hello world'); // false



같은 이유로 BigInt 값을 사용하면 Number.isNaN()이 아닌 isNaN()에서 오류가 발생합니다.

 

 
isNaN(1n); // TypeError: Conversion from 'BigInt' to 'number' is not allowed.
Number.isNaN(1n); // false

 

또한 일부 배열 메서드는 NaN을 찾을 수 없는 반면에 다른 배열 메서드들은 찾을 수 있습니다. 즉, (indexOf(), lastIndexOf())는 NaN을 찾을 수 없지만, includes()는 값을 찾을 수 있습니다.

 

 
const arr = [2, 4, NaN, 12];
arr.indexOf(NaN); // -1
arr.includes(NaN); // true

// 적절하게 정의된 조건자를 허용하는 메서드는 항상 NaN을 찾을 수 있습니다.
arr.findIndex((n) => Number.isNaN(n)); // 2

 

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/isNaN

 

isNaN() - JavaScript | MDN

isNaN() 함수는 어떤 값이 NaN인지 판별합니다. isNaN 함수는 몇몇 혼란스러운 케이스을 가지고 있으므로, ECMAScript 2015에서 추가한 Number.isNaN()으로 바꾸는 편이 좋을 수도 있습니다.

developer.mozilla.org

 

'IT > JavaScript' 카테고리의 다른 글

[JS] ✏️ Infinity / ifFinite()  (0) 2023.07.17
[JS] ✏️ Nullish (??)  (0) 2023.07.17
[JS] ✏️ Logical AND(&&) & OR( | | )  (0) 2023.07.17
[JS] ✏️ Truthy && Falsey  (0) 2023.07.17
[JS] ✏️ eval(), JSON.parse(), JSON.stringify()  (0) 2023.07.17

✏️ nullish


The nullish coalescing (??) operator is a logical operator that returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.

 

var kor = null ?? 10;//null 로만 한정해서 기본값을 만들고 싶을 때
var kor = false ?? 10;
var kor = false || 10;// falsy를 기반으로 기본값을 만들고 싶을 때
console.log(kor);



https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing

 

Nullish coalescing operator - JavaScript | MDN

널 병합 연산자 (??) 는 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자이다.

developer.mozilla.org

 

🟩 논리적 AND(&&)


논리적 AND (&&)은 피연산자를 왼쪽에서 오른쪽으로 평가하면서 첫 거짓 같은 피연산자를 만나면 즉시 그 값을 반환합니다. 만약 모든 값이 참 같은 값이라면 마지막 피연산자의 값이 반환됩니다.
만약 어떤 값이 true로 변환 가능하다면 그 값은 소위 참 같은 값(truthy)이라 합니다. 만약 어떤 값이 false로 변환 가능하다면 그 값은 소위 거짓 같은 값(falsy) 이라고 합니다.

 

result = '' && 'foo';  // result 에 ""(빈 문자열)이 할당됩니다
result = 2 && 0;       // result 에 0 이 할당됩니다
result = 'foo' && 4;   // result 에 4 가 할당됩니다.

 

a1 = true && true // t && t returns true
a2 = true && false // t && f returns false
a3 = false && true // f && t returns false
a4 = false && (3 === 4) // f && f returns false
a5 = 'Cat' && 'Dog' // t && t returns "Dog"
a6 = false && 'Cat' // f && t returns false
a7 = 'Cat' && false // t && f returns false
a8 = '' && false // f && f returns ""
a9 = false && '' // f && f returns false




https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Logical_AND

 

논리적 AND (&&) - JavaScript | MDN

논리적 AND (&&) (논리적 연결) 연산자는 모든 불리언 피연산자가 true가 되었을 때 해당 피연산자의 집합은true가 됩니다.

developer.mozilla.org


🟩 논리적 OR(||)

 

If x can be converted to true, returns x; else, returns y.

If a value can be converted to true, the value is so-called truthy. If a value can be converted to false, the value is so-called falsy.

 

 
true || true; // t || t returns true
false || true; // f || t returns true
true || false; // t || f returns true
false || 3 === 4; // f || f returns false
"Cat" || "Dog"; // t || t returns "Cat"
false || "Cat"; // f || t returns "Cat"
"Cat" || false; // t || f returns "Cat"
"" || false; // f || f returns false
false || ""; // f || f returns ""
false || varObject; // f || object returns varObject

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR

 

Logical OR (||) - JavaScript | MDN

The logical OR (||) (logical disjunction) operator for a set of operands is true if and only if one or more of its operands is true. It is typically used with boolean (logical) values. When it is, it returns a Boolean value. However, the || operator actual

developer.mozilla.org


✏️ or and를 같이 쓸 때 우선순위는?

 

"&&" >> "||"   

 

“&&”   - > 이놈이 더 우선순위 높음

 

 
true || false && false; // returns true, because && is executed first
(true || false) && false; // returns false, because grouping has the highest precedence

 

'IT > JavaScript' 카테고리의 다른 글

[JS] ✏️ Infinity / ifFinite()  (0) 2023.07.17
[JS] ✏️ NaN (Not a Number) / isNaN()  (0) 2023.07.17
[JS] ✏️ Nullish (??)  (0) 2023.07.17
[JS] ✏️ Truthy && Falsey  (0) 2023.07.17
[JS] ✏️ eval(), JSON.parse(), JSON.stringify()  (0) 2023.07.17

+ Recent posts