MySQL 관련 지식 포인트 기록(개인 총괄)

8604 단어 MySQL
MySQL 상용 함수 기록,MySQL 함수 대전 참조
MySQL 의 url 연결:jdbc.url=jdbc:mysql://localhost:3306/spring?characterEncoding=utf-8&allow MultiQueries=true,그 중에서 allow MultiQueries 에 대한 설명:sql 구문 에서";"를 사용 할 수 있 습 니 다.여러 개의 조회(진/가,기본 값 은'가')를 구분 합 니 다.
1.동적 생 성 로그 시트 의 지식 점
1.데이터베이스 에서 해당 하 는 데이터 시트 를 찾 는 방법:데이터베이스 에 information 라 는 라 이브 러 리 가 있 습 니 다.schema,그 중 하나의 표 이름 은 tables 입 니 다.이 표 에는 각 표 에 속 하 는 데이터베이스 의 이름과 표 의 이름 이 포함 되 어 있 습 니 다.예 를 들 어 다음 과 같 습 니 다.
select table_name from information_schema.tables 
where TABLE_SCHEMA='hibernate' and TABLE_NAME like 't_%';

  :information_schema.tables  information_schema       tables   
     TABLE_SCHEMA                ;
     TABLE_NAME            ;

2.표 이름 을 통 해 같은 유형의 표를 만 듭 니 다.예 는 다음 과 같 습 니 다.
create table if not exists log_2017_05 like log_2017_06;
  :      ,   log_2017_06  ;

3.유 니 온 필드 를 이용 하여 같은 구 조 를 가 진 데이터 시트 데 이 터 를 조회 합 니 다.
select name from log_2017_06 union select name from log_2017_05
  :  union     ,               

4、information_schema 이 데이터 시트 는 MySQL 서버 의 모든 데이터베이스 정 보 를 저장 합 니 다.예 를 들 어 데이터베이스 이름,데이터베이스 테이블,테이블 표시 줄 의 데이터 형식 과 접근 권한 등
SCHEMATA :           
TABLES :              
COLUMNS :         

5.동적 생 성 로그 시트 의 도구 클래스
/**
 *            (            )
 */
public class LogUtil {

    /**
     * @param offset:        , 0      ,-1     ,1     ;
     * @return :          ,  log_  _     ;
     */
    public static String generateLogTableNameUtil(int offset){
        Calendar calendar=Calendar.getInstance();
        int year=calendar.get(Calendar.YEAR);
        //    0   ,   1;
        int month=calendar.get(Calendar.MONTH)+1+offset;
        if(month > 12){
            year ++ ;
            month = month - 12 ;
        }
        if(month < 1){
            year -- ;
            month = month + 12 ;
        }
        DecimalFormat df=new DecimalFormat("00");
        return "log_"+year+"_"+df.format(month);
    }
}

문자 함수
1.length(str):매개 변수 값 을 가 져 오 는 바이트 갯 수:selectlength("hello")반환:5
2.concat(str1,str2,...):문자열 맞 춤 법:select concat("hello","","world")귀환:helloworld
3.upper(str)와 lower(str):문자 대소 문자:select upper("nihao")반환:NIHAO select lower("NIHAO")반환:nihao
앞의 세 가지 함 수 를 종합 적 으로 사용 합 니 다:이름 의 성 을 대문자 로 하고 중간 에 밑줄 을 긋 습 니 다()연결:select concat(upper("feng"),"",lower("Lang")반환:FENGlang
4.substr(str from pos)와 substring(str,pos):문자열 의 절단(주의:MySQL 의 색인 은 1 부터)설명:substr(str,pos)에 하나의 인자 만 있 으 면 지정 한 색인 에서 끝까지 모든 문 자 를 캡 처 합 니 다.예 를 들 어 select SUBSTR("The People's Republic of China",5)as name 반환:People's Republic of China
설명:substr(str,from,pos)에 두 개의 인자 가 있 으 면 지정 한 색인 에서 지정 한 문자 길이 의 모든 문 자 를 캡 처 합 니 다.예 를 들 어 select SUBSTR("The People's Republic Of China",5,6)as name 반환:People
5.instr(str,substr):문자열 substr 가 문자열 str 에서 처음 나타 난 위치(str 가 substr 를 포함 하지 않 을 때 0 을 되 돌려 줍 니 다):selection INSTR('fenglang','lang')반환:5
6.trim([both|leading|trailing][remstr]from]str):접두사 나 접두사 remstr 가 삭 제 된 문자열 str(위치 매개 변 수 는 기본 both,remstr 기본 값 은 빈 칸)설명 을 되 돌려 줍 니 다.기본 적 인 상황 에서 trim()함수 가 제거 한 것 은 빈 칸 입 니 다.예 를 들 어 select trim("nihao")as output 반환:nihao
설명:문자열 좌우 양측의 특정한 문 자 를 제거 합 니 다.효 과 는 select trim(both'x'from'xxxxnixhaoxxxxxxxxxx')as output 와 같 습 니 다.예 를 들 어 select trim('x'from'xxxxxxxnixhaoxxxxxxxxxxxxxx')as output 반환:nixhao
설명:문자열 왼쪽 에 있 는 특정한 문 자 를 제거 합 니 다.예 를 들 어 select trim(leading'x'from'xxxxxnixhaoxxxxxxxx')as output 반환:nixhaoxxxxxxxxxxxx
설명:select trim(TRAILING'x'from"xxxxnixhaoxxxxxxxx")as output 반환:xxxxnixxhao
메모:lrim(str):문자열 str 왼쪽 빈 칸 삭제,rtrim(str):문자열 str 오른쪽 빈 칸 삭제
7.lpad(str,len,padstr):문자열 padstr 로 str 왼쪽 끝 을 채 우 고 문자열 길이 가 len 일 때 까지 되 돌려 줍 니 다.예 를 들 어 select LPAD('nihao',12,'x')as output 반환:xxxxxxxxxxxxxnihao
rpad(str,len,padstr):문자열 padstr 로 str 오른쪽 끝 을 채 우 고 문자열 길이 가 len 일 때 까지 되 돌려 줍 니 다.예 를 들 어 select rpad('nihao',12,'x')as output 되 돌려 줍 니 다:nihaoxxxxxxx
8、replace(str,from_str,to_str):문자열 로 tostr 대체 문자열 str 의 하위 문자열 fromstr 와 다음 과 같이 되 돌려 줍 니 다:select REPLACE(?nihao?world’,’?’,’#’) as output 반환:\#nihao\#world
수학 함수
1.round(n,d):n 의 반올림 값 을 되 돌려 주 고 d 비트 소수(d 의 기본 값 은 0)를 유지 합 니 다.예 를 들 어 select round(1.68)as output 반환:2 select round(1.68,1)as output 반환:1.7
2.ceil(n):위로 올 리 기,되 돌리 기>=매개 변수의 최소 정수:select ceil(1.23)as output 되 돌리 기:2
3.floor(n):아래로 조정 하고<=매개 변수의 최대 정 수 를 되 돌려 줍 니 다.예 를 들 어 selectfloor(1.23)as output 반환:1
4.truncate(n,d):숫자 n 의 d 비트 소 수 를 유지 하고 되 돌려 줍 니 다.예 를 들 어 select TRUNCATE(12.8967,2)as output 되 돌려 주기:12.89
5.mod(n,m):모드 연산,n 이 m 에서 제 거 된 나머지(같은%연산 자)를 되 돌려 줍 니 다.예 를 들 어 select mod(12,-5)as output 반환:2
6.abs(n):n 의 절대 값 을 되 돌려 줍 니 다.예 를 들 어 selectabs(-5)as output 반환:5
7.pow(x,y):x 의 y 차 멱 을 되 돌려 줍 니 다.예 를 들 어 select pow(2,3)as output 반환:8
8.sqrt(n):마이너스 n 이 아 닌 제곱 근 을 되 돌려 줍 니 다.예 를 들 어 select sqrt(16)as output 반환:4
9.rand():0~1 사이 의 무 작위 부동 소수점 을 되 돌려 줍 니 다.예 를 들 어 select RAND()as output 반환:0~1 사이 의 무 작위 부동 소수점
10.least(x,y,...):최소 값 을 되 돌려 줍 니 다(반환 값 이 정수(실수 또는 크기 민감 문자열)컨 텍스트 나 모든 매개 변수 가 정수(실수 또는 크기 민감 문자열)이면 정수(실수 또는 크기 민감 문자열)로 비교 합 니 다.그렇지 않 으 면 대소 문자 문자열 을 비교 합 니 다).greatest(x,y,...):최대 값 을 되 돌려 줍 니 다.
예 를 들 어'select least(12,23,2,-2,39,-34,-62.54)as output return:-62.54 select greatest(12,23,2,-2,39,-34,-62.54)as output return:39
시간 날짜 함수
1.now():'yyy-mm-dd hh:mm:ss'형식 으로 현재 날짜 curdate()를 되 돌려 줍 니 다.'yyy-mm-dd'형식 으로 현재 날짜 값 curtime()을 되 돌려 줍 니 다.'hh:mm:ss'또는 hhmmss 형식 으로 현재 시간 값 을 되 돌려 줍 니 다.
2、year(date):날짜 로 돌아 가 는 연도 month(date):날짜 로 돌아 가 는 월 값 dayofmonth(date):날짜 로 돌아 가 는 것 은 1 월 중 몇 번 째 날(1~31 범위 내)dayofyear(date):날짜 로 돌아 가 는 것 은 1 년 중 몇 번 째 날(1~366 범위 내)dayname(date):날짜 로 돌아 가 는 것 은 요일(영어 이름 으로 돌아 가 는 것)quarter(date):날짜 로 돌아 가 는 것 은 1 년 의 몇 분기 week(date,날짜)입 니 다.first):데 이 트 를 되 돌려 주 는 것 은 1 년 의 몇 주 입 니 다.(first 기본 값 0,first 수치 1 은 월요일 이 주 시작 임 을 나타 내 고 0 은 일요일 부터 시작 합 니 다)
3、date_format(date,format):format 문자열 에 따라 date 값 설명 을 포맷 합 니 다.format 문자열 에 서 는%m 월 이름(january...december)%w 요일 이름(sunday...saturday)%d 가 영어 접두사 가 있 는 달의 날짜(1st,2nd,3rd 등)를 사용 할 수 있 습 니 다.%Y 년,숫자,4 비트%y 년,숫자,2 비트%a 줄 임 말 요일 이름(sun...sat)%d 월 의 일수,숫자(00...31)%e 월 의 일수,숫자(0...31)%m 월,숫자(01...12)%c 월,숫자(1...12)%b 줄 임 말 월 이름(jan...dec)%j 1 년 중 일수(001...366)%H 시간(00...23)%k 시간(0...23)%h 시간(01...12)%i 시간(1...12)%i 분,숫자(00...59)%r 시간,12 시간(hh:mm:ss[ap]m)%t 시간,24 시간(hh:mm:ss)%s 초(00...59)%p am 또는 pm%w 일주일 중 일수(0=sunday...6=saturday)%u 주(0...52),여기 일요일 은 일요일%u 주(0...52),여기 월요일 은 월요일 의 첫날%%%문자%예 를 들 어 select DATEFORMAT(now(),'%Y-%m-%d%H-%i-%s')반환:포맷 된 날짜
4、str_to_date(str,format):문 자 를 날짜 로 바 꿉 니 다.예 를 들 어 select STRTO_DATE('1990-4-4','%Y-%m-%d')반환:1990-04-04
5、datediff(date_expression_1,date_expression_2):두 날짜 값 사이 의 일 수 를 되 돌려 줍 니 다.예 를 들 어 select datediff('2018-05-06','2017-05-04')as result 반환:367
5.조별 조회
문법 은 다음 과 같 습 니 다.select 그룹 함수,열(group by 뒤에 나타 나 도록 요구 합 니 다)from 표[where 선별 조건]group by 그룹의 열 이름 having 그룹 함수 orderby 정렬 주의:1.조회 목록 은 특수 해 야 합 니 다.그룹 함수 와 group by 뒤에 나타 나 는 필드 2,그룹 조회 에서 의 선별 조건 은 두 가지 로 나 누 어야 합 니 다.
선별 순서
데이터 원본
위치.
키워드
그룹 전 필터
원시 표
group by 자구 의 앞
where
그룹 후 선택
그룹 화 된 결과 집합
group by 자구 뒤에
having

좋은 웹페이지 즐겨찾기