본문 바로가기

분류 전체보기

[MySql MariaDB] 변수_json데이터 * 변수 > 프로그래밍과 마찬가지로 전역/지역변수로 나뉨. > 전역변수의 경우 워크벤치를 재시작할 때까지는 계속 유지(즉, 커넥션을 한번 맺은 상태에서 변수는 계속 살아있음.) 커넥션을 끊으면 사라짐. 전역변수 사용법 기본 limit에는 원칙적으로 변수를 사용할 수 없으나 prepare와 execute문을 활용해서 변수를 활용할 수 있다. 4. prepare : 쿼리이름 지정 5. from : ‘쿼리문’ 6. excute 를 통해 using @변수를 이용해 쿼리문의 ? 와 매핑된다. * Json : javascript언어에서 파생되었으며, 프로그래밍 언어에 종속되어 있지 않은 독립적인 데이터 포맷 5. json_object : mysql5.7.8부터 지원. 내장함수를 통해 변환된다. Json_array .. 더보기
[MySQL_MariaDB] 데이터타입 정리 숫자 데이터 형식 문자데이터 형식 날짜 시간 및 기타 데이터 형식 더보기
[SQL] where조건모음_select구조_그룹바이_형변환 * Like 3. % : 무엇이든 허용한다. 즉, ‘김’이 제일 앞 글자인 것들을 추출한다. 5. _ : 아무거나 한글자가 오는 값을 추출한다. > %, _ 가 검색할 문자열의 제일 앞에 들어가는 것은 성능에 나쁜 영향을 끼칠 수 있다. 인덱스를 사용하더라도 인덱스를 사용하지 않고 전체 데이터를 검색하게 된다. * any 5. 쿼리문 경남에 사는 회원은 2명이다. 3. 원래 서브쿼리는 1개의 데이터로 비교해야되지만 두명인경우 사용됨. 키가 173보다 크거나 같은 사람 또는 키가 170보다 크거나 같은 사람이 모두 출력됨. 즉, 170보다 크거나 같은 사람이 모두 출력됨. 또한 >= 기호가 = 기호였다고 가정해보자. 그럼 두명과 같아야하는데 any이므로 in 과 동일하게 쓰임.(or) * all 3. 위의.. 더보기
[Mysql MariaDB] 테이블_개체생성규칙_테이블삭제 1~20. 일부 DBMS에서는 CHAR와 VARCHAR는 영문자를 기분으로 1Byte를 할당하고, NCHAR와 NVARCHAR는 유니코드를 기준으로 2바이트를 할당한다. 그래서 영문자를 입력할 계획이라면 CHAR나 VARCHAR를, 한글을 입력할 계획이라면 NCHAR와 NVARCHAR를 사용한다. 하지만, UTF-8로 셋팅되어 CHAR, VARCHAR에 영문/숫자/기호를 입력하면 1바이트를 할당하고, 한글/중국어/일본어 등을 입력하면 내부적으로 3byte를 할당하므로 NCHAR와 NVARCHAR를 사용할 필요가 없다. 2~3. Char는 null 저장시에 char 공간을 모두 차지하지만, varchar는 공간을 차지하지 않는다. 따라서 null값을 많이 입력한다면 varchar가 좋다. - 데이터베이스 .. 더보기
[MySQL_MariaDB] Ansi_데이터베이스,테이블,열조회_알리아스 1. ANSI/ISO SQL : MySQL 외에도 많은 DBMS들이 있는데, 많은 DBMS사의 SQL의 표준이 필요했다. NCITS(국제 표준화 위원회)에서 위와 같은 명칭으로 SQL 표준을 관리. 이 중에서도 1992년에 제정된 ANSI-92 SQL과 1999년에 제정된 ANSI-99 SQL이라는 명칭의 표준이 대부분의 DBMS 회사에서 적용하는 기준이 되고 있다. 2. 각 회사들은 ANSI-92/99 SQL 표준을 준수하면서도 자신들의 제품의 특성을 반영하는 SQL에 별도의 이름을 붙였다. MySQL은 그냥 SQL, 오라클은 PL/SQL, SQL Server는 Transact SQL이라는 이름의 SQL문을 사용한다. 결국 MySQL이 사용하는 SQL은 ANSI-92/99 SQL의 내용을 포함하면서도 .. 더보기
[MySQL/MariaDB] 사용자 관리 모든 사용자에게 root의 비밀번호를 알려준다면, 고의든 실수든 문제발생시 데이터가 모두 유출되거나 증발하는 일이 생길수 있다. 따라서 각 DB에 알맞은 사용자와 그에 따른 권한을 부여할 필요성이 있다. 1. Navigator > Management > Users and Privileges 2. Add Account 3,4. 사용자 아이디/비밀번호 설정 왼쪽에 사용자가 생성되고, Account Limits 탭을 통해 최대 쿼리 수, 최대 업데이트 수, 시간당 최대 접속 수, 실시간 동시접속 최대 수 등을 설정할 수 있다. 모두 0이라면 특별히 제한이 없다는 의미. Administrative Roles : MySQL 자체에 대한 권한을 설정한다. Director는 모든 권한을 부여하려면 DBA는 모든 권한.. 더보기
[MySQL] 모델링_워크벤치ERD 1인 테이블의 키가 다의 테이블의 포린키로 생성된다. 모델DB입력 후 엑스 더블클릭 1. 테이블 생성 클릭 2. 빈화면에 마우스를 클릭하면 그 위치에 테이블이 생성된다. 3. 컬럼정보를 입력 테이블을 하나 더 만들고 관계를 생성할 수 있다. 워크벤치에 약간의 버그가 있어서 저장할 폴더명이 한글일 경우 저장 중 오류가 발생할 수 있다. 저장할 폴더를 위처럼 저장. 전부 닫은 후 모델링 파일을 실제 데이터베이스에 적용시켜보자. File Open Model 저장한 파일 오픈 Database > Forward Engineer 기본값 next 기본값 next 비번입력 ok 앞에서 모델링한 2개의 테이블을 확인할 수 있고, 필요하다면 Show Filter를 통해 내보내기할 테이블을 별도로 선택할 수도 있다. 디폴트.. 더보기
[MySQL_MariaDB] 백업_복사_insert_삭제 * 백업과 복원 > 서버의 하드가 깨져서 중요한 데이터를 잃어버릴 경우를 대비해 백업과 복원은 중요. 별도의 디스크를 준비하기 어려우므로 폴더를 다른 디스크라고 생각하자. 쇼핑몰DB에 producttbl테이블에 3개의 데이터가 있는 것을 확인 1,2. workbench의 Navigator > MANAGEMENT > Data Export(데이터 내보내기) > Data Export 창이 열린다. 3,4. Shopdb 데이터베이스를 선택하면, 오른쪽에 테이블, 뷰 등이 보인다. 모두 체크. 5. Object to Export 도 모두 체크해서 스토어드 프로시저, 스토어드 함수, 트리거 등도 백업을 한다. 6. 백업될 경로와 아래 모두 체크 : 모든 내용 백업 설정 7. 다됐으면 startExport Sql 문.. 더보기