mysql:sql

MySQL SQL

  • STATUS: 현재 상태 확인
  • USE database: 데이터베이스 지정
  • SHOW DATABASES: 데이터베이스 목록
    SHOW SCHEMAS
  • CREATE DATABASE database: 데이터베이스 추가
    CREATE DATABASE database CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci
  • DROP database
  • SHOW TABLES: 테이블 목록
  • EXPLAIN table: 테이블 설명
  • CREATE TABLE table ( … )
    CREATE VIEW view AS
  • DROP table
  • COMMENT ON TABLE table IS 'comment' 설명 추가
  • COMMENT ON COLUMN table.column IS 'comment' 설명 추가
  • SHOW GRANTS: 사용자 권한 확인
    SHOW GRANTS FOR id'@'%'
  • CREATE USER id@host IDENTIFIED BY password: 사용자 추가
    ALTER USER id@host IDENTIFIED BY password: 비밀번호 변경
  • GRANT DATABASES
  • GRANT ALL PRIVILEGES ON *.* TO id@host: 권한 부여
    GRANT SELECT PRIVILEGES ON database.table TO id@host WITH GRANT OPTION
    GRANT ALL PRIVILEGES ON database.table TO id@host IDENTIFIED BY password
  • FLUSH PRIVILEGES: 권한 반영
  • REVOKE DATABASES
  • REVOKE ALL PRIVILEGES ON *.* FROM id@host: 권한 부여
  • SHOW VARIALBES: 값 확인
    SHOW VARIALBES LIKE variable
    • variable: %version%
  • CREATE DATABASE database CHARACTER SET charset COLLATE collation : 데이터베이스 추가
    ALTER DATABASE database CHARACTER SET charset COLLATE collation: 데이터베이스 변경
  • CREATE TABLE table (…) CHARACTER SET charset COLLATE collation : 테이블 추가
    ALTER TABLE table CHARACTER SET charset COLLATE collation: 테이블 변경
charset
- utf8mb4: 1~4바이트를 사용하며 모든 유니코드 문자 표현 가능
collation 콜레이션
- utf8mb4_genera_ci: 일반적인(general), ci(Case Insensitive)로 대소문자 구분 없음
- utf8mb4_bin: 대소문자 구분하며 바이너리 비교. 보안상 중요한 필드에 적용
- utf8mb4_0900_ai_ci: MySQL 8.0에서 도입. 성능과 정확성 균형
  • SHOW VARIABLES LIKE `c%` 데이터베이스 인코딩 확인 (character_set_database, collation_database)
  • SHOW TABLE STATUS LIKE `table` 테이블 인코딩 확인
  • SHOW FULL COLUMS FROM table: 테이블의 모든 컬럼 인코딩 확인
-- 테이블 정보조회
SELECT *
 FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DATABASE_NAME'
  AND TABLE_NAME = 'TABLE_NAME';
 
-- 테이블 컬럼 조회
SHOW COLUMNS FROM TABLE_NAME;
 
-- 테이블 생성 구문 조회
SHOW CREATE TABLE TABLE_NAME;
 
-- 권한 조회
SHOW GRANTS FOR id@host;
SHOW GRANTS FOR CURRENT_USER;
 
COMMENT ON COLUMN table1.column1 IS 'comment';
INSERT IGNORE INTO `spring`.`users` VALUES (NULL, 'john', '12345', 1);
 
INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) 
VALUES (1,2, ...)
ON DUPLICATE KEY UPDATE
  컬럼1 = 새값1,
  컬럼2 = 새값2;
 
 
-- 일반 쿼리 로그 활성화
SET GLOBAL general_log = 'ON';
SET GLOBAL general_log_file = '/var/log/mysql/mysql-query.log';
 
-- 로그 파일 위치 확인
SHOW VARIABLES LIKE 'general_log%';
-- 슬로우 쿼리 로그 설정 확인
SHOW VARIABLES LIKE '%slow%';
 
-- 슬로우 쿼리 로그 활성화
SET GLOBAL slow_query_log = 'ON';
 
-- 데이터베이스 문자셋 확인
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME 
FROM INFORMATION_SCHEMA.SCHEMATA 
WHERE SCHEMA_NAME = 'apidb';
 
-- 테이블 문자셋 확인
SELECT TABLE_NAME, TABLE_COLLATION 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'apidb' AND TABLE_NAME = 'tbl_product';
 
-- 컬럼 문자셋 확인
SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'apidb' AND TABLE_NAME = 'tbl_product';
 
-- 데이터베이스 문자셋 변경
ALTER DATABASE apidb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
 
-- 테이블 문자셋 변경
ALTER TABLE tbl_product CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
 
-- 특정 컬럼 문자셋 변경
ALTER TABLE tbl_product MODIFY pdesc VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
 
-- 데이터베이스 문자셋 확인
SHOW VARIABLES LIKE 'c%';
  • /home/u613600155/domains/cli.zerotymer.net/public_html/data/pages/mysql/sql.txt
  • 마지막으로 수정됨: 2025/12/18 07:29
  • 저자 writer