ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2023 - 07 - 14 쿼리문 Query - 데이터 생성, 수정, 삭제, 조회
    Today I Learned/TIL 07 2023. 7. 18. 09:30

     

    1. SELECT : 데이터를 불러오는  쿼리문

     

    1. SELECT 컬럼명 FROM 테이블명 (모든 컬럼을 가져올경우 컬럼명에 *)
    
    
    2. SELECT 컬럼명 FROM 테이블명 WHERE 조건
    (컬럼명=값)으로 적을 겨우, 컬럼명의 값이 지정한 값인 데이터행의 데이터만 불러옴
    
    3. SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC
    (ASC= 오름차순, DESC=내림차순)
    
    
    4. SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORDER BY 컬럼명 ASC or DESC LIMIT 개수
    LIMMIT구문을 추가해 데이터행이 많을때, LIMIT절의 개수만큼 데이터 불러옴

     

    2. INSERT : 데이터를 삽입하는 쿼리문

    1. INSERT INTO 테이블명 (컬럼명1, 컬럼명2, 컬럼명3) VALUE (값1, 값2, 값3)
    
    테이블명에 있는 컬럼명 순서에 맞게 값을 입력한다. 컬럼명과 값의 개수는 동일해야 함.
    만약 문자열을 값으로 입력하는 경우, 작은따옴표로 문자열을 감싸줘야 함.
    
    ex) INSERT INTO Employees (Id, Firstname, Lastname) VALUES (100, 'Jake', 'Lee')
    
    
    2. INSERT INTO 테이블명 VALUE (값1, 값2, 값3)
    
    컬럼명을 입력하지 않았으므로, 테이블에 모든 컬럼의 값을 입력하므로, "값"을 "컬럼의 수"에 맞춰서 입력한다.
    
    ex) 컬럼이 (Id, Firstname, Lastname) 3개인 테이블에서
    
    INSERT INTO Employees VALUE (100m 'Jake')  실패
    INSERT INTO Employees VALUE (100m 'Jake', 'Lee')  성공

     

    3. UPDATE : 데이터를 수정하는 쿼리문

     

    1. UPDATE 테이블명 SET 컬럼명 = 변경할 값
    테이블에 있는 모든 데이터의 컬럼 값을 변경함.
    
    2. UPDATE 테이블명 SET 컬럼명 = 변경할 값 WHERE 조건
    WHERE절에 조건에 해당하는 데이터만 변경 ((ex) WHERE컬럼명 = 값)
    
    3. UPDATE 테이블명 SET 컬럼명1 = 변경할 값1, 컬럼명2 = 변경할 값2 WHERE 조건
    변경할 컬럼이 여러개일때, 콤마를 사용해 여러 개 값을 변경할 수 있음

     

     

    4. DELETE : 데이터를 삭제하는 쿼리문

     

    1. DELETE FROM 테이블명
    테이블에 있는 모든 데이터를 삭제
    
    
    2. DELETE FROM 테이블명 WHERE 조건
    WHERE절에 조건에 합하는 데이터만 삭제

     

     

    function users (name, email, password){
        if(name){
            `INSERT name INTO users where name like "%${name}"`
        } else if (email){
            `INSERT email INTO users where name like "%${email}"`
        } else if (password){
            `INSERT password INTO users where name like "%${password}"`
        }
    }
    
    
    
    function posts (user, title, contents){
        if(user){
            `INSERT user INTO posts where name like "%${userInfo.id}"`
        } else if (title){
            `INSERT title INTO posts where name like "%${title}"`
        } else if (contents){
            `INSERT contents INTO posts where name like "%${contents}"`
        }
    
    }
    
    
    
    function TABLE ( A, B, C, D){ 
        if(A && B){
        `SELECT * FROM TABLE where A like "%${A}%" and B like "%${B}%"`
        }
        else if(C && D){
        `SELECT * FROM TABLE where C like "%${C}%" and D like "%${D}%"`
        }
    }
    
    const find = (table, conditions, orderby, attributes) => {
        if(!table){
            throw Error("table does not exist")
        }
    
        const orderbyField = orderby || "id" // WHERE뒤에 무조건 조건이 나와야함
        const where = conditions && conditions.length > 0 ? `WHERE ${conditions.join("and")}` : ""
        const attrs = attributes && attributes.length > 0 ? attributes.join(", ") : "*"
        const query = `SELECT * FROM ${table} ${where} ORDER BY ${orderbyField} DESC` // Limit 1
    
        con[result] = con.execute(query)
        return result; // return query;
    }
    
    const keyword = "게시"
    const email = "gmail"
    const name = "jake"
    const id = 10
    
    
    
    
    
    
    // 함수화 해보기
    app.get("/posts", (req, res) => {
        const {name, email} = req.query
        let query =""
    
    if (name && email) {
        query = `SELECT * FROM users where name like "%${name}%"and email like "%${email}%""`
    } else if (email) {
        query = `SELECT * FROM users where email like "%${email}%"`
    } else if (name) {
        query = `SELECT * FROM users where name like "%${name}%"`
    } else {
        query = `SELECT * FROM users`
    }
    })
    
    
    app.get("/posts", (req, res) => {
        const {keyword, orderby} = req.query
        let query =""
    if (keyword) {
        query = `SELECT * FROM posts where title like "%${keyword}%"`
    } else {
        query = `SELECT * FROM posts`
    }
    
    if (orderby) {
        query = `${query} order by ${orderby} desc`
    } else {
        query = `${query} order by id desc`
    }
    })

    댓글

Designed by Tistory.