[MariaDB] 컬럼 타입 변경하기

코딩/데이터베이스|2020. 10. 27. 23:29

728x90

우선 컬럼의 타입 변경이 필요한 상황을 만들어보겠습니다. 저는 아무 테이블도 존재하지 않는 test라는 이름의 데이터베이스를 사용하도록 하겠습니다. 

 

MariaDB [(none)]> use test;

 

 

test 데이터베이스 안에 user라는 이름의 테이블을 생성하겠습니다. id와 name 두 개의 컬럼으로 구성된 테이블을 만들어주겠습니다. 

 

MariaDB [test]> CREATE TABLE user (id INT(11) NOT NULL AUTO_INCREMENT, name VARCHAR(10) NOT NULL, PRIMARY KEY(id));

 

 

user 테이블의 컬럼들의 특성을 살펴보겠습니다. 

 

MariaDB [test]> SHOW COLUMNS FROM user;

 

name 컬럼의 타입 varchar(10)

 

여기서 name 열의 타입을 주목해주세요. varchar(10)으로 되어 있습니다. 영어기준으로 10개의 문자를 입력받을 수 있다는 뜻입니다. 그러면 문자가 10개 짜리인 name을 입력해보겠습니다. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('bskyvision');

 

 

쿼리에 성공했습니다. 이번에는 10개가 넘는 문자열을 입력해보겠습니다. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('blueskyvision');

 

 

보시다시피 에러 메시지가 뜹니다. name 컬럼에 대한 데이터로써 너무 길다고 말해주고 있죠. 10개 이하의 문자열은 문제 없습니다. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('sim');

 

 

그러면 이제 user 테이블의 행들을 모두 읽어보겠습니다. 

 

MariaDB [test]> SELECT * FROM user;

 

 

아까 blueskyvision을 name 열에 넣어준건 반영이 안 되었고 나머지는 모두 반영이 된 것을 확인하실 수 있습니다. 그런데 blueskyvision과 같이 비교적 긴 이름도 입력이 가능하게 하고 싶다면 어떻게 해야할까요? 

 

컬럼의 타입을 바꿔주면 됩니다. 다음과 같은 쿼리를 주면 됩니다. 이 포스팅에서 가장 중요한 부분입니다. 

 

MariaDB [test]> ALTER TABLE user MODIFY name varchar(30);

 

 

컬럼의 특성이 바뀌었는지 확인해보겠습니다. 

 

MariaDB [test]> SHOW COLUMNS FROM user;

 

varchar(10)이 varchar(30)으로 바뀌었죠?

 

varchar(10)이었던 타입이 varchar(30)으로 잘 바뀌었죠?

 

이제 좀 더 긴 이름들을 허용하는지 테스트해보겠습니다. 아까 문제였던 blueskyvision부터 넣어보겠습니다. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('blueskyvision');

 

 

성공했구요. 좀 더 긴 이름도 넣어보겠습니다. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('blueskyvision is bskyvision');

 

 

마지막으로 긴 이름 하나만 더 넣어볼게요. 

 

MariaDB [test]> INSERT INTO user (name) VALUES ('abcdefghijklmnopqrstuvwxyz');

 

 

자, 그럼 user 테이블의 모든 행을 한번 읽어보겠습니다.

 

MariaDB [test]> SELECT * FROM user;

 

 

입력한 이름이 테이블에 모두 다 잘 들어가있네요.^^

 

 

b스카이비전의 추천글

[sqlite3] 기본 명령어 및 create, read, update, delete 하는 법 정리

[sqlite3] 데이터 오름차순 및 내림차순으로 정렬하기

코딩/데이터베이스|2020. 10. 23. 09:22

728x90

다음과 같은 행들을 담고 있는 테이블이 있다고 가정하고 시작하겠습니다. 테이블명은 student입니다. 

 

 

저는 name 열의 값을 가나다 순으로 정렬하고 싶습니다. 이때 필요한 쿼리는 다음과 같습니다. 

 

sqlite> SELECT * FROM student ORDER BY name;

 

 

가나다순으로 잘 정렬된 것을 확인하실 수 있습니다. 그러면 이번에는 역순으로 정렬해보겠습니다. DESC만 추가해주면 됩니다. 

 

sqlite> SELECT * FROM student ORDER BY name DESC;

 

 

가나다 역순으로 잘 정렬되었습니다.

 

이번에는 score 열의 값을 기준으로 정렬을 해보겠습니다. 낮은 점수부터 시작해서 높은 점수로 정렬이 됩니다. 

 

sqlite> SELECT * FROM student ORDER BY score;

 

 

마찬가지로 DESC를 붙여주면 내림차순으로 정렬됩니다. 

 

sqlite> SELECT * FROM student ORDER BY score DESC;

 

 

 

b스카이비전의 추천글

[sqlite3] 기본 명령어 및 create, read, update, delete 하는 법 정리

그냥 이뻐서 샀습니다. 팬톤 키보드 & 마우스 (클래식블루 버전)

일상/추천 아이템|2020. 10. 22. 15:34

728x90

최근에 약 7-8년된 예전 노트북을 소생시켜서 서버 컴퓨터로 사용하면서, 추가로 마우스와 키보드가 필요해진 상황이 되었습니다. 서브로 사용하는 노트북인데, 비싼 제품을 사기엔 부담스러운 상황이라서, 저렴한 제품을 알아보던 중 제 눈을 한 눈에 사로잡아간 친구가 있었습니다. 바로 이 친구입니다. 

 

모델명: PTKM-01

 

 

클래식블루가 가미된 키보드와 마우스라뇨! 이전에 포스팅하기도 했지만, 팬톤에서 지정한 올해의 색은 클래식블루(#0f4c81)입니다. 

 

클래식블루

 

그래서 거기에 맞춰서 제 블로그를 좀 꾸몄었죠. 올해의 색이라서기 보다는 제가 워낙 파란색을 좋아하기 때문에 반영해봤습니다. 제 블로그 명인 bskyvision에서 b도 blue를 뜻하는 것이기도 하고요. 

 

저는 바로 아내에게 허락을 받고 구입했습니다. 그리고 하루 뒤 집에 도착했습니다. 수고해주신 택배 기사님들께 감사드립니다.  

 

원래는 서브로 사용하려고 했는데, 디자인이 예뻐서 지금은 일단 주 키보드 및 마우스로 사용하고 있습니다. ㅋㅋ 

 

PANTONE 키보드

 

PANTONE 마우스

 

가격은 2만원 중반대입니다. 키보드 접점방식은 물론 멤브레인이고요. 키보드는 크게 멤브레인, 기계식, 무접점으로 나뉘죠? 어지간한 저가형 키보드는 다 멤브레인 방식에 속하죠. 일주일 정도 쓰고 있는데, 가격대비 쓸만합니다. 물론 기계식 키보드나 무접점 키보드와 비교할 수는 없겠지만요. ㅎㅎ 

 

마우스는 굉장히 조용한 편입니다. 제품 사용 설명서에 무선 무소음 마우스라고 유형을 적어논 것에 맞게 클릭할 때 발생하는 소리가 매우 작습니다. 그리고 높이가 비교적 낮습니다. 부피를 적게 차지해서 휴대하기에 괜찮습니다. 또한 휠버튼 아래에 DPI 스위치 버튼이 있어서 마우스 감도를 쉽게 조정할 수 있습니다. 800 - 1200 - 1600 DPI로 조정가능한데 저는 중간 감도인 1200이 적당한 것 같습니다. 

 

낮은 높이, 적은 부피

 

저처럼 클래식블루 색상을 좋아하시는 분이라면 구매를 고려해보셔도 좋을 것 같습니다. 고급 모델을 사는 것이 아니라 저가형 모델을 사는 것이라면 그냥 디자인적으로 마음에 드는 것을 사는 것이 답인 것 같습니다. 같은 값이면 다홍치마라고. ㅎㅎ

 

* 쿠팡 파트너스 링크를 통해 제품을 구매하실 경우 소정의 수익이 에디터에게 발생할 수 있습니다.

 

 

b스카이비전의 추천글

올해의 색 클래식 블루로 티스토리 블로그 꾸며봤습니다

  1. 아니 이 색은!! 2020.10.23 08:14 댓글주소  수정/삭제  댓글쓰기

    삼성과 아이폰도 반해버린 용달블루 아닙니까?!!

    http://m.ppomppu.co.kr/new/bbs_view.php?id=phone&no=3370976

[sqlite3] 기존 테이블에 컬럼(열) 추가하기

코딩/데이터베이스|2020. 10. 22. 09:32

728x90

테이블을 이미 만들었는데, 나중에 새롭게 열(column)을 추가해야할 일이 생겼다면 어떻게 해야할까요? 

 

우선 아래와 같은 데이터를 담고 있는 테이블이 있다고 가정하고 시작하겠습니다. 

 

 

name을 나타내는 열과, score를 나타내는 열이 있는 student라는 이름의 테이블입니다. 저는 이 테이블에 id라는 열을 추가하고 싶습니다. 그러기 전에 우선 .schema student로 이 테이블이 어떤 구조를 갖고 있는지 확인해볼까요? 

 

 

확인해보니 name 열은 TEXT 타입으로 자료를 입력 받고 꼭 입력 받아야하는 상황이고, score 열은 INT, 즉 정수 자료를 입력 받는 상황입니다. 저는 이 테이블에 id 열을 추가하면서 데이터 타입은 TEXT로 하겠습니다. 이때 필요한 SQL 쿼리는 다음과 같습니다. 

 

> ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입

 

 

열을 추가했으니, 스키마가 잘 변경되었는지 확인해볼까요? 

 

 

잘 변경되었네요. 모든 행을 읽어보니 다음과 같이 id 열은 비어있음을 알 수 있습니다. 

 

 

그러면 변경된 테이블에 새로운 데이터를 써보겠습니다. 

 

 

잘 써졌네요. student 테이블의 모든 행을 다시 읽어보면, 새로운 행이 추가되었음을 확인할 수 있습니다. 

 

 

비어있는 id도 한번 추가해보겠습니다. 황병일 학생의 id를 추가해보겠습니다. 

 

 

잘 추가되었는지 확인해볼까요? 

 

 

잘 추가되었습니다. ㅎㅎ

 

 

b스카이비전의 추천글

[sqlite3] 기본 명령어 및 create, read, update, delete 하는 법 정리

 

[css] 밑줄 여유있게 치기

코딩/web|2020. 10. 21. 00:44

728x90

css 속성 text-decoration:underline으로 밑줄을 치면, 너무 텍스트와 가깝게 밑줄이 쳐집니다. 

 

1
<p style="text-decoration: underline;">밑줄이 너무 붙어있죠.</p>
cs

 

 

밑줄을 아래로 좀 더 띄우고 싶다면, css에 text-underline-position:under를 추가해주시면 됩니다. 

 

1
2
<p style="text-decoration: underline;">밑줄이 너무 붙어있죠.</p>
<p style="text-decoration: underline; text-underline-position:under;">밑줄이 아래로 조금 내려왔죠?</p>
cs

 

 

저는 개인적으로 좀 여유있게 밑줄이 쳐지는 게 보기 좋은 것 같습니다.