자주 사용하는 SQL 정리하기
시작하기
터미널을 켜 mysql.server start
로 서버를 실행해주고, mysql -uroot -p
와 비밀번호까지 입력하면 MariaDB를 실행할 수 있다.
객체 생성
SQL문의 마지막에는 꼭 세미콜론(;)을 붙여주어야 한다.
데이터베이스 확인하기
- show databases;
데이터베이스를 확인할 수 있다.
+--------------------+
| Database |
+--------------------+
| information_schema |
| megait1 |
| mysql |
| performance_schema |
| sys |
+--------------------+
show databases;
입력하여 지금 Database에 information_schema, megait1, mysql, performance_schema, sys
가 있다는 것을 알 수 있다.
여기서 megait1
은 내가 만든 거다.
데이터베이스 생성하기
- create database 데이터베이스이름;
데이터 베이스를 만들고 싶을 때 사용할 수 있다.
create database pongdang;
을 입력하여 pongdang
이라는 데이터베이스를 만들었다.
+--------------------+
| Database |
+--------------------+
| information_schema |
| megait1 |
| mysql |
| performance_schema |
| pongdang |
| sys |
+--------------------+
show databases;
를 통해서 잘 만들었는지 확인할 수 있다.
데이터베이스 이동
- use 데이터베이스이름
어떤 데이터 베이스로 이동하고 싶을 때 사용할 수 있다.
use pongdang;
을 입력하여 MariaDB [(none)]>
가 MariaDB [pongdang]>
으로 변경된 것을 알 수 있다.
계정 생성 및 권한주기
-
create user "아이디"@"%" identified by "비밀번호"
: 계정 생성 -
grant all privileges on 아이디.* to "데이터베이스이름"@"%"
: 데이터베이스와 계정을 연결 -
flush privileges
: 권한 적용 (새로고침) -
show grants for "아이디"@"%"
create user "pongpong"@"%" identified by "0121"
pongpong 이라는 아이디를 만들었다. 비밀번호는 비밀이다.
grant all privileges on pongpong.* to "pongdang"@"%"
pongpong 계정과 pongdang 데이터 베이스를 연결하여 계정에게 데이터베이스 권한을 준다.
flush privileges
권한을 적용하고 새로고침 한다.
show grants for "pongpong"@"%"
권한을 확인할 수 있다.
테이블
테이블 만들기
create table 테이블 이름 (내용);
create table member(
idx int(11) not null auto_increment,
id varchar(50) not null,
name varchar(50) default null,
phone varchar(50) default null,
primary key (idx)
);
member라는 이름을 가진 테이블을 만들었다.
테이블 확인하기
show tables;
로 내가 만든 테이블을 확인할 수 있다.
+--------------------+
| Tables_in_pongdang |
+--------------------+
| member |
+--------------------+
테이블 정보 보기
테이블의 정보를 보고 싶다면 desc 테이블이름;
을 입력하면 된다.
desc member
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| idx | int(11) | NO | PRI | NULL | auto_increment |
| id | varchar(50) | NO | | NULL | |
| name | varchar(50) | YES | | NULL | |
| phone | varchar(50) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
테이블 수정하기
alter table 테이블이름 명령어 상세내용;
예 |
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| idx | int(11) | NO | PRI | NULL | auto_increment |
| id | varchar(50) | NO | | NULL | |
| name | varchar(50) | YES | | NULL | |
| phone | varchar(50) | YES | | NULL | |
| zipcode | varchar(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+----------------+
alter table member add zipcode varchar(10) after phone;
-> member라는 테이블의 phone 항목 후에 zipcode 항목을 추가해라
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| idx | int(11) | NO | PRI | NULL | auto_increment |
| id | varchar(50) | NO | | NULL | |
| name | varchar(50) | YES | | NULL | |
| phone | varchar(50) | YES | | NULL | |
| zipcode | varchar(10) | YES | | NULL | |
| address | varchar(100) | YES | | NULL | |
+---------+--------------+------+-----+---------+----------------+
alter table member add address varchar(100) null;
-> member라는 테이블의 address 항목을 추가해라
+---------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+----------------+
| idx | int(11) | NO | PRI | NULL | auto_increment |
| id | varchar(50) | NO | | NULL | |
| name | varchar(50) | YES | | NULL | |
| phone | varchar(50) | YES | | NULL | |
| address | varchar(100) | YES | | NULL | |
+---------+--------------+------+-----+---------+----------------+
alter table member drop zipcode;
-> member라는 테이블의 zipcode 항목을 삭제해라
데이터 조작
데이터 읽기
select * from 테이블이름;
여기서 *은 테이블의 모든 항목들을 보겠다고 하는 것이다.
select * from member;
아직 만든 게 없어서 Empty set 이라고 뜬다.
select * from member;
는 select idx, id, name, phone, address from member;
와 같은 의미이다.
데이터 입력하기
insert into 테이블이름(항목들) values(항목의 값들);
insert into member(id, name, phone) values("aaa", "pong", "010-1111-2222");
데이터를 입력 후 select * from member;
를 통해 member의 데이터를 확인했다.
데이터 수정하기
update member set id="___" 조건문;
update member set id="dang" where idx = 1;
idx가 1이었던 pong이라는 이름이 dang으로 바뀐 것을 확인할 수 있다.
데이터 삭제하기
delete from 테이블 이름 조건문
delete from member where idx = 1;
idx가 1이었던 데이터가 사라져서 Empty set이 되었다.
와 넘 어렵당
Author And Source
이 문제에 관하여(자주 사용하는 SQL 정리하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pongdang/자주-사용하는-SQL-정리하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)