创建自己的第一个学习数据库learn
在创建好的数据库链接上右键,点击New Datebase。在d出框内填上数据库名称,选择字符集。为规避开发中的乱码问题,在此我都选择了utf-8。
创建表
双击创建的数据库就会打开此数据库,在工具栏上点击New Table,此时d出对话框,直接添加表字段,添加完成,点击保存Save时会提示输入表名称。
一般表的第一个字段设置为表的主键,点击右上方Primary Key,字段栏位最后会出现钥匙符号,表明已经设置成了主键。如果想让主键自动增长,在选择完主键数据类型int后,下方会出现Auto Increment选项,勾选上,以后添加数据时主键就会自己生成,且自动增长,设置为int类型,每次自动加1。下方的Default为默认值,Comment为对字段的描述。描述最好写上,无论自己或者别人以后看到这张表时,都能快速找到或者理解字段。
数据库中,增加一个字段用alter命令。
工具:sqlserver 2008 R2
步骤:
1、数据库中有表student数据如下:
2、给表增加一个班级(class)字段,类型为字符型,长度为20位。可用如下语句:
alter table student add class varchar(10)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中给表添加一个字段,本文就介绍这么多,希望对大家有所帮助,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)