SQL(22)
-
[SQL 독학] MS SQL - Micosoft SQL Server
회사에서 MS SQL로 주로 작업을 하게 될 것 같아 자주 사용하는 것들 위주로 MS SQL Server를 추가적으로 공부하고 자주 쓰이거나 MySQL과 다른 문법들은 아래에 정리할 예정이다. [간단정리] SQL 문과 종류 DDL(Data Definition Language, 데이터 정의 언어) CREATE : 데이터베이스나 테이블 등을 작성한다 DROP : 데이터베이스나 테이블 등을 샂게한다 ALTER : 데이터베이스나 테이블 등을 구성을 변경한다 DML(Data Manipulation Language, 데이터 조작 언어) SELECT : 테이블에서 행을 검색한다 INSERT : 테이블에 신규행을 등록한다 DELETE : 테이블에서 행을 삭제한다 DCL(Data Control Language, 데이터 ..
2022.08.04 -
[SQL 독학] Python과 MySQL 연동하기
파이썬과 pymysql 라이브러리를 설치한 후 MySQL과 연동하는 데이터베이스 연동 프로그램을 작성할 수 있다. 데이터 입력 # 파이썬 아이들에서 작성 # MySQL 연결 import pymysql conn = pymysql.connect(host='내컴터 번호', user='사용자', password='지정 비번', charset='utf8') # charset='utf8'은 한글 오류 해결을 위해 추가 # 커서 생성 cur = conn.cursor() # 테이블 만들기 cur.execute("CREATE TABLE userTable (id char(4), userName char(15), email char(20), birthYear int)") # 데이터 입력하기 (하나씩 입력하기) cur.exe..
2022.07.28 -
[SQL 독학] 트리거(trigger)
트리거(trigger) 트리거란 테이블에 INSERT, UPDATE, DELETE 작업이 발생하면 실행되는 코드로 자동으로 수행하여 사용자가 추가 작업을 잊어버리는 실수를 방지해준다. 이는 데이터의 무결성을 지켜준다. 스토어드 프로시저와 문법이 비슷하지만 CALL 문으로 직접 실행시킬 수 없고 오직 테이블에 DML문의 이벤트가 발생했을 때만 자동으로 실행된다. 또한 IN, OUT 매개변수를 사용할 수 없다. # 예시1 DELIMITER $$ CREATE TRIGGER myTrigger -- 트리거 이름 AFTER DELETE -- 삭제후에 작동하도록 지정 / DELETE, INSERT, UPDATE 필요한 거 선택 ON trigger_table -- 트리거를 부착할 테이블 FOR EACH ROW -- 각..
2022.07.27 -
[SQL 독학] 스토어드 함수와 커서 개념
스토어드 함수 스토어드 프로시저와 비슷하지만 엄연히 다른 기능으로 SUM(), CAST(), CONCAT(), CURRENT_DATE() 등이 여기에 해당된다. 기본 형식과 활용 예시는 아래와 같다. # 기본 형식 DELIMITER $$ CREATE FUNCTION 스토어드_함수_이름(매개변수) RETURNS 반환형식 BEGIN 이곳에 프로그래밍 코딩 RETURN 반환값; END $$ DELIMITER ; SELECT 스토어드_함수_이름(); # 예시2 DELIMITER $$ CREATE FUNCTION sumFunc(number1 INT, number2 INT) RETURNS INT BEGIN RETURN number1 + number2; END $$ DELIMITER ; SELECT mem_id, m..
2022.07.26 -
[SQL 독학] 스토어드 프로시저의 개념과 사용법
스토어드 프로시저(Stored Procedure) 예전에 간단히 집고 넘어간 적이 있는데 SQL에 프로그래밍 기능을 추가해서 일반 프로그래밍 언어와 비슷한 효과를 낼 수 있게 해주는 기능이다. 스토어드 프로시저를 만드는 완전한 형식은 다소 복잡하고 가장 많이 되는 필수적인 형식은 다음과 같다. DELIMITER $$ CREATE PROCEDURE 스토어드_프로시저_이름(IN 또는 OUT 매개변수) BEGIN 스토어드 프로시저 내용 : SQL 프로그래밍 코드를 작성 END $$ DELIMITER ; 비유를 하자면 스토어드 프로시저 생성 : 커피 자판기 만들기 스토어드 프로시저 호출 : 커피 뽑기 이므로 스토어드 프로시저를 만들었다고 해서 실행(호출)한 것은 아니다. 스토어드 프로시저 호출하는 형식은 다음과..
2022.07.26 -
[SQL 독학] 인덱스 생성/제거 문법
인덱스 생성/제거 문법 형식 # 인덱스 생성 CREATE [UNIQUE] INDEX 인덱스_이름 ON 테이블_이름 (열_이름) [ASC | DESC] # 기본은 오름차순(ASC), 둘 중 필요한 거 선택 # 인덱스 제거 DROP INDEX 인덱스_이름 ON 테이블_이름 [대괄호] 안에 들어가 있는 건 선택이다. CREATE INDEX를 하면 중복이 허용되는 인덱스이지만 CREATE UNIQUE INDEX를 하면 고유 인덱스를 만드는 것이라 기존에 입력된 값들과 앞으로 입력될 값에 중복이 있어서는 안 된다. 위 과정은 사용자가 직접 지정해주는 인덱스의 생성/제거 방법이고 자동으로 생성된 인덱스의 경우 기본키나 외래키를 삭제함으로써 제거가 가능하다.
2022.07.25