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

특정 열 뒤에 새 열을 추가하고 MySQL에서 기본값을 정의하시겠습니까?

<시간/>

특정 열 뒤에 새 열을 추가하고 기본값을 정의하려면 몇 가지 단계를 수행해야 합니다. 이를 수행하려면 ALTER 명령을 사용해야 합니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
   (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentFirstName varchar(20),
   StudentAge int,
   StudentCountryName varchar(100)
   );
Query OK, 0 rows affected (0.21 sec)

테이블 설명을 확인해보자 -

mysql> desc DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId          | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentFirstName   | varchar(20)  | YES  |     | NULL    |                |
| StudentAge         | int(11)      | YES  |     | NULL    |                |
| StudentCountryName | varchar(100) | YES  |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+
4 rows in set (0.15 sec)

다음은 특정 컬럼 뒤에 새로운 컬럼을 추가하고 기본값을 정의하는 쿼리이다. 열 이름 "StudentFirstName" 뒤에 새 열 "StudentLastName"을 추가해 보겠습니다. StudentLastName 열의 기본값은 "Doe"입니다.

mysql> alter table DemoTable add StudentLastName varchar(20) NOT NULL after StudentFirstName;
Query OK, 0 rows affected (0.91 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table DemoTable alter StudentLastName set default 'Doe';
Query OK, 0 rows affected (0.32 sec)
Records: 0 Duplicates: 0 Warnings: 0

다시 한번 테이블 설명을 확인해보자.

mysql> desc DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId          | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentFirstName   | varchar(20)  | YES  |     | NULL    |                |
| StudentLastName    | varchar(20)  | NO   |     | Doe     |                |
| StudentAge         | int(11)      | YES  |     | NULL    |                |
| StudentCountryName | varchar(100) | YES  |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)