KDT/SQL
테이블 생성 및 데이터 입력
jhwannabe
2023. 3. 15. 15:55
1. DATABASE CRUD
데이터베이스 생성하기
# create database 데이터베이스명;
create database kdt;
데이터베이스 선택하기
# use 데이터베이스명
use kdt;
데이터베이스 삭제하기
# drop database 데이터베이스명;
drop database kdt;
2. TABLE CRUD
테이블 생성하기
create table member(
userid varchar(20) primary key,
userpw varchar(200) not null,
username varchar(20) not null,
hp varchar(20),
email varchar(50) not null,
gender varchar(10) not null,
ssn1 varchar(6) not null, # 주민번호 앞자리
ssn2 varchar(7), # 주민번호 뒷자리
zipcode varchar(5),
address1 varchar(100),
address2 varchar(100),
address3 varchar(100),
regdate datetime default now(), # 등록 날짜
point int default 0
);
테이블 확인하기
# desc 테이블명
desc member;
테이블 삭제하기
# drop table 테이블명
drop table member;
테이블 필드 추가하기
# alter table 테이블명 add 컬럼명 데이터타입 제약조건
alter table member add mbti varchar(10);
테이블 필드 수정하기
# alter table 테이블명 modify column 컬럼명 데이터타입 제약조건
alter table member modify column mbti varchar(20);
테이블 필드 삭제하기
# alter table 테이블명 drop 컬럼명
alter table member drop mbti;
3. DATA CRUD
데이터 삽입하기
# insert into 테이블명 values (값1, 값2, ..)
# insert into 테이블명 (필드명1, 필드명2, 필드명3, ..) values (값1, 값2, 값3, ..)
create table word(
eng varchar(50) primary key,
kor varchar(50) not null,
lev int
);
select * from word;
insert into word values ('apple','사과',1); # 항상 필드의 개수가 맞아야 함
insert into word values ('banana','바나나'); # Error Code: 1136. Column count doesn't match value count at row 1
insert into word values ('banana','바나나',null);
insert into word values ('orange',null,null); # Error Code: 1048. Column 'kor' cannot be null
insert into word (eng, kor, lev) values ('melon','메론',2);
insert into word (eng, kor) values ('orange','오렌지');
insert into word (eng) values ('cherry'); # Error Code: 1364. Field 'kor' doesn't have a default value
member 테이블 데이터 입력
insert into member (userid, username, userpw, gender, email, ssn1) value ('apple', '김사과', '1234', '남자','apple@apple.com', '000101');
insert into member (userid, username, userpw, gender, email, ssn1) value ('banana', '반하나', '2345', '여자','banana@banana.com', '001001');
insert into member (userid, username, userpw, gender, email, ssn1) value ('orange', '오랜지', '3456', '남자','orange@orange.com', '001205');
insert into member (userid, username, userpw, gender, email, ssn1) value ('melon', '이메론', '4567', '남자','melon@melon.com', '011111');
insert into member (userid, username, userpw, gender, email, ssn1) value ('cherry', '채애리', '5678', '여자','cherry@cherry.com', '990101');
select * from member;
데이터 삭제하기
# delete from 테이블명;
# delete from 테이블명 where 조건절;
delete from member where userid = 'apple'; # userid가 'apple'인 사용자를 삭제 (apple 전체행 삭제)
delete from member where gender = '남자';
delete from member; #Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.
#To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
#safe모드 풀기
데이터 수정하기
update member set point = 100; #전체 포인트 100점 추가
update member set point = point+300 where gender='여자'; #inplace연산(point = 300은 300으로 바뀌니까)
# 문제1 banana 회원의 이메일을 banana@naver.com 변경
update member set email='banana@naver.com' where userid='banana';
# 문제2 orange 회원의 우편번호를 '12345', 주소1은 '서울시 서초구', 주소2는 '양재동', 주소3은 '아파트 101동 101호'로 변경
update member set zipcode = '12345', address1 = '서울시 서초구', address2 = '양재동', address3='아파트 101동 101호' where userid = 'orange';
728x90
반응형