본문 바로가기

전체 글

(19)
MySQL - rownum 구현 8.0.26 버전 mysql입니다. select a.player_id,a.player_name,a.back_no from (select PLAYER_NAME,PLAYER_ID,BACK_NO,row_number() over() num from player) a where rownum < 10; 을 실행하면 rownum이 없다고 메세지가 뜹니다. sql 가이드북에서는 (sql 자격증책) rownum sudo column이라고 시스템적으로 제공된다고 적혀있습니다. 그러나 select ename,sal from emp where rownum < 4 order by sal desc; 실행 시 rownum이 칼럼을 정의하지 않았다고 메시지가 뜨게 됩니다. (책 예제) 해결방법은 서브쿼리를 이용하였는데요, row_n..
XAMPP 를 이용한 php8 구동 https://www.apachefriends.org/download.html Download XAMPP Includes: Apache 2.4.48, MariaDB 10.4.20, PHP 7.3.29 + SQLite 2.8.17/3.36.0 + multibyte (mbstring) support, Perl 5.32.1, ProFTPD 1.3.6, phpMyAdmin 5.1.1, OpenSSL 1.1.1k, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablot www.apachefriends.org XAMPP 웹사이트에서 자신과 맞는 OS를 택해서 설치 파일을 받을 수 있습니다. 본글은 윈도우10 64비트..
Josephus problem n과 k가 자연수이고, k
CSES problem - Digit Queries 예전에 cses problem을 잠시 풀다가 멈추었었는데 다시 풀어보기 시작했습니다. 아래는 문제 링크입니다. https://cses.fi/problemset/task/2431 CSES - Digit Queries cses.fi 아이디 생성및 로그인은 매우 쉽게 할 수 있습니다. 먼저 문제를보면 123456... 의 증가하는 숫자 나열에서 어떤 위치 k의 값을 찾는 문제입니다. 이러한 시행은 q회 진행됩니다. 제약조건에 주의를 기울여보면 k의 맥시멈 값은 무려 10^18까지 입니다. 순차 탐색을 시켜보면 k의 값이 조금만 커져도 time limit을 맞출 수 없게 됩니다. (물론 애초에 숫자나열을 만드는데 시간이 넘칠 거예요 ㅠㅠ) 그러면 초점을 바꾸어서 1,10,100 ... 이 자리의 숫자 길이를 고..
MySQL - index, view, group by # INDEX 인덱스는 테이블의 기초정보를 가져다줍니다. 테이블을 모두 읽지 않기 때문에 잘 모르는 테이블을 수정할 때 유용하게 사용할 수 있을 것으로 보입니다. 테이블 레코드 추가/변경 시 인덱스도 자동으로 수정됩니다. db가 큰 경우 index를 잘 이용하면 시간적 측면에서 적절한 타협을 볼 수 있을 것 같습니다. 위 코드는 index 생성, 추가, 확인, 제거 입니다. show index 로 테이블의 인덱스를 보면 여러 가지 값이 보이는데 자세한 의미는 tcpschool을 참고해 주세요. http://tcpschool.com/mysql/mysql_index_create 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.c..
MySQL - join, union, sub-query # CREATE TABLE Reservation(ID INT, Name VARCHAR(30), ReserveDate DATE, RoomNum INT); CREATE TABLE Customer (ID INT, Name VARCHAR(30), Age INT, Address VARCHAR(20)); INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(1, '홍길동', '2016-01-05', 2014); INSERT INTO Reservation(ID, Name, ReserveDate, RoomNum) VALUES(2, '임꺽정', '2016-02-12', 918); INSERT INTO Reservation(ID, Name, ReserveDate,..
MySQL - foreign key create table에서 foregin key를 이용하는 방법입니다. test2 테이블을 만들 때 test 1의 테이블을 참조해서 customer_ID를 작성하였습니다. 만약에 참조할 상위 필드에 제약조건이 없다면 에러가 발생합니다. (error code 1822) 문법은 다음과 같습니다. ALTER TABLE Reservation ADD CONSTRAINT CustomerID # 제약조건 이름 FOREIGN KEY (ID) REFERENCES Customer (ID); 위 예제는 test1 , roomNum에서 제약조건이 없기 때문에 unique를 걸어준 후 test2에 참조하도록 alter table을 이용했습니다. 다음은 결괏값입니다. 다음은 주어진 제약조건을 제거하는 방법입니다. 제약조건 이름을..
MySQL - constraint table 을 생성할 때 insert into 로 데이터 입력시 제약조건을 걸 수 있습니다. tcpschool 본문에서 스크랩 했습니다. CREATE TABLE Test ( ID INT NOT NULL default 0, Name VARCHAR(30), ReserveDate DATE, RoomNum INT ); 문법은 위와 같이 (필드명) (형식) (제약조건) 순서로 적으면 됩니다. 사용할 수 있는 조건을 알아 보겠습니다. not null : 데이터 입력시 null 로 둘 수 없게 만드는 조건 입니다. unique : 중복데이터를 피하게 만드는 조건 입니다. primary key : not null 과 unique 모두 적용하는 조건 입니다. 그러나 테이블당 하나의 필드만 primary key로 지정할 ..

반응형