데이터베이스 관리 및 고 가용성 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);