'DB연동'에 해당되는 글 3건

  1. 2018.08.29 C# DB연동 1
  2. 2018.08.18 파이썬 DB연동 - PyMySQL + MySQL 1
  3. 2018.08.17 자바 DB연동 - JDBC + MySQL

C# DB연동



C#에서 MySQL DataBase 연동하는 방법입니다.


먼저 C# 프로그램에서 MySQL과 연동하기 위해서는 Connector가 필요합니다.


아래 링크로 들어가 다운받아 줍니다.


https://dev.mysql.com/downloads/connector/net/8.0.html


설치가 완료되었으면 Visual Studio를 실행하고


C# - Windows Forms 앱을 만들어 줍니다. (저는 프로젝트 명을 DBConnectionTest 라고 지었습니다.)


그리고 아래와 같이 솔루션 탐색기의 참조를 우클릭하여 참조 추가(R)를 선택합니다.





아래와 같은 참조 관리자가 실행되는데 우측 상단에 검색란에 mysql이라고 검색합니다.


(만약 MySql.Data가 나타나지 않는다면 아랭의 찾아보기(B)를 눌러 위에서 설치한 Connect의 경로를 추가합니다)





참고로 제 데이터베이스 테이블입니다.


테이블 구조입니다.




데이터는 하나만 추가했습니다.






다시 Visual Studio로 와서 최상단에 아래와 같이 입력합니다.


using MySql.Data.MySqlClient;


참조했던 MySql.Data를 사용하겠다는 뜻입니다.


그리고 Form1 안에 아래와 같이 변수를 선언해줍니다.


public static String url = "SERVER=LOCALHOST; USER=; DATABASE=;" + 

            "PORT=3306; PASSWORD=; SSLMODE=NONE";

        // DB접속 URL 설정 - SERVER : DB주소, USER : ID명, DATABASE : DB명, PORT : TCP 포트번호

        // PASSWORD : 비밀번호, SSLMODE : NONE (SSL 사용안함)

private MySqlConnection mConnection; // DB접속

private MySqlCommand mCommand; // 쿼리문

private MySqlDataReader mDataReader; // 실행문


기본 설명은 주석으로 처리하였습니다.


Form1.cs[디자인]에서 폼을 더블클릭하여 Form1_Load를 생성하여 아래와 같이 작성합니다.


또한 TextBox도 하나 생성해줍시다.


private void Form1_Load(object sender, EventArgs e)

{

    mConnection = new MySqlConnection(url); // DB접속

    mCommand = new MySqlCommand(); // 쿼리문 생성

    mCommand.Connection = mConnection; // DB에 연결


    mCommand.CommandText = "SELECT * FROM TEST"; // 쿼리문 작성

    mConnection.Open(); // DB 오픈

    mDataReader = mCommand.ExecuteReader(); // 쿼리문 실행


    while (mDataReader.Read()) // 전부 다 읽어 옴

    {

        // 여기서 부터 원하는 데이터를 받아와서 처리

        string tempName = mDataReader["name"].ToString();

        string tempPhone = mDataReader["phone"].ToString();

        string tempAge = mDataReader["age"].ToString(); 


        textBox1.AppendText("이름 : " + tempName + "\n");

        textBox1.AppendText("전화번호 : " + tempPhone + "\n");

        textBox1.AppendText("나이 : " + tempAge + "\n");

    }


    mConnection.Close(); // 사용 후 객체 닫기

}


아래는 전체 코드입니다.


using MySql.Data.MySqlClient;

using System;

using System.Windows.Forms;


namespace DBConnectionTest

{

    public partial class Form1 : Form

    {

        public static String url = "SERVER=LOCALHOST; USER=; DATABASE=;" + 

            "PORT=3306; PASSWORD=; SSLMODE=NONE";

        // DB접속 URL 설정 - SERVER : DB주소, USER : ID명, DATABASE : DB명, PORT : TCP 포트번호

        // PASSWORD : 비밀번호, SSLMODE : NONE (SSL 사용안함)

        private MySqlConnection mConnection; // DB접속

        private MySqlCommand mCommand; // 쿼리문

        private MySqlDataReader mDataReader; // 실행문

        

        public Form1()

        {

            InitializeComponent();

        }


        private void Form1_Load(object sender, EventArgs e)

        {

            mConnection = new MySqlConnection(url); // DB접속

            mCommand = new MySqlCommand(); // 쿼리문 생성

            mCommand.Connection = mConnection; // DB에 연결


            mCommand.CommandText = "SELECT * FROM TEST"; // 쿼리문 작성

            mConnection.Open(); // DB 오픈

            mDataReader = mCommand.ExecuteReader(); // 쿼리문 실행


            while (mDataReader.Read()) // 전부 다 읽어 옴

            {

                // 여기서 부터 원하는 데이터를 받아와서 처리

                string tempName = mDataReader["name"].ToString();

                string tempPhone = mDataReader["phone"].ToString();

                string tempAge = mDataReader["age"].ToString(); 


                textBox1.AppendText("이름 : " + tempName + "\n");

                textBox1.AppendText("전화번호 : " + tempPhone + "\n");

                textBox1.AppendText("나이 : " + tempAge + "\n");

            }


            mConnection.Close(); // 사용 후 객체 닫기

        }

    }

}


실행화면입니다.


아래와 같이 데이터베이스에 존재하는 내용을 받아와 출력한 화면입니다.




이외에도 UPDATE, DELETE, INSERT와 같이 쿼리문과 코드만 살짝 수정해서 사용 할 수 있습니다.


지금까지 C#과 MySQL DataBase 연동하는 방법에 대해 알아보았습니다.






정보가 유익하셨다면 아래 공감버튼 눌러주시면 감사하겠습니다.

질문사항은 댓글로 달아주시면 성의껏 답변해드리겠습니다.





Python에서 MySQL DB를 사용하기 위해서는 PyMySQL을 설치해야 합니다.


PyMySQL은 다음 공식 사이트에서 다운로드 가능합니다.
https://github.com/PyMySQL/PyMySQL

* 설치방법
1. CMD창을 관리자 권한으로 실행
2. Python이 설치된 폴더 하위 폴더 Scripts로 이동
ex) cd C:\Users\user\AppData\Local\Programs\Python\Python36-32\Scripts
3. 다음 명령어 실행 
pip install pymysql
4. Successfully installed pymysql-0.7.9 이 출력되면 설치 완료

* 설치환경
1. 파이썬 : Python 3.6
2. 파이썬 개발 툴 : PyCharm Community Edition 2018.1.4
3. 데이터베이스 :  MySQL 5.1.41-community


* 소스코드

import pymysql

conn = pymysql.connect(host 'localhost'user 'id'password 'password' ,db 'DB명')
# host = DB주소(localhost 또는 ip주소), user = DB id, password = DB password, db = DB명
curs = conn.cursor()

sql = "SELECT * FROM TABLE명" # 실행 할 쿼리문 입력
curs.execute(sql) # 쿼리문 실행

rows = curs.fetchall() # 데이터 패치

for in rows :
     print(i)

conn.close()

쿼리문과 for문에서 데이터를 적절히 처리해서 필요한 프로그램에 사용하면 됩니다.
오류나 질문사항은 댓글로 달아주세요.




이번에는 Java Eclipse에서 JDBC를 통해 Mysql DB를 연동하는 방법에 대해 알아보겠습니다.

- JDBC란? Java DataBase Connectivity로 자바에서 데이터베이스에 접속 할 수 있도록 자바에서 제공하는 API입니다. 


* 환경
JDK : jdk1.8.0_171
자바 개발 툴 : eclipse-jee-oxygen-3a-win32
데이터베이스 : MySQL 5.1.41-community

* 소스코드
import java.sql.*; 

public class dbtest { 
          public static void main(String arg[]) throws Exception { 
                    Connection conn; 
                    Statement stmt; 
                    ResultSet rs; 

                    Class.forName("com.mysql.jdbc.Driver");  // JDBC driver를 메모리에 로드
                    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/DB명", 
                              "ID", "PASSWORD"); 
                    stmt = (Statement) conn.createStatement(); 
                    rs=stmt.executeQuery("SELECT * FROM TABLE명");  // 원하는 쿼리문 실행

                    while(rs.next()) { 
                              System.out.print(rs.getString("id") + " ");  
                              System.out.println(rs.getString("password")); 
                    

                    rs.close(); 
                    stmt.close(); 
                    conn.close();
          
}

코드는 매우 간단합니다.
먼저 JDBC Driver를 사용하기 위해 Class.forName을 사용하여 메모리에 등록하고
DriverManager를 통해 DB에 접속합니다.
그리고 쿼리를 준비하고 원하는 쿼리문을 실행하고 받은 데이터를 처리합니다.
마지막으로 정상적인 처리를 위해 사용한 객체들을 역순으로 닫아주면 됩니다.

위 SELECT 문 사용 예제를 통해 INSERT, DELETE, UPDATE 문을 활용하여 프로그램을 제작해 보면
어떨까요?

에러나 질문사항은 댓글로 달아주세요.



to Top