MySQL 의 주 키 와 사 무 를 자세히 설명 합 니 다.
1.메 인 키 및 자체 증가
모든 시 계 는 보통 하나의 메 인 키 만 있 고 모든 데이터 의 유일 성 을 나타 낸다.
특성:값 중복 불가,빈 null 불가
형식:테이블 테스트 생 성(ID int primary key)
홈 키+자체 증가 하 는 쓰기:
형식:create table test(ID int primary key autoincrement)
메모:자체 증 가 는 메 인 키 에 맞 춰 만 사용 할 수 있 습 니 다.(단독 정의 시 오류 가 발생 할 수 있 습 니 다)
2.표 필드 의 주석
mysql> alter table test modify Name varchar(12) comment ' ';
3.다 중 표 조회
mysql> create table A(ID int primary key auto_increment,Name varchar(12),Department int);
mysql> create table B(ID int primary key auto_increment,Name varchar(12));
mysql> insert into B(Name) values(" "),(" ");
mysql> insert into A(Name,Department) values(" ",1),(" ",2),(" ",2);
mysql> select B.Name ,A.Name from B,A where B.ID=2 and A.Department=2;
2.데이터베이스 사무 개요
데이터베이스:관계 형 데이터베이스(사무 지원);비 관계 형 데이터베이스(지원 되 지 않 음)
트 랜 잭 션 특성
역할.
원자 성(Atomic)
업무 의 모든 조작 은 전부 완성 되 거나 전부 완성 되 지 않 으 면 어느 중간 부분 에서 끝나 지 않 는 다.
일치 성(일관성)
업무 가 시작 되 기 전과 업무 가 끝 난 후에 데이터 뱅 크 의 완전 성 제한 은 파괴 되 지 않 았 다.
격 리 성(격 리 성)
여러 개의 업무 가 데이터베이스 에 있 는 같은 데 이 터 를 동시에 방문 할 때 나타 나 는 것 은 상호 관계 이다.
지속 성(내구성)
트 랜 잭 션 이 완료 되면 변경 사항 을 영구적 으로 저장 하고 잃 어 버 리 지 않 습 니 다.
2.트 랜 잭 션 동시 다발 로 트 랜 잭 션 격 리 하지 않 음
격 리 단계
역할.
SERIALIZABLE
(직렬 화)더러 운 독 서 를 피하 고 중복 독 서 를 해 서 는 안 된다.
REPEATABLE-READ
(중복 읽 기 가능)더러 운 독 서 를 피하 고 중복 독 서 는 안 된다.
READ-COMMITTED
(읽 기 제출)오독 을 피하 다
READ-UNCOMMITTED
(읽 기 미 제출)무용지물
MySQL 은 위의 4 가지 격 리 단 계 를 지원 합 니 다.기본 값 은 중복 읽 기 입 니 다.격 리 단 계 를 수정 하려 면
sed -i '/\[mysqld]/a transaction-isolation = SERIALIZABLE' /etc/my.cnf
이 필요 합 니 다.
mysql> show variables like '%tx_is%';
mysql> exit
[root@MySQL ~]# sed -i '/\[mysqld]/a transaction-isolation = SERIALIZABLE' /etc/my.cnf
[root@MySQL ~]# systemctl restart mysqld
[root@MySQL ~]# mysql -uroot -p123123 -e "show variables like '%tx_is%';"
4.MySQL 데이터베이스 관리 업무
트 랜 잭 션 을 관리 하 는 세 가지 명령:
mysql> create table C(ID int);
mysql> insert into C values(1),(2);
mysql> select * from C;
mysql> BEGIN;
mysql> insert into C values(3);
mysql> COMMIT;
mysql> select * from C;
mysql> show variables like 'autocommit'; #
mysql> BEGIN;
mysql> insert into C values(4)
mysql> select * from C;
mysql> exit
[root@localhost ~]# mysql -uroot -p123123 -e "select * from Coco.C where ID=4"
set autocommit=0
:데이터베이스 에서 임시 발효 로 수정(영구 수정 하려 면 sed -i '/\[mysqld]/a autocommit=0' /etc/my.cnf
으로 수정)
mysql> set autocommit=0;
mysql> select * from Coco.C;
mysql> insert into Coco.C values(4);
mysql> select * from Coco.C where ID=4;
[root@localhost ~]# mysql -uroot -p123123 -e "select * from Coco.C where ID=4"
주의:
mysql> select ID as " ",Name as " ",Department as " " from A where ID=1;
mysql> select ID " ",Name " ",Department " " from A where ID=1;
2)무 거 운 것 을 제거한다
mysql> select distinct Department from A;
3)AND 와 OR 연산 자
AND:논리 와(조건 을 모두 만족 시 켜 야 한다);OR:논리 적 이거 나(조건 은 하나만 충족 시 켜 야 한다).
mysql> select * from A where ID >= 3 and Department = 2;
mysql> select * from A where ID >= 3 or Department = 2;
mysql> select * from A where ID in(1,3,4);
mysql> select * from A where ID not in(1,3,4);
mysql> select * from A where ID between 1 and 3;
4)SQL LIKE 연산 자
mysql> select * from A where Name like "% %";
mysql> select * from A where Name like "% %" or Name like "% ";
5)SQL ORDER BY 자구
mysql> select * from A order by ID desc;
mysql> select * from A order by Department,ID desc;
6)리 미트 자구
mysql> select * from C;
mysql> select * from C limit 2;
mysql> select * from C limit 0,2;
총결산
MySQL 키 와 업무 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 MySQL 키 와 업무 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.