Back-End Study/mySQL

사용자계정 생성 및 삭제 1. 사용자 계정 생성 및 삭제 - 예전에 만든 계정이 존재하여, 다시 공부할 겸, 확인한 후, 삭제하고 다시 생성해보겠습니다. - #1. xampp 프로그램에 들어간 후, shell을 클릭하여 접속합니다. - #2. shell에 mysql -u root -p를 입력하여 root로 접속합니다. (초기 비밀번호를 생성하지 않았다면, 엔터를 누릅니다.) → 그러면 Welcome to the monitor이라고 나옵니다. - #3. 여기서 use mysql; 입력 후, select host, user from user; 라고 입력합니다. → 그러면 예전에 생성했던 계정이 있습니다. - #4. DROP USER 유저명@서버명을 입력하여 계정을 삭제합니다. → 입력해보니 에러가 발생했네요..
AQueryTool 1. AQueryTool - 사이트 링크 - 무료 ERD 다이어그램 사이트
ⅩⅠ. 회원가입 만들기 1. 회원가입 만들기 - 회원가입을 할 수 있도록 아이디와 비밀번호를 입력받은 후, 테이블을 작성하게 만듦 (회원가입 시, 중복을 막게 함) - SQLYog에 다음과 같이 입력 DROP DATABASE IF EXISTS JDBCTest; CREATE DATABASE JDBCTest; USE JDBCTest; # 게시글 테이블 생성 CREATE TABLE article( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, regDate DATETIME NOT NULL, updateDate DATETIME NOT NULL, title CHAR(100) NOT NULL, `body` TEXT NOT NULL ); # 회원 테이블 생성 C..
Ⅹ. DBUtil과 SecSql을 이용하여 Main의 방식 수정 1. DBUtil과 SecSql을 이용하여 Main의 방식 수정 - DBUtil과 SecSql을 이용하여 article write, modify, list의 방식을 수정함 - Article.java에 다음과 같이 입력 package exam; import java.util.Map; public class Article { public int id; public String regDate; public String updateDate; public String title; public String body; public Article(int id, String title, String body) { this.id = id; this.title..
Ⅸ. article DELETE 기능 구현 1. article DELETE 기능 구현 - 그냥 article delete를 하면 삭제할 수 있지만, 잘못되면 다른 곳을 제거할 수 있는 위험이 있음 → 그래서 있을 경우에 제거될 수 있도록 설정해야 함 - SQLErrorException, DBUtil과 SecSql 추가 및 이를 이용해 article DELETE를 구현 - SQLErrorException.java에 다음과 같이 입력 package exam_Exception; public class SQLErrorException extends RuntimeException { private Exception origin; public SQLErrorException(String message, Except..
Ⅷ. 게시물 수정기능 구현 1. 게시물 수정기능 구현 - 게시물을 수정하기 위해서는 Main.java에 다음과 같이 입력함 package exam; import java.sql.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("==프로그램 시작=="); int lastArticleId = 0; while (true) { System.out.printf("명령어 ) "); String cmd = sc.nextLine().trim(); if (cmd.equals("exit")) { System.out.prin..
Ⅶ. article list 시, 데이터를 DB로부터 가져오기 1. article list 시, 데이터를 DB로부터 가져오기 - Main.java에 다음과 같이 입력 - article list 시, 데이터를 DB로부터 가져와서 출력함 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("==프로그램 시작=="); int lastArticleId = 0; while (true) { System.out.printf("명령어 ) "); String cmd = sc.nextLine().trim(); if (cmd.equals("exit")) { System..
Ⅵ. JDBC SELECT 테스트 1. JDBC SELECT 테스트 - 테이블을 선택하여 출력하고 싶을 경우에 사용 - Article.java에 다음과 같이 입력 package exam; public class Article { public int id; public String regDate; public String updateDate; public String title; public String body; public Article(int id, String title, String body) { this.id = id; this.title = title; this.body = body; } public Article(int id, String regDate, String updateDate, S..
Ⅴ. 게시물 작성 시, DB에 INSERT 1. 게시물 작성 시, DB에 INSERT - java에서 테이블을 만들어 SQLyog에도 출력이 되는지 확인 - sts4에 다음과 같이 입력 package exam; import java.sql.*; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("==프로그램 시작=="); List articles = new ArrayList(); int lastArticleId = 0; while (true) { System.out.printf("명령어 ) "); String c..
Ⅳ. Insert Test 1. Insert Test - 자바를 통해 DB를 추가하는 테스트를 실행 - SQLyog에 다음과 같이 입력 (테이블을 추가함) DROP DATABASE IF EXISTS JDBCTest; CREATE DATABASE JDBCTest; USE JDBCTest; CREATE TABLE article ( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, regDate DATETIME NOT NULL, updateDate DATETIME NOT NULL, title CHAR(100) NOT NULL, `body` TEXT NOT NULL ); INSERT INTO article SET regDate = NOW(), updateDat..
Ⅲ. JDBC 연결 테스트 1. mysql-connector-j - mysql과 자바를 연결할 파일을 만듦 - 다운로드 링크 2. JDBC 연결 테스트 - SQLyog와 sts4를 이용하여 연결함 - SQLyog에 다음과 같이 입력 DROP DATABASE IF EXISTS JDBCTest; CREATE DATABASE JDBCTest; USE JDBCTest; - 그 후, sts4에 다음과 같이 입력 - 연결 성공 시, '연결 성공!' 이라고 출력되고 실패 시, 예외처리로 '드라이버 로딩 실패' 라고 출력됨 package exam; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public ..
Ⅱ. 게시물 작성과 리스팅 1. Article 파일 생성 - id, title, body를 입력할 수 있는 Article.java 파일 생성 public class Article { public int id; public String title; public String body; public Article(int id, String title, String body) { this.id = id; this.title = title; this.body = body; } @Override public String toString() { return "Article [id=" + id + ", title=" + title + ", body=" + body + "]"; } } 2. 게시물 작성과 리스팅 - ar..
Ⅰ. JDBC (Java Database Connectivity) 1. JDBC (Java Database Connectivity) - 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API - 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공 ※ 에디터로 STS4를 사용 2. 첫 커밋 - 프로그램을 생성하고 명령어를 통해 조작함 - exit 를 입력 시, '===종료===' 출력 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("==프로그램 시작=="); while (true) { Sy..
셀프 조인, 서브 쿼리 실습 - 다음과 같은 EMP(사원) 테이블이 있음 - 다음과 같은 DEPT(부서) 테이블이 있음 - 다음과 같은 SALGRADE 테이블이 있음 1. 이름, 직속 상사 이름을 조회 (MGR : 직속상사 사원번호) SELECT e1.ename, e2.ename FROM emp e1 INNER JOIN emp e2 ON e1.mgr = e2.empno; 2. 이름,직속 상사 이름을 조회 (단, 직속 상사가 없는 사람도 직속상사 결과가 null값으로 나와야 함) SELECT e1.ename, e2.ename FROM emp e1 LEFT JOIN emp e2 ON e1.mgr = e2.empno; 3. 이름,부서명을 조회 (단, 사원테이블에 부서번호가 40에 속한 사원이 없지만 부서번호 ..
SELF JOIN 과 서브 쿼리 1. SELF JOIN - 같은 테이블을 붙이는 조인 - 한 테이블 안에서 키와 키 값을 참조하는 컬럼을 동시에 가지고 있을 때, 진행 가능 - 같은 테이블을 두번 사용하기 때문에 별명을 붙여서 사용해야 함 2. 서브쿼리 (SubQuery) - 메인 쿼리(실제 작동시킬 쿼리) 안에 ( )를 이용해 먼저 실행하는 쿼리를 넣어 해당 결과를 메인 쿼리에 사용 - 메인 쿼리를 보조한다고 해서 서브쿼리라고 함 3. 서브쿼리의 종류 - 스칼라 서브쿼리 : SELECT에서 사용 - 인라인뷰 서브쿼리 : FROM에서 사용 - 중첩 서브쿼리 : WHERE에서 사용
NewBean
'Back-End Study/mySQL' 카테고리의 글 목록