데이터베이스 관리 및 고 가용성 5 장 데이터베이스 기능 및 데이터베이스 생성 프로세스

데이터베이스 관리 및 고 가용성 5 장 데이터베이스 기능 및 데이터베이스 생성 프로세스

1 : 데이터베이스 기능

1.1 : 수학 함수

수학 함수 기술
abs (x) x의 절대 값을 반환합니다. 절대 값
랜드() 0에서 1 사이의 난수를 반환합니다. 랜드 에지
mod (x, y) x의 나머지를 y로 나눈 값을 반환합니다. 나머지 가져가
거듭 제곱 (x, y) x를 y의 거듭 제곱으로 반환합니다. 빨리 감기
원형 (x) x에 가장 가까운 정수를 반환합니다. 둥근 정수
원형 (x, y) 소수점 y 자리로 반올림 한 후 x 값 유지
sqrt (x) x의 제곱근을 반환합니다. sqrt 제곱근
자르기 (x, y) 소수점 y 자리로 잘린 숫자 x의 값을 반환합니다. 차단 자르기
ceil (x) x보다 크거나 같은 가장 작은 정수를 반환합니다. 천정 장착 천장
층 (x) x보다 작거나 같은 가장 큰 정수를 반환합니다. 바닥
가장 큰 (x1, x2 ...) 컬렉션에서 가장 큰 값을 반환합니다.
최소 (x1, x2 ...) 집합에서 가장 작은 값을 반환합니다.

1.2 : 집계 함수

집계 함수 기술
avg () 지정된 열의 평균 값을 반환합니다. 평균 평균
카운트() 지정된 열에서 NULL이 아닌 값의 수를 반환합니다. 카운트 카운트
최소 () 지정된 열의 최소값을 반환합니다.
max () 지정된 열의 최대 값을 반환합니다.
합계 (x) 지정된 열의 모든 값의 합계를 반환합니다.

1.3 : 문자열 함수

문자열 함수 기술
길이 (x) 문자열 x의 길이를 반환합니다. 길이
손질() 지정된 형식없이 값을 반환합니다. 트림 트림, 잘라 내기, 공백 제거는 양쪽 끝의 공백 만 제거 할 수 있습니다.
concat (x, y) 제공된 매개 변수 x 및 y를 문자열로 연결 병합 병합
어퍼 (x) 문자열 x의 모든 문자를 대문자로 변경 높은
더 낮은 (x) 문자열 x의 모든 문자를 소문자로 변경 보다 낮은
왼쪽 (x, y) 문자열 x의 처음 y자를 반환합니다. 왼쪽 값
오른쪽 (x, y) 문자열 x의 마지막 y자를 반환합니다. 오른쪽의 가치
반복 (x, y) 문자열 x y 회 반복 반복 반복
스페이스 (x) X 공백이 반환됩니다. 우주 공간
바꾸기 (x, y, z) 문자열 x에서 문자열 z를 문자열 y로 대체 바꾸다
strcmp (x, y) x와 y를 비교하면 반환 된 값은 -1,0,1이 될 수 있으며 ASCII 코드 비교로 변환됩니다. strcmp는 문자열을 비교합니다.
부분 문자열 (x, y, z) 문자열 x의 y 번째 위치에서 시작하는 길이 z의 문자열을 가져옵니다. 부분 문자열 인터셉트 문자열
역 (x) 역 문자열 x 역, 역

1.4 : 날짜 및 시간 기능

문자열 함수 기술
curdate () 현재 시간의 년, 월, 일을 반환합니다. 현재 날짜 얻기
curtime () 현재 시간의시, 분, 초를 반환합니다. 현재 시간 가져 오기
지금() 현재 시간의 날짜와 시간을 반환합니다. 지금 몇 시야
월 (x) 날짜 x의 월 값을 반환합니다.
주 (x) 반환 날짜 x는 해당 연도의 처음 몇 주입니다.
시간 (x) x의 시간 값을 반환합니다.
분 (x) x의 분 값을 반환합니다.
초 (x) x의 초 값을 반환합니다.
요일 (x) 반환 x는 요일, 1 일 일요일, 2 월 월요일
일수 (x) 계산 날짜 x는 해당 월의 날짜입니다.
연중 (x) 계산 날짜 x는 연중 일입니다.

1.5 : 저장 프로 시저

// 포맷 # 정의
저장 프로 시저

delimiter $$
create procedure存储过程名(in 参数名 参数类型)
begin
#定义变量
declare变量名变量类型
#变量赋值
set 变量名 = 值
sql语句1;
sql语句2;
..
sql语句n;
end $$
delimiter ;

# 저장 프로 시저
호출 저장 프로 시저 이름 호출 (실제 매개 변수);
# 쿼리 저장 프로 시저
표시 프로 시저 상태 여기서 db = 'database';
# 저장 프로 시저
삭제 프로 시저 저장 프로 시저 이름 삭제;

예 : 1

mysql> delimiter $$
mysql> create procedure myrole()                   //创建存储过程,名字为myrole
    -> begin
    -> select name,score from accp;
    -> end $$
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;

mysql> call myrole();

예 : 2

mysql> delimiter $$
mysql> create procedure myschool(in my_name varchar(10))
    -> begin
    -> select name score from accp where name=my_name;
    -> end$$
Query OK, 0 rows affected (0.01 sec)

mysql> delimiter ;
mysql> show procedure status where db='school';

예 3 :

mysql> delimiter $$
mysql> create procedure myupdate(in my_score decimal(5,2))
  -> begin
    -> declare hob int(3);
    -> if my_score >= 80 then
    -> set hob = 1;
    -> else
    -> set hob = 2;
    -> end if;
    -> update accp set score=my_score,hobby=hob where name='zhangsan';
    -> end$$
Query OK, 0 rows affected (0.06 sec)
//修改名为张三的分数和hobby,修改zhangsan的hobby=2,score=75
mysql> delimiter ;
mysql> call myupdate(75);

추천

출처blog.51cto.com/14625831/2547973