mysql建_mysql简单建表

NULL 和 NOT NULL 修饰符:

可以在每个字段后面都加上这NULL 或 NOT NULL 修饰符来指定该字段是否可以为空(NULL),还是说必须填上数据(NOT NULL)。MySQL默认情况下指定字段为NULL修饰符,如果一个字段指定为NOT NULL,MySQL则不允许向该字段插入空值(这里面说的空值都为NULL),因为这是“龟定”。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/*

创建好友表,其中id ,name ,pass都不能为空

*/

create table friends(

id int(3)notnull,

name varchar(8)notnull,

pass varchar(20)notnull

);

/*

错误提示,id列不能为空

#1048 - Column 'id' cannot be null

*/

INSERT INTO friends

VALUES(

NULL,'simaopig','simaopig'

);

但是在自增列和TIMESTAMP字段中,这个规则并不适用。向这些字段中插入NULL值将会导致插入下一个自动增加的值或者当前的时间戳。

DEFAULT 修饰符:

可以使用DEFAULT修饰符为字段设定一个默认值。当插入记录时,您老人家忘记传该字段的值时,MySQL会自动为您设置上该字段的默认值。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

/*

创建im表,将name字段设置为默认值'QQ'

*/

create table im(

id int(3)notnull,

name varchar(25)notnulldefault'QQ'

);

/*

插入数据,不传name字段的值,MySQL会为其设置默认值的

您运行的 SQL 语句已经成功运行了。

*/

INSERT INTO im(id,name)VALUES(2,'MSN');

INSERT INTO im(id)VALUES(3);

SELECT *FROM im LIMIT0,30;

/*

id name

2 MSN

3 QQ

*/

如果一个字段中没有指定DEFAULT修饰符,MySQL会依据这个字段是NULL还是NOT NULL自动设置默认值。如果指定字段可以为NULL,则MySQL为其设置默认值为NULL。如果是NOT NULL字段,MySQL对于数值类型插入0,字符串类型插入空字符串,时间戳类型插入当前日期和时间,ENUM类型插入枚举组的第一条。

AUTO_INCREMENT 修饰符:

AUTO_INCREMENT修饰符只适用于INT字段,表明MySQL应该自动为该字段生成一个数(每次在上一次生成的数值上面加1)。对于主键(稍候介绍),这是非常有用的。因为其允许开发者使用MySQL为每条记录创建唯一的标识符。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

/*

您运行的 SQL 语句已经成功运行了。 ( 查询花费 0.0170 秒 )

*/

CREATE TABLE items(

id int(5)NOTNULLAUTO_INCREMENT PRIMARY KEY,

label varchar(255)NOTNULL

);

/*

插入三条数据,不指定id,采用默认值,加上AUTO_INCREMENT

您运行的 SQL 语句已经成功运行了。

*/

insert into items(label)values('xxx');

insert into items(label)values('yyy');

insert into items(label)values('zzz');

/*

全显示出来,看一下数据,注意看id的变化

*/

select *from items;

/*

id label

1 xxx

2 yyy

3 zzz

*/

MySQL表中只能有一个AUTO_INCREMENT字段,而且这个字段必须被定义为键。除了字段的约束,MySQL也允许表级的约束,比如主键和外键、索引和惟一约束。这些约束置于CREATE TABLE命令的字段定义的后面。稍候为您介绍。敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值