mysql在已有表上增加一个字段并限制字数

mysql在已有表上增加一个字段并限制字数,第1张

1、首先打开mysql软件,并登陆注册自己的账号。

2、其次点击该软件主界面的设置选项,并在该选项中找到在已有表上增加一个字段并限制字数选项。

3、最后点击该选项进行设置即可。

先看一下最简单的例子,在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中给表添加一个字段,本文就介绍这么多,希望对大家有所帮助,谢谢!

使用

ALTER TABLE 表名 AUTO_INCREMENT = 100

下面是详细例子

mysql>CREATE TABLE test_create_tab2 (

-> id INT AUTO_INCREMENT,

-> val VARCHAR(10),

-> PRIMARY KEY (id)

->)

Query OK, 0 rows affected (0.09 sec)

mysql>INSERT INTO test_create_tab2(val) VALUES ('NO id')

Query OK, 1 row affected (0.03 sec)

mysql>select last_insert_id() as id

+----+

| id |

+----+

| 1 |

+----+

1 row in set (0.00 sec)

mysql>INSERT INTO test_create_tab2(val) VALUES ('NO id 2')

Query OK, 1 row affected (0.03 sec)

mysql>select last_insert_id() as id

+----+

| id |

+----+

| 2 |

+----+

1 row in set (0.00 sec)

mysql>select * from test_create_tab2

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

| id | val |

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

| 1 | NO id |

| 2 | NO id 2 |

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

2 rows in set (0.00 sec)

mysql>ALTER TABLE test_create_tab2 AUTO_INCREMENT = 100

Query OK, 2 rows affected (0.25 sec)

Records: 2 Duplicates: 0 Warnings: 0

mysql>INSERT INTO test_create_tab2(val) VALUES ('NO id N')

Query OK, 1 row affected (0.03 sec)

mysql>select * from test_create_tab2

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

| id | val |

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

| 1 | NO id |

| 2 | NO id 2 |

| 100 | NO id N |

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

3 rows in set (0.00 sec)


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

原文地址:https://54852.com/bake/11912737.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存