10 분 소요

Kali Linux 에서 MySQL 연습


$ sudo service mysql start
# mysql user 와 password를 지정
$ sudo mysql -u -root -p
# 비밀번호 입력창 뜨면 그냥 엔터 (kali linux의 mysql 비밀번호 기본값 없음)

데이터베이스 생성

mariadb > create database korea;
# 생성됐는지 확인
mariadb > show databases;

테이블 생성

mariadb > create table city(
	name varchar(10),
    phone int(3),
    color char(3),
    people bigint
);

# 생성됐는지 확인
mariadb > show tables;

# table 자세히 보기
mariadb > desc city;

값 입력 (데이터 타입)

  • varchar : 가변 길이 character
  • char : 고정 길이 character
  • int : 정수 (최대 20억 정도)
  • bigint : 큰 정수
  • text : 글을 입력할 수 있음
  • cf. 문자열은 ‘ ‘ (single quotes)로 감싸야하고, 숫자는 그냥 입력 가능
mariadb > insert into city values('seoul', 002, 'BLU', 10000000);
mariadb > insert into city values('daegu', 053, 'GRN', 2000000);
mariadb > insert into city values('busan', 051, 'BLK', 3500000);
mariadb > insert into city values('ulsan', 052, 'SLV', 1000000);

테이블에 들어간 값 확인

mariadb > select * from city;

값 변경

mariadb > update city set people=3000000 where name = 'ulsan';

  • 이 방법으로 password 또한 변경 가능
# 패스워드가 평문으로 저장
mariadb > update member set passwd='test12#$' where userid='admin';

# 패스워드를 SHA2-256 방식으로 해쉬값을 저장하는 방법
mariadb > update member set passwd=sha2('test12#$', 256) where userid='admin';

select 문을 두 개 연결하려면? UNION

mariadb > select name, phone from city union select color, people from city;

information_schema 구조


mariadb > use information_schema;
mariadb > show tables;
mariadb > desc tables;
# distinct 옵션은 중복 제거
mariadb > select distinct table_schema from tables;

  • show databases 랑 동일한 결과
특정 데이터 베이스에서의 테이블만 보는 법

mariadb > select table_name from tables;

# 특정 데이터 베이스에서의 테이블만 보는 
mariadb > select table_name from tables where table_schema = 'korea';

‘city’ 테이블의 column을 조회
mariadb > select column_name from columns where table_name = 'city';

댓글남기기