Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

null을 허용하지만 기본적으로 빈(null이 아님)으로 설정되는 테이블에 열을 만드시겠습니까?

<시간/>

이를 위해서는 기본 키워드를 사용해야 합니다. 구문은 다음과 같습니다 -

변경 테이블 yourTableName add yourColumnName yourDataType NULL 기본값 '';

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> 테이블 생성 AllowNullDefaulNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> UserName varchar(20), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.65초) 

NULL 값을 허용하지만 기본값이 NOT NULL로 설정된 새 열을 추가해 보겠습니다. 쿼리는 다음과 같습니다 -

mysql> alter table AllowNullDefaulNotNullDemo add UserAddress varchar(20) NULL Default'';Query OK, 영향을 받는 행 0개(1.04초) 레코드:0 중복:0 경고:0

이제 DESC 명령을 사용하여 테이블의 설명을 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> 설명 AllowNullDefaulNotNullDemo;

다음은 출력입니다 -

+-------------+-------------+------+-----+----- --+----------------+| 필드 | 유형 | 널 | 키 | 기본값 | 추가 |+-------------+-------------+--------+-----+------ ---+----------------+| 아이디 | 정수(11) | 아니오 | PRI | 널 | 자동 증가 || 사용자 이름 | varchar(20) | 예 | | 널 | || 사용자 주소 | varchar(20) | 예 | | | |+-------------+-------------+------+-----+--------- --+----------------+3행 세트(0.17초)

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 아래 쿼리에서 UserAddress 열은 NULL 값을 허용하고 기본 설정 값은 NOT NULL입니다.

이 열에 레코드를 삽입해 보겠습니다. 쿼리는 다음과 같습니다 -

mysql> Insert into AllowNullDefaulNotNullDemo(UserAddress) values('US');Query OK, 1행 영향(0.14초)mysql> Insert into AllowNullDefaulNotNullDemo(UserAddress) values(NULL);Query OK, 1행 영향(0.16초) )mysql> AllowNullDefaulNotNullDemo() values()에 삽입, 쿼리 확인, 1개 행이 영향을 받습니다(0.12초)

새로 추가된 열의 특정 레코드(예:UserAddress)를 확인합니다. 쿼리는 다음과 같습니다 -

mysql> AllowNullDefaulNotNullDemo에서 UserAddress 선택;

다음은 출력입니다 -

+-------------+| 사용자 주소 |+-------------+| 미국 || 널 || |+-------------+3행 세트(0.00초)