SQL 기본 사용

목차
데 이 터 를 자신의 my sql 데이터베이스 에 넣 고 연습 용 으로 사용 합 니 다.
1.로그 인 조작 사용
1.1 Mysql 데이터베이스 로그 인
1.2 모든 데이터 베 이 스 를 보 여주 기(조회)
1.3 데이터베이스 에 들어가다
1.4 데이터베이스 만 들 기
2 DDL
테이블 구조 수정
3 DCL
1 사용자 권한 보기
2 권한 을 수 여 받 은 사용자
3 권한 부여
4 권한 해제
4 DQL:
1 열 제어
2 조건 제어:
조건 부 조회
모호 조회
3 정렬:orderby 정렬 의 키워드
4.취 합 함수:취 합 함 수 는 특정한 열의 수직 연산 을 하 는 데 사용 된다.
5.그룹 검색
6 limit 자구
SQL 문법 강좌 https://www.w3school.com.cn/sql/index.asp
my sql 튜 토리 얼https://www.runoob.com/mysql/mysql-tutorial.html
데 이 터 를 자신의 my sql 데이터베이스 에 넣 고 연습 용 으로 사용 합 니 다.
--   test      ,   test   :
CREATE DATABASE IF NOT EXISTS test;

--    test   
USE test;

--   classes  students (    ):
DROP TABLE IF EXISTS classes;
DROP TABLE IF EXISTS students;

--   classes :
CREATE TABLE classes (
    id BIGINT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--   students :
CREATE TABLE students (
    id BIGINT NOT NULL AUTO_INCREMENT,
    class_id BIGINT NOT NULL,
    name VARCHAR(100) NOT NULL,
    gender VARCHAR(1) NOT NULL,
    score INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--   classes  :
INSERT INTO classes(id, name) VALUES (1, '  ');
INSERT INTO classes(id, name) VALUES (2, '  ');
INSERT INTO classes(id, name) VALUES (3, '  ');
INSERT INTO classes(id, name) VALUES (4, '  ');

--   students  :
INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '  ', 'M', 90);
INSERT INTO students (id, class_id, name, gender, score) VALUES (2, 1, '  ', 'F', 95);
INSERT INTO students (id, class_id, name, gender, score) VALUES (3, 1, '  ', 'M', 88);
INSERT INTO students (id, class_id, name, gender, score) VALUES (4, 1, '  ', 'F', 73);
INSERT INTO students (id, class_id, name, gender, score) VALUES (5, 2, '  ', 'F', 81);
INSERT INTO students (id, class_id, name, gender, score) VALUES (6, 2, '  ', 'M', 55);
INSERT INTO students (id, class_id, name, gender, score) VALUES (7, 2, '  ', 'M', 85);
INSERT INTO students (id, class_id, name, gender, score) VALUES (8, 3, '  ', 'F', 91);
INSERT INTO students (id, class_id, name, gender, score) VALUES (9, 3, '  ', 'M', 89);
INSERT INTO students (id, class_id, name, gender, score) VALUES (10, 3, '  ', 'F', 85);

-- OK:
SELECT 'ok' as 'result:';

1.로그 인 조작 사용
1.1 Mysql 데이터베이스 로그 인
mysql -u root -p   
mysql -uroot -p

1.2 모든 데이터 베 이 스 를 보 여주 기(조회)
명령 완료 후 영문 기호 입력 하기;차 로 돌아 가 명령 을 집행 하 다.
show databases;

1.3 데이터베이스 에 들어가다
use dataname;

1.4 데이터베이스 만 들 기
create database dataname;

2 DDL
데이터베이스,표,열 을 만 들 고 삭제 하 며 수정 하 는 SQL 문 구 를 포함 합 니 다.주요 명령 은 CREATE,ALTER,DROP 등 이 있 는데 DDL 은 주로 표(TABLE)의 구조,데이터 형식,표 간 링크 와 제약 등 초기 화 작업 에 사용 되 는데 그들 은 대부분 표를 만 들 때 사용한다.
테이블 구조 수정
create table tablename(name varchar(32),age int);//   (  )

alter table //       
alter table person add home varchar(32);//   
alter table person drop name;//   

alter table student rename person;
/*   student   ,person        
 rename    ,     rename to
*/


alter table person change stu_name name varchar(25);
/*
  stu_name   ,name   
               ,          
                      
tips:        change   modify   ,            
*/


alter table person modify name varchar(20);
//  modify   name    ,      varchar(25)  varchar(20)


alter table person  modify name c_name integer;
desc person //     

3 DCL
DCL(Data Control Language)문:데이터 제어 문 구 는 서로 다른 데이터 세그먼트 의 직접적인 허가 와 접근 단 계 를 제어 하 는 문 구 를 사용 합 니 다.이 문 구 는 데이터베이스,표,필드,사용자 의 접근 권한 과 안전 단 계 를 정의 합 니 다.
1 사용자 권한 보기
사용자 계 정 을 성공 적 으로 만 든 후에 도 어떠한 조작 도 수행 할 수 없 으 며,이 사용자 에 게 적당 한 접근 권한 을 할당 해 야 합 니 다.사용 가능SHOW GRANTS FOR 문 구 는 사용자 의 권한 을 조회 합 니 다.예 를 들 면:
SHOW GRANTS FOR test

2 권한 을 수 여 받 은 사용자
'user_name'@'host_name'
  • Tips:'host_name'임의의 호스트 에서 데이터 베 이 스 를 방문 하 는 데 적응 하기 위해 설정 한 주소 나 주소 세그먼트 에 접근 할 수 있 습 니 다.
  • 여러 사용자 에 게 동시에 권한 을 부여 할 수 있다.
  • user표 의 기본 값
    host
    설명 하 다.
    %
    모든 호스트 일치
    localhost
    localhost 는 IP 주소 로 해석 되 지 않 고 UNIXsocket 으로 직접 연결 합 니 다.
    127.0.0.1
    TCP/IP 프로 토 콜 로 연결 되 며 이 컴퓨터 에서 만 접근 할 수 있 습 니 다.
    ::1
    ::1 은 ipv 6 지원 을 호 환 하 는 것 으로 ipv 4 와 127.0.0.1 을 나타 낸다.host형식 은 다음 과 같은 몇 가지 가 있다.
  • 사용host_name모호 일치,일치 하 는 조건 에 부합 되 는 호스트 는 이 데이터베이스 실례,예 를 들 어%또는192.168.2.%에 접근 할 수 있다.
  • 사용%.test.com,localhost,127.0.0.1및 서버 명 등 은 본 기기 에서 만 접근 할 수 있 습 니 다.
  • ip 주소 나 주소 세그먼트 형식 을 사용 하여 이 ip 또는 ip 주소 세그먼트 의 호스트 만 이 데이터 베 이 스 를 방문 할 수 있 습 니 다.예 를 들 어::1또는192.168.2.1또는192.168.2.0/24;
  • 생략 은 기본 값192.168.2.0/255.255.255.0입 니 다.

  • 3 권한 부여
    열(필드)권한 을 부여 할 때%의 값 은priv_type권한 으로 지정 되 며,사용 자 를 만 들 고,사용 자 를 삭제 하고,이름 을 바 꾸 고,모든 특권 을 취소 할 수 있 으 며,전역 적 입 니 다.
    ON 이 있 으 면 권한 을 부여 하고 ON 이 없 으 면 캐릭터 를 부여 합 니 다.예:
    --      db1          
    GRANT ALL ON db1.* TO 'user1'@'localhost';
    --           
    GRANT 'role1', 'role2' TO 'user1'@'localhost', 'user2'@'localhost';

    권한 이 적용 되 려 면 다음 문 구 를 실행 해 야 합 니 다:
    FLUSH PRIVILEGES;

    4 권한 해제CREATE USER문법 과REVOKE문장의 문법 형식 은 비슷 하지만 반대 효 과 를 가진다.
    REVOKE
        priv_type [(column_list)]
          [, priv_type [(column_list)]] ...
        ON [object_type] priv_level
        FROM user [, user] ...
    
    REVOKE ALL [PRIVILEGES], GRANT OPTION
        FROM user [, user] ...
    
    REVOKE PROXY ON user
        FROM user [, user] ...

    4 DQL:
    SELECT 입 니 다.이름 처럼 이 네 가지 명령 은 데이터베이스 에 있 는 데 이 터 를 조작 하 는 언어 입 니 다.
    select columnlist //  
    		from table_list //       
    		where condition //       
    		group by grouping //    
    		having condition //         
    		start,limit //        
    

    조회 수 요 는 다음 과 같다.-조건:나 이 는 홀수 이 고 홈 그룹 에 따라 조회 점수 가 가장 높 으 며 80 점 이상 이면 하나의 조회 person 표 의 age 를 홀수 로 하 는 홈 그룹 과 age 를 1 로 하 는 조회 항목 만 되 돌려 준다.
    select age from person where age%2=1 group by home having age=1 limit 1;
    

    1 열 제어
    	①:     
    		select * from   ;   //   *        
    
    	②:      ()
    		select  1 [, 2, 3...] from   ;
    
    	③:            
    		select distinct    from   ;
    
    	④:   
    		*           、 、 、   
    
    			>select   +2 from   ;           2
    
    		*               
    
    			>select concat('***',  ) from   ;             3 ***
    
    		*   NULL 
    
    			      null               ,      null ,     null,         null    0          
    			>select ifnull(  ,          ) from   ;
    
    		*      
    
    		>select ifnull(  ,0)+100 AS    from   ;   AS       
    

    2 조건 제어:
    조건 부 조회
    앞에서 말 한 UPDATE 와 DELETE 의 문구 와 마찬가지 로 SELECT 문구 도 WHERE 키 워드 를 사용 하여 조건 을 제어 할 수 있 습 니 다.
    SELECT   1,  2...   n FROM    WHERE   ;(age>10 AND name IS NOT NULL)
    

    모호 조회
    cao 성 name 을 조회 하고 싶 을 때 모호 한 조 회 를 사용 할 수 있 습 니 다.
    SELECT * FROM    WHERE name LIKE ' _';( 1        1    )
    		:         
    SELECT * FROM    WHERE name LIKE ' %';( %    0...n    )
    		:         
    SELECT * FROM    WHERE name LIKE '% %';(name   " "     )
    

    3 정렬:orderby 정렬 의 키워드
    (1)  
    	* SELECT * FROM    ORDER by    ASC;(ASC :  )
    		>          ---  
    		>  ASC    (      )
    (2)  
    	* SELECT * FROM    ORDER BY    DESC; ( DESC :   )
    		>          ---  
    		>  DESC     
    (3)    
    	SELECT * FROM    ORDER BY   1 ASC ,  2 DESC;
    

    4.취 합 함수:취 합 함 수 는 특정한 열의 수직 연산 을 하 는 데 사용 된다.
    (1)COUNT 
    	SELECT COUNT(*) FROM   ;
    		>        NULL      (    )
    	SELECT COUNT(  ) FROM   ;
    		>            NULL      
    (2)MAX 
    	SELECT MAX(  ) FROM   ;
    		>          
    (3)MIN
    	SELECT MIN(  ) FROM   ;
    		>          
    (4)SUM
    	SELECT SUM(  ) FROM   ;
    		>             
    (5)AVG
    	SELECT AVG(  ) FROM   ;
    		>               
    

    5.그룹 검색
                       ,       
      :
    	SELECT age,COUNT(*) FROM    GROUP BY age;
    		>        ,          
    	SELECT sex,MAX(age) FROM    GROUP BY sex;
    		>        ,            
    
    SELECT    ,COUNT(*) FROM    GROUP BY    HAVING COUNT(*) > 3;
    	>      ,            3     , 
    

    6 limit 자구
    (사투리-MySql 만 있 음)
    LIMIT             ,     
    
      :       3 ,    4   
    
    SELECT * FROM    LIMIT (pageIndex - 1)* pageCount , pageCount;
    	>  2         ,4    4   , : 3、4、5、6   
    
    limit           
    

     
     
     
     
     
     
     

    좋은 웹페이지 즐겨찾기