728x90
반응형
MariaDB를 다운하지 않으신 분은 이곳의 포스팅을 참고하셔서 다운로드하시고 VisualStudio에 연동하지 않으신 분은 이곳의 포스팅을 참고하셔서 연동하시길 바랍니다.
C#에서 MariaDB 사용하는 법은 간단합니다. MySqlCommand에 명령어(CREATE, INSERT, UPDATE, SELECT 등)를 입력하고 데이터를 불러올 때에만 MySqlDataReader를 사용하시면 됩니다.
private void dbQuery(string q){
string conn_string = "Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
cmd.CommandText = q;
// 데이터 불러올 때만 사용 ------------------------------
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// 데이터 형식은 reader[0], reader[1], 이런식으로 꺼내어서 사용 가능합니다.
}
--------------------------------------------------------*/
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
아래의 예제에서는 매번 연결하도록 코드를 작성하였지만, 편의에 따라서 연결 부분을 바깥으로 빼내어서 공통으로 사용하시는 것을 추천드립니다.
DATABASE 생성(Test라는 DATABASE 생성)
private void createDatabase(){
string conn_string = "Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "CREATE DATABASE [데이터베이스 이름];";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
DATABASE 삭제
private void createDatabase(){
string conn_string = "Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "DROP DATABASE [데이터베이스 이름];";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
DATABASE 선택
private void deleteDatabase(){
string conn_string = "Server=127.0.0.1;Port=3306;Uid=root;Pwd=지정하신 비밀번호 입력";
// 아래처럼 바로 연결하도록 설정하셔도 됩니다.
// string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "USE [데이터베이스 이름];";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
TABLE 생성
private void createTable(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "CREATE TABLE [테이블이름]([열 이름] INT, [열 이름] VARCHAR(10));";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
TABLE 삭제
private void deleteTable(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "DROP TABLE [테이블 이름];";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
데이터 입력
private void insertData(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "INSERT INTO [테이블 이름] VALUES('값1', '값2', ...);";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
데이터 수정
private void updateData(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "UPDATE [테이블 이름] SET [열 이름] = '값1' WHERE [열 이름] = '값2';";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
데이터 삭제
private void deleteData(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "DELETE FROM [테이블 이름] WHERE [열 이름]='값';";
cmd.CommandText = sql_query;
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
데이터 검색
private void selectData(){
// 데이터베이스 연결
string conn_string = "Server=127.0.0.1;Port=3306;Database=[데이터베이스 이름];Uid=root;Pwd=지정하신 비밀번호 입력";
MySqlConnection conn = new MySqlConnection(conn_string);
MySqlCommand cmd = conn.CreateCommand();
try
{
conn.Open();
string sql_query = "SELECT * FROM [테이블 이름] WHERE [열 이름]='값';";
cmd.CommandText = sql_query;
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// 데이터 형식은 reader[0], reader[1], 이런식으로 꺼내어서 사용 가능합니다.
}
}
catch (Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
finally
{
conn.Close();
}
}
반응형
'프로그램 개발 > C#' 카테고리의 다른 글
[wpf] Path (0) | 2022.04.29 |
---|---|
[wpf] NotifyIcon/TrayIcon 사용하기 (0) | 2021.11.02 |
Interactivity 오류 해결 (0) | 2021.08.16 |
[wpf] c# ZedGraph 사용하기 - 선 그래프 간단 설정 방법 (0) | 2021.07.13 |
[wpf] c# ZedGraph 사용하기 - 기본 사용법 (0) | 2021.07.12 |