코딩ㆍ개발 정보/데이터베이스 연습 2024. 8. 21.
[MySQL] 문자 인코딩 설정 확인
1. MySQL 데이터베이스 및 테이블의 문자 인코딩 설정 확인MySQL에서 한글이 깨지지 않도록 하기 위해서는 데이터베이스와 테이블의 문자 인코딩이 UTF-8로 설정되어 있어야 합니다.-- 데이터베이스의 인코딩 확인SHOW VARIABLES LIKE 'character_set_database';SHOW VARIABLES LIKE 'collation_database';-- 테이블의 인코딩 확인SHOW TABLE STATUS WHERE Name = 'your_table_name';-- 컬럼의 인코딩 확인SHOW FULL COLUMNS FROM your_table_name;서버의 문자 셋 확인 방법--------------------------------------------------1. MySQL 서버의..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 8. 21.
[MySQL] 테이블과 내용 다른 데이터베이스로 복사하기
MySQL에서 한 데이터베이스(A)에서 다른 데이터베이스(B)로 테이블을 복사하려면, 다음 단계를 수행할 수 있습니다. 이 과정에서는 테이블 구조(CREATE TABLE)와 데이터를 모두 복사하는 방법을 설명합니다. 1. 테이블 구조 복사 (CREATE TABLE)먼저, A 데이터베이스에서 테이블의 구조를 B 데이터베이스로 복사합니다.CREATE TABLE B.테이블명 LIKE A.테이블명; 위 SQL은 A 데이터베이스의 테이블명과 동일한 구조를 B 데이터베이스에 복사합니다.2. 데이터 복사 (INSERT INTO SELECT)구조를 복사한 후, 데이터를 복사합니다.INSERT INTO B.테이블명 SELECT * FROM A.테이블명; 위 SQL은 A 데이터베이스의 테이블명에 있는 모든 데이터를 B 데..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 7. 18.
[MSSQL] 특정 구간 날짜, 시간 구하기 쿼리
CONVERT와 VARCHAR를 사용한 날짜와 시간 구간 처리WHERE 1 = 1 AND CONVERT(VARCHAR(10), regDate, 121) BETWEEN '2013-05-06' AND '2013-05-09' AND ( (CONVERT(VARCHAR(8), regDate, 108) BETWEEN '18:00:00' AND '23:59:59') OR (CONVERT(VARCHAR(8), regDate, 108) BETWEEN '00:00:00' AND '09:00:00') ) CONVERT와 VARCHAR를 사용하여 더 복잡한 시간 구간 처리WHERE 1 = 1 AND ( (CONVERT(VARCHAR(10), regDate, 121) = '2013-05-06'..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 7. 8.
MSSQL 에서 password 컬럼에 SHA2_256 수동 업데이트 하기
HashBytes('SHA2_256', '19870103') 함수를 사용한다/** * 공통 비번 사용중인 users 테이블 조회하기 */select cid,cPassword, strName, dateRegistfrom userswhere cPassword = 'd76f92e8c878d5a01f361e3202ba2ed54b2443ca1ee45da6c3d7490e29c9ce7a9fcb7f'/** * 비밀번호를 생년월일 YYYYMMDD 로 초기화하기 * HashBytes('SHA2_256'함수 적용) 암호화 */-- update users set cPassword = LOWER(CONVERT(VARCHAR(64), HashBytes('SHA2_256', '19870103'), 2)) where cid='yes..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 6. 25.
MSSQL 저장 프로시저 내용 검색하기, 소스 보는 방법
다음 스크립트는 올바른 결과를 제공합니다.SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id)FROM sys.proceduresWHERE OBJECT_DEFINITION(object_id) LIKE '%찾을 내용%' 출처: https://blog.sonim1.com/111 저장된 프로시저 소스 보는 방법1. 프로시저 소스를 보는 프로시져를 사용하는 방법sp_helptext 프로시저명; 2. SSMS의 메뉴에서 프로시져 수정 기능을 사용하는 방법출처: https://m.blog.naver.com/reinstate10/220590937476 프로시저 만드는 방법 https://wednesday1304.tistory.com/entry/MS-SQL-%E..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 6. 13.
오류 '80004005'
1. Microsoft OLE DB Provider for ODBC Drivers 오류 '80004005' DB Login정보 오류 가능성이 큽니다.ODBC를 등록할 때 [시스템 DSN]에 추가하면 문제가 해결됩니다.ODBC로 생성한 omssb2를 연결하는 방법은 아래의 두가지 방식이 있습니다. a)Set objDBConn = Server.CreateObject("ADODB.Connection")objDBConn.Open "Provider=MSDASQL.1;Password=omssb2pass;Persist Security Info=True;User ID=sa;Data Source=omssb2;Initial Catalog=mssb" b)Set objDBConn = Server.CreateObject("AD..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 5. 13.
SQL - MSSQL 테이블 백업(테이블 데이터 복사)
1. 테이블의 생성과 동시에 데이터까지 모두 복사하는 방법SELECT * INTO [생성할 테이블명 ] FROM [원본 테이블명] 2. 테이블을 생성할 때 원하는 컬럼만 복사하는 방법SELECT [원하는 컬럼명] INTO [생성할 테이블명 ] FROM [원본 테이블명] 3. 테이블을 생성할 때 테이블 구조만 복사하는 방법SELECT * INTO [생성할 테이블명 ] FROM [원본 테이블명] WHERE 1=2테이블을 복사할 때 테이블에서 테이터는 없이 테이블 구조만 복사할 때는 'WHERE 1=2'와 같은 쿼리를 실해시키면 테이블의 구조만 복사할 수 있다. 4. 테이블은 이미 있고 데이터만 복사하고 싶을 경우 사용하는 방법INSERT INTO [ 데이터를 넣을 테이블명 ] SELECT * FROM [..
코딩ㆍ개발 정보/데이터베이스 연습 2024. 1. 16.
MySQL 한글 인코딩 해결 방법 <도커>
[Synology NAS] docker에 mysql 설치해서 외부에서 사용하기 방법으로 도커 방식으로 MySQL 5.7을 설치한다. 도커에서 터미널을 생성하여, 아래와 같이 설정을 변경한다. bash-4.2# cd /etc/mysql/mysql.conf.d/ bash-4.2# cat > my.cnf [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci init-connect='SET NAMES utf8' character-set-server = utf8 bash-4.2# cat /etc/mysql/mysql.conf.d/my.cnf [client] def..
코딩ㆍ개발 정보/데이터베이스 연습 2023. 3. 2.
[SQL] SQLite3 함수 ( 날짜, 시간)
[SQL] SQLite3 함수 ( 날짜, 시간) 현재 날짜 SELECT date('now'); --2023-03-02 현재 달 마지막 일 구하기 SELECT date('now','start of month','+1 month','-1 day'); --2023-03-31 unixtime으로 한 시간 SELECT datetime(1234567890, 'unixepoch'); --2009-02-13 23:31:30 local timezone으로 한 시간 SELECT datetime(1234567890, 'unixepoch', 'localtime'); --2009-02-14 08:31:30 unixtime SELECT strftime('%s','now'); --1677766925 unixtime 시간 차 (se..
코딩ㆍ개발 정보/데이터베이스 연습 2023. 3. 2.
SQLite3 테이블 스키마 확인 방법
SQLite3 테이블 스키마 확인하는 간단한 방법 테이블의 스키마에 대한 정보정보만 조회하고자 한다면 SQLite 명령 .schema으로도 확인할 수 있다. .schema .schema? TABLE? 인수를 생략하면 모든 테이블과 인덱스의 스키마 정보를 표시한다. 또한 인수에 테이블명을 지정하면 테이블명과 일치하는 테이블과 지정된 테이블명과 관련된 스키마 정보를 표시 할 수 있다. 그럼 .schema 명령을 사용하여 조회해 보도록 하자. sqlite> .schema .schema CREATE TABLE Customers ( cust_id char(10) NOT NULL , cust_name char(50) NOT NULL , cust_address char(50) NULL , cust_city char(..
코딩ㆍ개발 정보/데이터베이스 연습 2023. 2. 28.
[SQL] SQLite3 기본 설정 옵션
SQLite를 그냥 실행하면 알아보기 어렵다. C:\Users\CREBAN>sqlite3 foods.db SQLite version 3.41.0 2023-02-21 18:09:37 Enter ".help" for usage hints. sqlite> select * from foods limit 1; 1|1|Bagels sqlite> 기본적인 옵션은 다음과 같이 한다. .echo on .mode column .headers on .nullvalue NULL C:\Users\CREBAN>sqlite3 foods.db SQLite version 3.41.0 2023-02-21 18:09:37 Enter ".help" for usage hints. sqlite> .echo on sqlite> .mode col..
코딩ㆍ개발 정보/데이터베이스 연습 2023. 2. 26.
[SQL] Select 명령의 연산 처리 과정
select 명령에서는 문법적으로 여러 개의 절을 가지며, 이것을 통해 많은 관계 연산을 구현한다. 각 절은 특정 관계 연산과 대응된다. SQLite의 경우는 대부분의 절이 생략 가능하다. 따라서 찾고자 하는 데이터를 얻기 위해 필요한 연산만을 우리가 원하는 대로 사용하면 된다. SQLite에서 일반적인 형태의 select 명령은 다음과 같다. select [distinct] 열목록 from 테이블 where 조건식 group by 열목록 having 조건식 order by 열목록 limit 개수 offset 개수 [출처: Chapter 3 SQLite에서 SQL 사용하기, P.72, SQLite 마스터 북 (제2판), 2011, 심재철 옮김, 제이펍]