MYSQL表中新增字段指定位置,SQL语句该怎么写?

MYSQL表中新增字段指定位置,SQL语句该怎么写?,第1张

数据表中添加一个字段的SQL语句写法为:

1、alter table 表名 ADD 字段 类型 NOT NULL Default 0

2、ALTER TABLE employee  ADD  spbh varchar(20) NOT NULL Default 0

3、在表employee 中加入 spbh  类型是varchar大小20 不为空 默认值是0

扩展资料:

其他常用sql语句:

1、修改数据表中某项字段属性,为其添加备注。

语句格式:comment on column  库名.表名.字段名 is  '输入的备注'

示例: 我要在ers_data库中  test表 document_type字段添加备注,则sql语句为:

comment on column ers_data.test.document_type is '文件类型'

2、删除数据表中的某字段。

语句格式:alter table  表名  drop (字段)

先看一下最简单的例子,在test中,添加一个字段,字段名为birth,类型为date类型。

mysql>

alter

table

test

add

column

birth

date

Query

OK,

0

rows

affected

(0.36

sec)

Records:

0

Duplicates:

0

Warnings:

0

查询一下数据,看看结果:

mysql>

select

*

from

test

+------+--------+----------------------------------+------------+-------+

|

t_id

|

t_name

|

t_password

|

t_birth

|

birth

|

+------+--------+----------------------------------+------------+-------+

|

1

|

name1

|

12345678901234567890123456789012

|

NULL

|

NULL

|

|

2

|

name2

|

12345678901234567890123456789012

|

2013-01-01

|

NULL

|

+------+--------+----------------------------------+------------+-------+

2

rows

in

set

(0.00

sec)

从上面结果可以看出,插入的birth字段,默认值为空。我们再来试一下,添加一个birth1字段,设置它不允许为空。

mysql>

alter

table

test

add

column

birth1

date

not

null

Query

OK,

0

rows

affected

(0.16

sec)

Records:

0

Duplicates:

0

Warnings:

0

居然执行成功了!?意外了!我原来以为,这个语句不会成功的,因为我没有给他指定一个默认值。我们来看看数据:

mysql>

select

*

from

test

+------+--------+----------------------------------+------------+-------+------------+

|

t_id

|

t_name

|

t_password

|

t_birth

|

birth

|

birth1

|

+------+--------+----------------------------------+------------+-------+------------+

|

1

|

name1

|

12345678901234567890123456789012

|

NULL

|

NULL

|

0000-00-00

|

|

2

|

name2

|

12345678901234567890123456789012

|

2013-01-01

|

NULL

|

0000-00-00

|

+------+--------+----------------------------------+------------+-------+------------+

2

rows

in

set

(0.00

sec)

哦,明白了,系统自动将date类型的值,设置了一个默认值:0000-00-00。下面我来直接指定一个默认值看看:

mysql>

alter

table

test

add

column

birth2

date

default

'2013-1-1'

Query

OK,

0

rows

affected

(0.28

sec)

Records:

0

Duplicates:

0

Warnings:

0

mysql>

select

*

from

test

+------+--------+----------------------------------+------------+-------+------------+------------+

|

t_id

|

t_name

|

t_password

|

t_birth

|

birth

|

birth1

|

birth2

|

+------+--------+----------------------------------+------------+-------+------------+------------+

|

1

|

name1

|

12345678901234567890123456789012

|

NULL

|

NULL

|

0000-00-00

|

2013-01-01

|

|

2

|

name2

|

12345678901234567890123456789012

|

2013-01-01

|

NULL

|

0000-00-00

|

2013-01-01

|

+------+--------+----------------------------------+------------+-------+------------+------------+

2

rows

in

set

(0.00

sec)

看到没,将增加的birth2字段,就有一个默认值了,而且这个默认值是我们手工指定的。

关于MySQL中给表添加一个字段,本文就介绍这么多,希望对大家有所帮助,谢谢!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11656358.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存