본문 바로가기
정보처리기능사

MySQL 사용 방법

by dongjin6539 2023. 3. 13.
728x90
반응형

MySQL

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.

MySQL은 다중 사용자, 다중 스레드 RDBMS로서, 데이터의 안정성과 보안성을 제공합니다. MySQL은 대부분의 운영 체제에서 작동하며, 웹 애플리케이션 개발, 데이터 분석, 빅 데이터, 클라우드 기반 애플리케이션 등에 많이 사용됩니다.

MySQL은 SQL(Structured Query Language)을 사용하여 데이터를 관리합니다. SQL은 데이터베이스에 저장된 데이터를 조작하기 위한 표준적인 언어로서, 데이터를 검색, 삽입, 업데이트, 삭제하는데 사용됩니다.MySQL은 이러한 SQL 문을 이용하여 데이터를 쿼리하고, 데이터의 무결성을 유지하며, 데이터베이스를 관리합니다.

MySQL은 사용이 간편하며, 대용량 데이터베이스를 처리할 수 있는 고성능 기능을 제공합니다.또한, 오픈 소스로서, 다양한 개발자들이 지속적으로 개발 및 유지보수하고 있어, 사용자들이 다양한 문제들을 해결할 수 있는 방법을 제공합니다.

컴퓨터의 명령 프롬프트를 실행해서 MYSQL을 사용합니다.

 

명령 프롬프트 프로그램

 

MYSQL 설치
MAMP란 웹사이트를 개발할 때 쓰이는 기술 스택인 mac05, Apache, MySQL, PHP의 약어이자 솔루션 스택이다. 
https://www.mamp.info/en/downloads/

 

MYSQL 실행
윈도우 : cd /MAMP/bin/mysql/bin
로그인 : mysql -uroot(아이디) -proot(비밀번호)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
맥 : cd /Applications/MAMP/Library/bin
로그인 : ./mysql -uroot(아이디) -proot(비밀번호)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

데이터베이스
  • 데이터베이스 보기
show databases;
mysql> show databases;
+-----------------------+
| Database          	   |
+-----------------------+
| information_schema   |
| mysql                         |
| performance_schema |
| sys                		   |
+-----------------------+
4 rows in set (0.00 sec)
  • 데이터베이스 만들기 
create database 데이터베이스 이름;
mysql> create database sample01;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+-----------------------+
| Database                   |
+-----------------------+
| information_schema   |
| mysql                         |
| performance_schema |
| sample01                   |
| sys                              |
+-----------------------+
5 rows in set (0.00 sec)
  • 데이터베이스 사용
use 데이터베이스 이름;
mysql> use sample01;
Database changed
  • 데이터베이스 삭제
drop database 데이터베이스 이름;
mysql> drop database sample01;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+-----------------------+
| Database                   |
+-----------------------+
| information_schema   |
| mysql                         |
| performance_schema |
| sys                              |
+-----------------------+
4 rows in set (0.00 sec)

 

테이블
  • 테이블 만들기
create table 테이블 이름;
create table member2 (
    myMemberID int(10) unsigned auto_increment,
    youEmail varchar(40) NOT NULL,
    youName varchar(20) NOT NULL,
    youPass varchar(20) NOT NULL,
    youBirth int(20) NOT NULL,
    youAge int(5) NOT NULL,
    regTime int(20) NOT NULL,
    PRIMARY KEY (myMemberID)
) charset=utf8;
  • 테이블 전체보기
show tables;
mysql> show tables;
+---------------------+
| Tables_in_sample01 |
+---------------------+
| member                  |
+---------------------+
1 row in set (0.00 sec)
  • 테이블 보기
desc 테이블 이름;
mysql> desc member;
+--------------+------------------+------+-----+---------+-----------------+
| Field             | Type                   | Null  | Key  | Default | Extra                |
+--------------+------------------+------+-----+---------+-----------------+
| myMemberID | int(10) unsigned | NO   | PRI  | NULL    | auto_increment |
| youEmail       | varchar(40)        | NO   |        | NULL    |                          |
| youName      | varchar(20)        | NO   |        | NULL    |                          |
| youPass        | varchar(20)         | NO   |        | NULL    |                          |
| youBirth        | int(20)                | NO   |        | NULL    |                          |
| youAge         | int(5)                  | NO   |        | NULL    |                          |
| regTime        | int(20)                | NO   |        | NULL    |                          |
+--------------+------------------+------+-----+---------+-----------------+
7 rows in set (0.01 sec)
  • 테이블 삭제
drop table 테이블 이름;
mysql> drop table member;
Query OK, 0 rows affected (0.07 sec)

mysql> show tables;
Empty set (0.00 sec)
  • 테이블 복사
구조복사
특징 : 기존 테이블의 설정 그대로 복사 된다.
Create Table new_table like old_table
구조와 데이터 복사
특징 : 테이블의 구조와 함께 데이터도 함께 복사가 된다.
Create Table new_table ( select * from old_table )
데이터 복사
* 대상 테이블의 컬럼 중에 자동 증가 값 설정 이 된 컬럼이 있을 경우 해당 컬럼에 데이터 입력시 중복된 데이터가 있으면 오류 발생.
Insert Into destination_table ( select * form source_table)

 

참고

https://dongjin6539.github.io/web2023/mysql/index.html

728x90
반응형