목차
修改表名
修改字段的数据类型
修改字段名
增加无完整性约束条件的字段
增加有完整性约束条件的字段
在表头添加字段
在指定位置添加字段
删除字段
 
修改字段到第一个位置
修改字段到指定位置
删除表的外键约束
데이터 베이스 MySQL 튜토리얼 MySQL学习笔记5:修改表_MySQL

MySQL学习笔记5:修改表_MySQL

Jun 01, 2016 pm 01:37 PM
mysql

bitsCN.com

我们在创建表的过程中难免会考虑不周,因此后期会修改表

修改表需要用到alter table语句

 

修改表名
mysql> alter table student rename person;Query OK, 0 rows affected (0.03 sec)
로그인 후 복사

这里的student是原名,person是修改过后的名字

 

修改字段的数据类型
mysql> alter table person modify name varchar(20);Query OK, 0 rows affected (0.18 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

此处modify后面的name为字段名,我们将原来的varchar(25)改为varchar(20)

 

修改字段名
mysql> alter table person change stu_name name varchar(25);Query OK, 0 rows affected (0.20 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

这里stu_name是原名,name是新名

需要注意的是不管改不改数据类型,后面的数据类型都要写

如果不修改只需写成原来的数据类型即可

 

增加无完整性约束条件的字段
mysql> alter table person add sex boolean;Query OK, 0 rows affected (0.21 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

此处的sex后面只跟了数据类型,而没有完整性约束条件

 

增加有完整性约束条件的字段
mysql> alter table person add age int not null;Query OK, 0 rows affected (0.17 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

地处增加了一条age字段,接着在后面加上了not null完整性约束条件

 

在表头添加字段
mysql> alter table person add num int primary key first;Query OK, 0 rows affected (0.20 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

默认情况下添加字段都是添加到表尾,在添加语句后面加上first就能添加到表头

 

在指定位置添加字段
mysql> alter table person add birth date after name;Query OK, 0 rows affected (0.20 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

这里添加一条新字段放在name字段后面

 

删除字段
mysql> alter table person drop sex;Query OK, 0 rows affected (0.18 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

和前面删除表或数据库一样,这里也需要用drop

不同的是,删除字段还要用alter table跟着表名

 
修改字段到第一个位置
mysql> alter table person modify id int first;Query OK, 0 rows affected (0.20 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

first在前面已经讲过,此处要注意的是字段后面要写数据类型

 

修改字段到指定位置
mysql> alter table person modify name varchar(25) after id;Query OK, 0 rows affected (0.18 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

我们把name字段放到了id后面,此处的varchar(25)要写全,varchar不行

建议操作以上步骤之前都先desc table

 

删除表的外键约束
mysql> alter table student3 drop foreign key fk;Query OK, 0 rows affected (0.18 sec)Records: 0  Duplicates: 0  Warnings: 0
로그인 후 복사

由于基本的表结构描述无法显示外键,所以在进行此操作前最好使用show create table查看表

这里的fk就是刚刚设置的外键

需要注意的是:如果想要删除有关联的表,那么必先删除外键

 

 

 

 

 

 

bitsCN.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 빅데이터 구조 처리 능력 PHP의 빅데이터 구조 처리 능력 May 08, 2024 am 10:24 AM

PHP의 빅데이터 구조 처리 능력

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 03, 2024 pm 08:11 PM

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까?

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 12:19 PM

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? Jun 02, 2024 pm 02:26 PM

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까?

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? 데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? May 05, 2024 am 09:06 AM

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까?

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? Jun 02, 2024 pm 02:13 PM

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까?

PHP 배열 페이징을 위한 성능 최적화 전략 PHP 배열 페이징을 위한 성능 최적화 전략 May 02, 2024 am 09:27 AM

PHP 배열 페이징을 위한 성능 최적화 전략

See all articles