数据表插值
操作数据表中最重要的操作,保存我们的网站数据,用户数据。我们先来看一下命令规则:
INSERT [INTO] tbl_name [(col_name,col_name,...)] VALUES(val,val,...)
从上面的规则我们可以看到,[(col_name,col_name,...)]是可填可不填,区别在于;不填[(col_name,col_name,...)]就必须一次传入所有字段的值,填入[(col_name,col_name,...)]就可以传入对应col_name值。(推荐课程:MySQL教程)
所以,我们来查看一下上一次建的数据表user
的结构在进行传值,输入命令
SHOW COLUMNS FROM user;
我们可以看到有四个字段usename
,age
,passwrod
,gz
,我们先来一次性对所有字段插值。
INSERT user VALUES('Tom',25,'abc123456',12000);
运行命令~成功。
现在我们来给usename
,passwrod
两个字段进行插值
INSERT user (usename,passwrod) VALUES('Jieke','101010');
运行命令~成功
我们刚刚插入了几个值,现在我们来查询字段的值是否与我们插入的一样。
查找记录值命令规则:
SELECT expr,... FROM tbl_name;
输入命令:
//当然实际上的查询命令非常,现在只是演示简单查找命令 SELECT * FROM user;
可以看到刚刚插入的值都存在数据表中了。
在网站注册资料中,有必填字段和可填字段的设定。在mysql中也拥有此设定,就是空值与非空值NULL
,NOT NULL
。现在我们来创建一个新的数据表并创建字段。
CREATE TABLE newuser( name VARCHAR(20) NOT NULL, age TINYINT UNSIGNED NULL )
上面我们设定了两个字段,name
字段不可为空值,age
字段可为空值。
现在我们来插入字段值
INSERT newuser (name,age) VALUES('Timo',null);
插入值成功。
**现在,我们来试一下插入name
字段的值为NULL会怎么样。
INSERT newuser (name,age) VALUES(NULL,NULL);
可以看到报错,Columns 'name' cannot be null
name字段不可设置为空值。所以我们设定的空值与非空值已经成功生效了。
我们可以为字段设定默认值DEFAULT
,当插入记录时,如果没有明确赋值,则自动赋值设定的默认值。
现在我们来重新创建一个数据表tb2,并为name
,sex
中的sex
设定默认值。输入命令行:
CREATE TABLE tb2( name VARCHAR(20), sex ENUM('1','2','3') DEFAULT '3' );
插入记录name,不对sex插入记录
INSERT tb2(name) VALUES('ggb');
插入成功,我们对数据表记录输出,看看sex
有没有值
可以看到sex
值为3,已经被赋值默认值了。