db 접속 명령어
> mysql -u root -p
원격 접속 명령어
> mysql -u root -p -h [접속할 IP]
데이터베이스 목록 확인
> show databases;
데이터 베이스 사용
> use [데이터베이스 이름];
테이블 목록 확인
> show tables;
현재 사용중인 db이름 확인
> select database();
현재 사용자 이름 출력
> select user();
상태확인
> status;
< select >
select *(여기에 선택적으로 컬럼명을 적을 수 있음) from 테이블 이름 where 조건
where ~ like (대치) ~인 / not like ~가 아닌
%
_ 글자수가 맞아야함
> select distinct (중복제거) ~
시작위치를 정해 3개의 정보만 추출하도록 하기
> select * from emp limit 2,3; // 위에서 2번째부터 3개
정렬 (order by)
> select * from emp order by 컬럼명 asc(오름차순)/desc(내림차순);
> select * from emp order by deptno, sal desc; //deptno먼저 내림차순으로 정리 후 동률일 때 sal을 내림차순으로 정리
수학 select ~
abs(123) - 절대값
ceil(4.4) - 올림
floor(4.4) - 내림
round(4.4) - 반올림
truncate(999.999,0) - 소수점 버리기
truncate(999.999,2) - 소수점 두번째 자리까지 출력
truncate(999.999,-2) - 백의 자리까지만 출력
power(2,2) - 거듭제곱
mod(5,2) - 나머지
gratest(100,101,102) - 최대값
least(100,101,102) - 최소값
문자열
length('abc') - 문자열 길이
char_length('테스트') - 한글 문자열 길이
concat('asp','php') - 문자열의 연결 (출력을 문장으로 연결하여 표현 가능)
instr('mariadb database study', 'da') - 문자열이 시작되는 위치
left('mariadb database study',5) - 문자열 왼쪽 분리
right('mariadb database study',4) - 문자열 오른쪽 분리
mid('mariadb database study',5,3) - 문자열 중간 분리
replace('mariadb database study','study','스터디') - 문자열 치환
~정도 후 interval 2day/month
select now(), date_add(now(), interval 2 day)
날짜에서 날짜 빼기
datediff('2023-09-01','2023-09-02')
select case 'analyst'
when 원래문자 then 바꿀문자 -> switch case처럼 사용
.
.
else
end;
행의 개수 select count(* or 컬럼 이름) from 테이블 이름;
join
select * from 테이블 cross join 테이블2;
<create >
create database 데이터베이스명
drop database 데이터베이스명
테이블에 새로운 컬럼 추가
> alter table 테이블명 add job varchar(9);
> alter table 테이블명 modify job varchar(20);l
rename
drop 컬럼 이름
테이블의 내용을 수정 alter
테이블 삭제 drop
insert into 테이블 명 values(값1, 값2, 값3...);
update 테이블 set 조건
delete from 테이블 where 조건 -> 특정 행 삭제
사용자 생성
> update 테이블명 set 컬럼명 = 값, 컬럼명 = 값, 컬럼명 = 값 where 조건create user tester1@localhost identified by '123456';