테이블 생성)
왼쪽 화면의 데이터베이스 밑에 Tables에서 우클릭 Create Table 클릭
Table Name에 테이블 이름 넣어주고 Column Name에 컬럼 이름 Datatype에 컬럼의 데이터 타입 넣어준다.
Default에는 디폴트로 나오는 값을 넣어준다
아무것도 넣지 않으면 Null값으로 나온다
데이터프레임의 인덱스처럼 데이터베이스에는 id가 있다 - 회사마다 id명 다르게정한다/RDBMS의 id는 숫자형이다
PK: Primary Key 중요한 키
NN: Not Null 널이 있을 수 없다
UN: Unsigned 부호가 없다 (음수가 없다)
AI : Auto Increment 자동 증가
위의 4가지를 체크해줘야한다
-관습상 id는 맨 처음으로 만들어준다
테이블 수정은 테이블칸에서 우클릭 후 Alter Table 클릭 아니면 오른쪽에 스패너 모양클릭
MySQL Workbench에서
-- 내용 : 주석
-sql 문장 맨 끝에 ; 꼭 붙여줘야 한다
-> 테이블에 추가하는 방법
insert into 데이터베이스이름.테이블이름
(컬럼명/테이블에있는 컬럼명 순서로 꼭 안써줘도 된다)
values
(넣을 값 / 위에 컬럼명 순서에 맞게 넣어줘야한다);
값이 여러개인 경우,
insert into 데이터베이스이름.테이블이름
(컬럼명)
values
(넣을 값),
(넣을 값),
(넣을 값) ...;
-insert할 때 만약에 컬럼의 길이제한이 7개까지인데 7개 초과하면 warning뜨고 데이터가 들어가지만 잘려서 7개까지만 들어간다 -> 그래서 유저가 패스워드를 1234라고 했는데 api서버에서 암호화시키면 200자이상이라 나중에 db에서 문제가생길수있다고 한다
->테이블 작업하기전에, 데이터베이스를 알려주고 작업하는 방법
use yhdb; -> 해당 데이터베이스 글씨 진해진다
->테이블에서 행 가져오는거
SELECT 컬럼명 FROM 테이블명;
-- 특정 값 없이, 인서트 하는 경우(default 값을 정하지 않았을 때)
insert into 테이블명
(한 개의 컬럼)
values
(값);
나머지 컬럼들은 안넣어줬다 경고도 안나오고 잘들어가지만 나머지 컬럼들에는 Null값이 들어간다
insert into 테이블명
()
values
();
모든값에 Null이 들어간다
● 개발자들은 INSERT/SELECT/UPDATE/DELETE을 CRUD 라고한다 (Create Read Update Delete)
UPDATE/DELETE할려고 할 때 이런 에러가 생긴다면?
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.
해결방법 첫번째!
set sql_safe_updates=0;
해결방법 두번째!
Workbench Preferences에서 안전모드(Safe mode)를 해제한다.
아래의 그림에 있는 부분에서 체크를 해제한후에 다시 workbench를 시작한다.
(이렇게 하면 항상 Safe모드가 해제된 상태이다)
문자열 데이터 다루기)
-author_fname, author_lname두개를 합해서 full_name으로 처리하고싶다
-concat(문자열 합치는 함수/공백없이)함수를 사용한다
select concat(author_fname, author_lname) as 'full name'
from books;
select concat(author_fname,' ', author_lname) as 'full name'
from books;
-책제목 : 작가 풀네임으로 나오도록 concat 사용
select concat(title,' : ', author_fname,' ', author_lname)
from books;
-concat_ws 공백 사이사이 넣어서 나오게 하는거
select concat_ws(' ',author_fname, author_lname, title)
from books;
-문자열 데이터의 일부분을 가져오는 함수
-substring 함수
ex) 쿠팡에서 상품이름 일부만 가져올때
-책 제목을 10글자만 보여주려한다.
-제목 컬럼은 short title 이라고 한다.
-substring(컬럼명,시작위치,가져올길이) / -도 쓸 수있다 그럼 뒤에서부터시작
select substring(title,1,10) as 'shrot title'
from books;
-제목 컬럼의 맨 뒤에서 7번째 글자부터 끝까지 가져오시오.
select substr(title,-7)
from books;
'데이터베이스 > RDBMS' 카테고리의 다른 글
테이블에 unique 설정하는 방법 (0) | 2023.06.15 |
---|---|
외래 키 지정했을 때 삭제하는 방법 (0) | 2023.06.14 |
MySQL Workbench에서 RDS MySQL에 연결하는 방법 (0) | 2023.06.09 |
Windows에서 MySQL Workbench 설치하는 방법 (0) | 2023.06.09 |
AWS MySQL Free Tier 설치 (0) | 2023.06.09 |