mySQL
15219 ワード
SQL(Structured Query Language)
INSERT、UPDATE、DELETE、SELECTなど.
CREATE、DROP、ALTERなど.
GRANT、REVOKEなど.
DCL (Data Control Language)
// root로 접속해서 데이터베이스 생성 후 사용자 생성하면서 권한주기
mysql –u root -p
create database DBNAME
grant all privileges on DBNAME.* to USERNAME @'%' identified by 'PASSWORD’;
flush privileges; // 설정 적용
// 일반 사용자 접속
mysql –h 127.0.0.1 –u USERNAME –p DBNAME
exit;
SELECT VERSION(), CURRENT_DATE; // 대소문자 구분 안함
use DBNAME; // DB 전환
// sql파일 db에 추가 후 테이블 구조 확인
mysql -u USERNAME -p DBNAME < FILE.sql
mysql -u USERNAME -p DBNAME
show tables;
desc bonus;
DML(Data Manipulation Language)
SELECT
select empno, job from employee;
select empno 사번, job 직무 from employee;
// select empno as 사번, job as 직무 from employee;
select distinct depno from employee; // 중복행 제거
select empno, name from employee order by empno; // 오름차순 정렬
select empno, name from employee order by empno desc; // 내림차순 정렬
select empno, name from employee order by 2; // 2번째 컬럼(name)으로 정렬
select concat(empno, '-', name) as '사번-이름' from employee;
select * from employee where empno = 7934;
select * from employee where job = 'MANAGER';
select * from employee where deptno in (10,30); // 부서번호가 10 또는 30
// select * from employee where deptno = 10 or deptno = 30;
select * from employee where deptno = 10 and salary < 1500;
select name, job from employee where name like 'A%'; // 이름이 A로 시작하는 사람
select name, job from employee where name like '_A%'; // 이름의 두번째 글자가 A인 사람
select lower(name) from employee; // name을 소문자로 출력
select substring(name, 1, 2) from employee; // 이름을 첫 두글자만 출력
select LPAD(name, 10, '*') from employee; // *****SMITH
select RPAD(name, 10, '*') from employee; // SMITH*****
select trim(name) from employee;
select cast(now() as date);
select count(comm) from employee; // NULL을 제외하고 카운트
select deptno, avg(salary) from employee group by deptno; // 부서별 급여 평균
INSERT, UPDATE, DELETE
insert into role (role_id, role_name) values (200, 'CEO');
insert into role values (200, 'CEO');
// 필드명 생략 시 description에 나타난 순서대로 모든 필드에 값 지정
update role set role_id = 104 where role_name = 'CEO'; // CEO의 id를 104로 변경
delete from role where role_id = 104;
DML (Data Manipulation Language)
テーブル台
// 테이블 생성 : 이름, 데이터 타입 필수
create schedule(
subjct varchar(20) not null primary key,
time varchar(30) not null,
hours tinyint not null,
professor varchar(20),
credit tinyint default 3
);
// 컬럼 추가
alter table schedule add exam_date varchar(10);
// 컬럼 삭제
alter table schedule drop exam_date;
// 컬럼 수정
alter table schedule change subjct subject varchar(50);
alter table schedule change hours hours tinyint null;
// 테이블 이름 변경
alter table schedule rename school_schedule;
// 테이블 삭제하기
drop table school_schedule;
データ型
Reference
この問題について(mySQL), 我々は、より多くの情報をここで見つけました https://velog.io/@csct3456/SQLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol