my sql 기본 동작 상세 설명(2)

5084 단어 mysql조작 하 다.
머리말
본문 유형
1.데이터베이스 의 몇 가지 제약
2.표 와 표 사이 의 관계
제약 조건:
홈 키 제약 조건:

  :              
mysql      :    (primary key)     (unique)     (not null)     (foreign key)
    :           
	  :          ,            
	  1:            :           primary key
	  2:               
		           ,       
		  : primary key(  1,  2)
		
		create table pk01(
			id int,
			username varchar(20),
			primary key (id)
		);
		
		insert into pk01 values(1,'tom');--   
		insert into pk01 values(1,'tom');--    Duplicate entry '1' for key 'PRIMARY'
		insert into pk01 values(null,'tom');--    Column 'id' cannot be null
		
		create table pk01(
			id int primary key,
			username varchar(20),
			primary key (id)
		);--               
		
	  3:    ,           
		create table pk02(
			id int,
			username varchar(20)
		);
		
		alter table pk02 add primary key(   1,   2..);
		alter table pk02 add primary key(id,username);
		
		insert into pk02 values(1,'tom');--   
		insert into pk02 values(1,'tomcat');--   
		insert into pk02 values(1,'tomcat');--   
유일한 제약 조건

         , null    
	  1:            :           unique
		create table un(
			id int unique,
			username varchar(20) unique
		);
		
		insert into un value(10,'tom');--   
		insert into un value(10,'jack');--    Duplicate entry '10' for key 'id'
		insert into un value(null,'jack');--   
		insert into un value(null,'rose');--   
		
	  2:               
		           ,       
		unique(  1,   2...)
	  3:    ,           
		alter table    add unique(  1,  2);--        
		alter table    add unique(  1);--        
		alter table    add unique(  2);--         
		
		////////////////
			create table un01(
				id int,
				username varchar(20)
			); 
			alter table un01 add unique(id,username);
			insert into un01 values(1,'tom');--   
			insert into un01 values(1,'jack');--   
			insert into un01 values(1,'tom');--    Duplicate entry '1-tom' for key 'id'
비공 식 제약 조건

  :         
	  :
		create table nn(
			id int not null,
			username varchar(20) not null
		);
		
		insert into nn values(null,'tom');--     Column 'id' cannot be null
사례 1 쌍 다 중 C 사용자 테이블 만 들 기

create table user(
	id int primary key auto_increment,
	username varchar(20)
);

--      
create table orders(
	id int primary key auto_increment,
	totalprice double,
	user_id int
);
데이터 의 유효성 과 완전 성 을 확보 하기 위해 제약(외부 키 제약)을 추가 합 니 다.
다 중 테이블 의 한쪽 에 외부 키 제약 조건 을 추가 합 니 다.
형식:
alter table 다 중 표 이름 add foreign key(외 키 이름)references 표 이름(메 인 키);
예 를 들 면:
alter table orders add foreign key(user_id) references user(id);
외부 키 제약 조건 을 추가 한 후 다음 과 같은 특징 이 있 습 니 다.
주 표 에서 표 에서 인 용 된 데 이 터 를 삭제 할 수 없습니다
  • 2.표 에서 메 인 표 에 존재 하지 않 는 데 이 터 를 추가 할 수 없습니다
  • 개발 중 한 쌍 이상 처리:
    다 중 표 에 외 키 를 추가 합 니 다.이름 은 보통 주 표 의 이름 입 니 다id,필드 형식 은 일반적으로 메 인 테이블 의 메 인 키 형식 과 일치 합 니 다.
    데이터 의 유효성 과 완전 성 을 확보 하기 위해 서 는 다 중 표 의 외 키 에 외 키 제약 을 추가 하면 됩 니 다.
    사례 2 쌍 다 중 C 사용자 테이블 만 들 기
    
    --      
    create table product(
    	id int primary key auto_increment,
    	name varchar(20),
    	price double
    );
    
    --      
    create table orderitem(
    	oid int,
    	pid int
    );
    
    C 외부 키 제약 조건 추가
    alter table orderitem add foreign key(oid) references orders(id);
    alter table orderitem add foreign key(pid) references product(id);
    개발 중 다 대 다 처리:
    중간 표를 도입 하여 두 장의 표를 저장 하 는 메 인 키 는 보통 이 두 필드 를 연합 메 인 키 로 설정 합 니 다.그러면 여러 쌍 의 관 계 를 나 눌 수 있 습 니 다.
    두 쌍 이 되 고 한 쌍 이 많아 졌어 요.
    데이터 의 유효성 과 완전 성 을 확보 하기 위해
    중간 표 에 두 개의 외부 키 제약 을 추가 하면 됩 니 다.
    사례 3-다 중 표 조회
    피리 칼 적:
    
               .      
    	select a.*,b.* from a,b;
    내부 연결
    
    	  1:      
    	select a.*,b.* from a [inner] join b on ab     
      2:      
    	select a.*,b.* from a,b where ab     
    외부 연결
    
    	    :
    	select a.*,b.* from a left [outer] join b on     ;
    	  :
    		   join   (a)      ,         join    (b),         ,    null   .
          :
    	select a.*,b.* from b right [outer] join a on     ;
    	  :
    		   jion    (a)      ,        join    (b),         ,    null   .
         :
               .
    
    위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 my sql 기본 조작 상세 해석 통합 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기