본고는 기초 지식 학습 과정 중의 필기와 총결을 위해 이후의 복습과 참고로 제공한다
다중 표 조회: --
CREATE TABLE dept(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
INSERT INTO dept (NAME) VALUES (' '),(' '),(' ');
--
CREATE TABLE emp (
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(10),
gender CHAR(1), --
salary DOUBLE, --
join_date DATE, --
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES dept(id) -- , ( )
);
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES(' ',' ',7200,'2015-02-24',1);
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES(' ',' ',3600,'2019-12-02',2);
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES(' ',' ',9000,'2008-08-08',2);
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES(' ',' ',5000,'2015-10-07',3);
INSERT INTO emp(NAME,gender,salary,join_date,dept_id) VALUES(' ',' ',4500,'2018-03-14',1);
피리칼 적: 두 개의 집합 A, B.이 두 집합의 모든 구성 상황을 취하다. 다중 표 조회의 분류: 내부 접속 쿼리: 스텔스 내연결:where 조건으로 쓸모없는 데이터 제거 직원표의 명칭, 성별을 조회한다.부서 테이블의 이름SELECT
t1.name, --
t1.gender,--
t2.name --
FROM
emp t1,
dept t2
WHERE
t1.`dept_id` = t2.`id`;
명시적 내부 연결: 문법:select 필드 목록from표명1[inner]join표명2on조건 SELECT * FROM emp JOIN dept ON emp.`dept_id` = dept.`id`; 외부 접속 쿼리: 좌측 외부 연결: 문법:select 필드 목록from표1left[outer]join표2on조건; 조회한 것은 왼쪽 표의 모든 데이터와 그 교차 부분이다. 모든 직원 정보를 조회하고 직원이 부서가 있으면 부서명, 부서가 없으면 부서명을 표시하지 않는다. SELECT t1.*,t2.`name` FROM emp t1 LEFT JOIN dept t2 ON t1.`dept_id` = t2.`id`; 우외 연결 동리 하위 쿼리: 개념: 조회에 삽입된 조회를 삽입된 조회라고 하는데 삽입된 조회를 하위 조회라고 한다. 하위 조회의 다른 상황: 하위 조회의 결과는 단행 단열이다. (연산자로 조회할 수 있다) 직원 임금이 평균 임금보다 적은 사람을 조회하다 SELECT * FROM emp WHERE emp.salary < (SELECT AVG(salary) FROM emp); 하위 조회의 결과는 여러 줄의 단열이다. (연산자 in)'재무부'와'시장부'의 모든 직원 정보 조회 SELECT * FROM emp WHERE dept_id in(SELECT id FROM dept WHERE NAME ='재무부'OR NAME ='시장부'); 하위 조회의 결과는 여러 줄 다열이다. (하위 조회는 가상 테이블로 조회에 참여할 수 있다) 직원의 입사 일자는 2016-11-11일 이후의 직원 정보 및 부서 정보 조회 SELECT * FROM dept t1 ,(SELECT * FROM emp WHERE emp.`join_date` > '2016-11-11') t2 WHERE t1.id = t2.dept_id; 다중 표 조회 사례: 트랜잭션 개념: 만약에 여러 단계를 포함하는 업무 조작이 사무에 의해 관리된다면 이런 조작은 동시에 성공하거나 동시에 실패한다. 작업: 사무 열기: start transaction; 롤백: 롤백; 제출:commit; 트랜잭션 제출의 두 가지 방법: 자동 커밋:mysql은 자동으로 제출됩니다 DML 문구는 자동으로 업무를 제출합니다. 수동 커밋: Oracle 데이터베이스는 기본적으로 수동으로 트랜잭션 커밋 트랜잭션을 열고 제출해야 함 트랜잭션의 기본 커밋 방식을 수정합니다. 사무를 보는 기본 제출 방식: SELECT @@autocommit; -1 자동 커밋 0 은 수동 커밋 기본 제출 방식 수정: set @@autocommit = 0; 사무의 4대 특징:원자성: 분할할 수 없는 최소 조작 단위로 동시에 성공하거나 동시에 실패한다. 지속성: 업무가 제출되거나 굴러간 후 데이터베이스는 데이터를 지속적으로 저장합니다. 격리성: 여러 사무 사이.서로 독립하다. 일관성: 트랜잭션 전후 데이터 총량은 변경되지 않음 DCL: 사용자 권한 관리 사용자 관리 사용자 추가: 구문: CREATE USER'사용자 이름'@'호스트 이름'IDENTIFIED BY'비밀번호; 사용자 삭제: 구문: DROP USER'사용자 이름'@'호스트 이름' 사용자 암호 수정: UPDATE USER SET PASSWORD = PASSWORD('새 비밀번호') WHERE USER ='사용자 이름'; SET PASSWORD FOR'사용자 이름'@'호스트 이름'= PASSWORD('새 비밀번호'); 사용자 조회: mysql 데이터베이스로 전환 USE myql; user표 조회 SELECT * FROM USER; 와일드카드:%는 모든 호스트에서 사용자가 데이터베이스에 로그인할 수 있음을 나타냅니다.
권한 부여 관리: 쿼리 권한:,SHOW GRANTS FOR'사용자 이름'@'호스트 이름'; SHOW GRANTS FOR 'lisi'@'%'; 권한 부여:grant 권한 목록 on 데이터베이스 이름.테이블 이름 to '사용자 이름' @ '호스트 이름'; 권한 취소:revoke 권한 목록 on 데이터베이스 이름.테이블 이름from '사용자 이름' @ '호스트 이름'; REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임
이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다.
java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.