[MySQL 시리즈] MySQL 라이브러리 학습 및 기본 동작(추가, 삭제, 확인 및 수정)

"서문" 기사의 내용은 대략적으로 데이터베이스의 기본 작업입니다.

"소속 열" MySQL

"홈페이지 링크" 개인 홈페이지

"작가" Mr. Maple Leaf (fy)

"단풍잎씨는 문학이 조금" "문장 나눔"
아무도 혼자 있는 것을 좋아하지 않지만 실망하는 것도 좋아하지 않습니다.
- 무라카미 하루키, "노르웨이의 숲"

MySQL

1. 데이터베이스 생성/보기

데이터베이스 구문 생성:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...]

create_specification옵션:

[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name

설명하다

  • db_name생성된 데이터베이스의 이름입니다.
  • 대문자 키워드
  • []는 선택 사항이며 작성하지 않도록 선택할 수 있습니다.
  • CHARACTER SET: 데이터베이스에서 사용하는 문자 집합을 지정합니다.
  • COLLATE: 데이터베이스 문자 집합에 대한 유효성 검사 규칙을 지정합니다.

모든 데이터베이스 보기:

show databases;

여기에 이미지 설명 삽입
[IF NOT EXISTS]데이터베이스가 존재하면 생성되지 않고, 존재하지 않으면 생성된다는 의미입니다. 예를 들어 기존 test데이터베이스를 생성합니다.

create database if not exists test;
或者 create database test; // 直接创建

여기에 이미지 설명 삽입
존재하지 않는 경우 생성

create database if not exists test1;

여기에 이미지 설명 삽입
데이터베이스는 본질적으로 /var/lib/mysql/아래에
여기에 이미지 설명 삽입

2. 데이터베이스 삭제

문법:

DROP DATABASE [IF EXISTS] db_ name;
  • db_name생성된 데이터베이스의 이름입니다.
  • []는 선택 사항이며 작성하지 않도록 선택할 수 있습니다.

삭제를 수행한 후의 결과:

  • 해당 데이터베이스는 데이터베이스 내부에서 볼 수 없습니다.
  • 해당 데이터베이스 폴더가 삭제되고 계단식 삭제되며 그 안에 있는 모든 데이터 테이블이 삭제됩니다.
  • 데이터베이스 삭제는 기본적으로 /var/lib/mysql/아래의

알아채다: 임의로 데이터베이스를 삭제하지 마시고, 불필요한 데이터베이스는 이름을 변경하여 백업해두시기 바랍니다.
여기에 이미지 설명 삽입

3. 데이터베이스 문자 집합 및 데이터베이스 유효성 검사 규칙

db1이라는 데이터베이스를 생성합니다.

create database db1;

설명하다: 문자 집합과 검증 규칙을 지정하지 않고 데이터베이스를 생성할 때 시스템은 기본 문자 집합을 사용하며 검증 규칙은 utf8MySQL 구성 파일 에 설정되어 있습니다
. 문자 집합이나 검증 규칙을 직접 지정하면 , 시스템 기본 문자 집합 및 유효성 검사 규칙을 사용하는 경우에는 그렇지 않습니다. 문자 집합을 사용하여 db2 데이터베이스를 생성하도록 지정할 수도 있습니다.utf8_ general_ ci/etc/my.cnf
utf8

create database db2 charset=utf8;
或者 create database db2 CHARACTER SET utf8

utf문자 집합 및 데이터 정렬 규칙을 사용하여 utf8_general_cidb3 데이터베이스를 생성할 수도 있습니다.

create database db3 charset=utf8 collate utf8_general_ci;

문자 집합 및 유효성 검사 규칙이란 무엇입니까? ?

  • 문자 집합은 코드 집합이며 데이터베이스는 데이터를 표현하고 저장하는 데 사용됩니다.
  • 유효성 검사 규칙은 데이터베이스가 필드를 비교할 때(데이터 읽기, 데이터 비교) 사용해야 하는 인코딩인 데이터 무결성을 감지하고 확인하는 방법입니다.

데이터에 대해 수행되는 모든 작업에 관계없이 데이터베이스 라이브러리는 인코딩 형식이 일관성이 있는지 확인해야 합니다.
시스템 기본 문자 집합(현재 데이터베이스)을 확인합니다( /etc/my.cnfMySQL 구성 파일에서 설정).

show variables like 'character_set_database';

여기에 이미지 설명 삽입
시스템 기본 유효성 검사 규칙 보기(현재 데이터베이스)

show variables like 'collation_database';

여기에 이미지 설명 삽입
데이터베이스에서 지원하는 문자 집합을 확인하십시오. 문자 집합은 주로 사용되는 언어를 제어합니다. 예를 들어 utf8은 중국어를 사용할 수 있습니다.

show charset;

여기에 이미지 설명 삽입
데이터베이스에서 지원하는 문자 집합 확인 규칙을 봅니다.
여기에 이미지 설명 삽입
각 확인 규칙은 문자 집합과 일치합니다. 예를 들어 utf8_general_ci확인 규칙과 일치하는 문자 집합은 다음과 같습니다.utf8

넷째, 유효성 검사 규칙이 데이터베이스에 미치는 영향

대소문자를 구분하지 않음

utf8_ general_ ci[대소문자 구분 안 함]를 사용하여 유효성 검사 규칙으로 데이터베이스 생성

create database test1 charset=utf8 collate utf8_general_ci;

테이블 삽입 데이터 생성

use test1;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

여기에 이미지 설명 삽입
데이터베이스의 디렉토리에서 db.opt파일은 라이브러리의 코딩 규칙을 저장하는 것입니다.

cat /var/lib/mysql/test1/db.opt

여기에 이미지 설명 삽입
테이블 정보 보기
여기에 이미지 설명 삽입
문자 찾기a

select * from person where name='a';

a및 모두 A감지되어 검사 규칙이 utf8_general_ci대소문자를 구분하지 않음을 나타냅니다.여기에 이미지 설명 삽입

대소문자 구분

utf8_ bin[대소문자 구분]을 사용하여 유효성 검사 규칙으로 데이터베이스 생성

create database test2 collate utf8_bin;

테이블 삽입 데이터 생성

use test2;
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');

여기에 이미지 설명 삽입
데이터베이스의 디렉토리에 db.opt파일은 라이브러리의 인코딩 규칙을 저장하는 것입니다.
여기에 이미지 설명 삽입
검색 문자 a, 조건을 충족하는 문자 만 발견되어 검사 규칙이 utf8_bin대소 문자를 구분함을 나타냅니다.
여기에 이미지 설명 삽입

5. 데이터베이스 수정

데이터베이스를 생성할 때 설명 표시

show create database 数据库名;

여기에 이미지 설명 삽입
설명하다

  • MySQL은 대문자 키워드를 사용할 것을 권장하지만 필수 사항은 아닙니다.
  • 데이터베이스 이름의 백틱``은 데이터베이스 이름이 키워드로만 사용되는 것을 방지하기 위한 것입니다.
  • /*!40100 default.... */이것은 주석이 아니라 현재 mysql 버전이 4.01보다 높다는 것을 의미합니다. 이 문장을 실행하고 미만이면 실행하지 마십시오.

데이터베이스 수정

문법:

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]

alter_spacification옵션:

alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
  • 대문자 키워드
  • []는 선택 사항이며 작성하지 않도록 선택할 수 있습니다.

설명하다
: 데이터베이스의 수정은 주로 데이터베이스의 문자셋, 검증규칙 등을 수정하는 것을 말한다 test2.gbk

alter database test1 charset=gbk collate gbk_chinese_ci;

여기에 이미지 설명 삽입
여기에 이미지 설명 삽입
알아채다: 현재 데이터베이스는 이전에 지원했던 데이터베이스 이름 수정을 지원하지 않습니다.

6. 데이터베이스 백업 및 복구

지원

문법

mysqldump -P3306 -u root -p -B 数据库名 > 数据库备份存储的文件路径

참고: >는 출력 리디렉션입니다.
예를 들어 test1라이브러리를 파일로 백업하려면 mysql 연결을 종료해야 합니다.

mysqldump -P3306 -uroot -p -B test1 > /home/fy/mysql/test1.sql

여기에 이미지 설명 삽입
vim을 열어 확인하십시오. 데이터 + 데이터의 효과적인 작업이 모두 백업됩니다.
여기에 이미지 설명 삽입

절감

문법:

source 备份的文件(路径)

참고: >는 출력 리디렉션입니다.
삭제하고 test1, 테스트하고,
여기에 이미지 설명 삽입
복원하고 test1, mysql 연결에서 작동하십시오.

source /home/fy/mysql/test1.sql;

여기에 이미지 설명 삽입
데이터베이스를 확인하십시오. 데이터가 복원되었습니다.
여기에 이미지 설명 삽입
지침:
백업이 데이터베이스 전체가 아닌 테이블 중 하나인 경우

 mysqldump -uroot -p 数据库名 表名1 表名2... > 备份的文件(路径),如:/mytest.sql

여러 데이터베이스를 동시에 백업

 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

데이터베이스를 백업할 때 -B 매개변수를 포함하지 않으면 데이터베이스를 복원할 때 빈 데이터베이스를 먼저 생성한 다음 데이터베이스를 사용하고 소스를 사용하여
복원해야 합니다.

일곱, 데이터베이스 연결 확인

문법:

show processlist;

여기에 이미지 설명 삽입
현재 어떤 사용자가 우리 MySQL에 연결되어 있는지 알려줄 수 있습니다. 사용자가 정상적인 로그인이 아닌 것을 발견하면 데이터베이스가 침입되었을 가능성이 큽니다. 나중에 데이터베이스가 느려지면 이 명령을 사용하여 데이터베이스 연결 상태를 확인할 수 있습니다.
--------------------- END ----- ------ -----------

「 作者 」 枫叶先生
「 更新 」 2023.7.7
「 声明 」 余之才疏学浅,故所撰文疏漏难免,
          或有谬误或不准确之处,敬请读者批评指正。

추천

출처blog.csdn.net/m0_64280701/article/details/131583937