SQL

배추·2025년 10월 2일
0

⚙️ DATABASE

목록 보기
2/4

SQL문에 대해 알아봅니다.


▶︎ SQL

  • structured query language
  • 관계형 데이터베이스를 프로그래밍 쪽으로 제어하기 위한 컴퓨터 언어.
  • 관계형데이터베이스들은 모두 sql언어를 지원하고 있다.

🌟테이블 create: CREATE TABLE

  • 조건
    • NULL: 값이 없는 걸 허용.
    • NOT NULL
    • AUTO_INCREMENT: 자동으로 1씩 증가.
  • PRIMARY KEY
    • 중복을 방지.
    • 성능적 측면.
CREATE TABLE 테이블명(
	컬럼1 datatype(length) 조건1 조건2,
	컬럼2 datatype(length) 조건3,
    PRIMARY KEY 칼럼1
);
CREATE TABLE 테이블명(
	id INT(11) NOT NULL AUTO_INCREMENT,
	title VARCHAR(100) NOT NULL,
    description TEXT NULL,
    created DATETIME NOT NULL,
    author VARCHAR(30) NULL,
    profile VARCHAR(100) NULL,
    PRIMARY KEY (id)
);

🌟데이터 create: INSERT

  • 지정된 컬럼에 값 삽입
INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3, ...)
VALUES (1,2,3, ...);
  • 모든 컬럼에 값 삽입
INSERT INTO 테이블명
VALUES (1,2,3, ...);
  • 다른 테이블에서 데이터를 가져와 삽입
INSERT INTO 테이블1 (컬럼1, 컬럼2)
SELECT 컬럼1, 컬럼2
FROM 테이블2;

🌟데이터 read: SELECT

  • 테이블 가져오기
SELECT * FROM 테이블명;
  • 특정 컬럼만 가져오기
SELECT 컬럼1, 컬럼2 FROM 테이블명;

WHERE

  • 특정한 행 찾기
SELECT * FROM 테이블명 WHERE id = 2;
SELECT * FROM 테이블명 WHERE id > 2 AND author_name = 'june';

ORDER BY

  • 정렬
SELECT * FROM 테이블명 ORDER BY id DESC;
SELECT * FROM 테이블명 ORDER BY id ASC;

LIMIT

  • 일부의 데이터만 가져오기
SELECT * FROM 테이블명 LIMIT 2; -- 2개만 가져오기
SELECT * FROM 테이블명 LIMIT 0,2; -- 0부터 2개만 가져오기 -> 페이징 구현

JOIN

  • 분리된 두 개의 테이블을 결합
SELECT * FROM 테이블1
LEFT JOIN 테이블2
ON 테이블1.칼럼 = 테이블2.칼럼 -- 조건
SELECT topic.id as topic_id,title,description,created,name,profile FROM topic
LEFT JOIN author
ON topic.id = author.id
-- id가 2개여서 오류 -> topic.id로 명시
-- id를 topic_id로 출력 -> as topic_id로

🌟데이터 update: UPDATE

UPDATE 테이블명 SET 칼럼1='값1', 칼럼2='값2'
WHERE id=1; 
-- where문을 지정하지 않으면 모든 데이터가 다 수정된다.

🌟데이터 delete: DELETE

DELETE FROM 테이블명
WHERE id=3; 
-- where문을 지정하지 않으면 모든 데이터가 다 삭제된다.

그 외

  • DESC: 테이블 구조 확인. describe.
DESC 테이블명
profile
난 🥬

0개의 댓글