DB/My SQL 12

[mysql] DB index 추가

데이터 양이 많아질 때, 속도가 느려진다면! 성능 검토 시! DB index를 추가하면, 조회 시 전체 조회를 하지 않기 때문에 속도가 빨라 진다. -- 방법 CREATE INDEX {index명} ON {table_name}({column_name}); -- example CREATE INDEX table1_IDX ON table1(column1); -- 확인 EXPLAIN select * from table1 where column1 = 'test'; (결과) index 없을 시, ==> 1 SIMPLE [table1] ALL index 추가 시, ==> 1 SIMPLE [table1] ref

DB/My SQL 2023.03.21

Docker mysql 시간 변경, vi command not found, docker 서버 시간 변경

SELECT NOW(), @@system_time_zone; -- [현재시간 -9시간],UTC 1. docker mysql 컨테이너아이디 조회 $docker ps -a CONTAINER_ID IMAGE [CONTAINER_ID] mysql 2. docker mysql 접속 $ sudo docker exec -it [CONTAINER_ID] /bin/bash bash-4.4# vi /etc/my.cnf [mysqld] default_time_zone = '+09:00' [mysqld] # 아래 추가 default_time_zone = '+09:00' 3. docker mysql 재기동 $ sudo docker stop [CONTAINER_ID] $ sudo docker start [CONTAINER_ID]..

DB/My SQL 2023.02.23

[MYSQL] SQL Error [10930][HY000] : You can't specify target table 해결

mysql insert문 안에 select문 있을 시, error 발생 SQL Error [10930][HY000] : You can't specify target table insert into table_name (column1, column2, column3) values ((select ifnull(max(seq), 0) + 1 from table_name), 'value2', 'value3') 해결! insert문 안에 select max 함수를 사용 할 때는, select max 함수 table에 별칭 추가 insert into table_name (column1, column2, column3) values ((select ifnull(max(seq), 0) + 1 from table_nam..

DB/My SQL 2023.02.16

[mysql] 현재기준 월요일~일요일, 특정 요일 조회

mysql 현재 기준 각 요일 별 일자 조회 -- 2021.06.15 (화) 기준 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+0); -- 0 : 월요일 2021-06-14 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+1); -- 1 : 화요일 2021-06-15 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+2); -- 2 : 수요일 2021-06-16 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+3); -- 3 : 목요일 2021-06-17 SELECT ADDDATE(CURDATE(), -WEEKDAY(CURDATE())+4); -- 4 : 금요일 202..

DB/My SQL 2021.06.15

mysql charecter set 설정 (DB 글자깨짐)

한글 등록시 글자 깨질때 DB의 character set을 확인해 보자. 1. 확인1) SHOW CHARACTER SET; 2) DB 확인SELECT default_character_set_name FROM information_schema.SCHEMATA SWHERE schema_name = "[DB명]"; 3) Table 확인SELECT CCSA.character_set_name FROM information_schema.`TABLES` T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSAWHERE CCSA.collation_name = T.table_collation AND T.table_schema = "[DB명]" AND T.ta..

DB/My SQL 2016.12.18

mysql 계정 생성 및 권한부여

> mysql -u root -p 1. 계정 생성 mysql> GRANT USAGE ON *.* TO [아이디]@localhost IDENTIFIED BY "[비밀번호]"; 2. DB 생성 mysql> CREATE DATABASE [DB명]; 3. DB 사용 권한 부여 mysql> USE DB명; mysql> grant all privileges on DB명.*to 아이디@localhost identified by "비밀번호"; (외부접속 허용 : 해당 포트 방화벽 열어둠!) mysql> grant all privileges on DB명.*to 아이디@"%" identified by "비밀번호"; mysql> flush privileges; 4. DB 계정 패스워드 변경 mysql> update user..

DB/My SQL 2016.12.18