MySQL为数据表的指定字段插入数据

username not null 没有默认值/有默认值   insert不插入username字段 均不报错

2014年07月23日21:05    百科369


MySQL为数据表的指定字段插入数据

为数据表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其它字段的值为数据表定义时的默认值。

基本的语法格式如下:

INSERT INTO 表名(字段1,字段2,...,字段m) VALUES(值1,值2,...,值m);
  • 字段1,字段2,...,字段m:表示数据表中的字段名称,此处指定数据表的部分字段的名称。
  • 值1,值2,...,值m:表示指定字段的值,每个值与相应的字段对应。

实例1

1. 向student表的xuesheng字段和yuwen字段插入数据。INSERT语句的代码如下:

mysql>INSERT INTO student(xuesheng,yuwen) VALUES(‘王媛媛‘,88);

插入数据的操作效果如下图所示:

上图中代码执行的结果显示,记录插入成功。

2. 执行SELECT语句查询student表。如下图所示:

3. 上图中代码执行的结果显示,记录已经插入成功。但是,shuxue字段和yungyu字段都为空值(NULL)。执行SHOW CREATE TABLE语句查看student表的详细结构。如下图所示:

从上图中代码执行的查询结果可以看出,shuxue字段和yingyu字段的默认值为空值(NULL),因为这两个字段没有插入值,数据库系统自动 为其插入了该字段定义时的默认值,所以这两个字段的值才为空值。如果默认值设置为了某一个具体的值,那么这两个字段的值就会显示为那一个具体的值。

另外,我们虽然没有插入id字段的值,但是该字段自动添加了一个整数值6。这是因为id字段设置为了表的主键,虽然不能为空,但是数据库系统会自动为该字段插入一个自增的序列值。

提示

没有赋值的字段,数据库系统会为其插入一个默认值。这个默认值是在创建数据表的时候定义的。如上面的shuxue字段和yingyu字段的默认值为NULL。如果某个字段没有设置默认值,而且是非空,那就必须为其赋值。不然,数据库系统会提示一条警告信息。


实例2

这种方式同样可以随意设置字段的顺序,而不需要按照数据表定义时的顺序进行插入数据。

1. 向student表中的id、xuesheng和yingyu字段插入数据。INSERT语句中,这3个字段的顺序可以任意排列,代码如下:

mysql>INSERT INTO student(yingyu,id,xuesheng) VALUES(99,4,‘杨萍‘);

操作效果如下图所示:

上图中代码执行的结果显示,记录插入成功。

2. 执行SELECT语句查询student表。如下图所示:

上图中代码执行的结果显示,记录已经成功插入。

时间: 2024-10-29 04:02:40

MySQL为数据表的指定字段插入数据的相关文章

Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))

oracle——数据表的相关操作——插入数据以及批量插入数据

SQL更新数据 1.插入数据——insert操作 语法格式如下: insert into 表名 (列名1,列名2……,列名n) values (值1,值2……,值n); 在insert操作中,列名列表中的各列需要以逗号分隔:而值列表指定各列的值,列名与值需要一一对应. 如果insert语句所指定的列名列表包含了表中的所有列,那么可以将列名列表省略. create table student08 ( id number, name varchar2(20), sex varchar2(20), a

Oracle中使用游标获取指定数据表的所有字段名对应的字符串

操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR(255):='STAFFDOC'; --定义要查询的数据表名变量,STAFFDOC为我测试用的数据表名,请修改成您的数据库中的对应数据表名字mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量 cursor mycursor is --定义游标          s

MySQL 中的数据库名称、数据表名称、字段名称

如何查询Oracle,Sql Server,MySQL 中的数据库名称.数据表名称.字段名称 分类: Database2012-09-24 22:16 7034人阅读 评论(0) 收藏 举报 数据库sql serveroraclemysqltableobject 目录(?)[+] 在开发项目的时候有个功能需要查看数据库中有哪些表,以及每个表有哪些字段,在网上查看了一下,现在分享给大家. Oracle: 查询数据表(Tables)名称:select Table_Name, Tablespace_N

Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_USER的字段列表字符串为AH,BIRTHPLACE,BM,CELLPHONE,CJGZRQ,DEPARTMENT2,DJJID,GZCX,GZKH,GZSFZH,HJDZ,HYZK,ID,JHRQ,JTZZ,LAFX_LD,LJDZ,LLY,LXDH,NAME,NXDH,POLICENUMBER,

MySQL实验1: 新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。

数据表(table)简称表,它是数据库最重要的组成部分之一.数据库只是一个框架,表才是实质内容. 实验: 新建一个名为 library的数据库,包含 book.reader两张表,根据自己的理解安排表的内容并插入数据. 参考答案: 总结:经过本次实验,我们已经有了一个名为 library的数据库,其中有 book和reader两张表,我们已经向其中插入了一些数据. 原文地址:https://www.cnblogs.com/HongjianChen/p/10692764.html

mysql中对表操作----为所有列插入数据

     为所有列插入数据 通常情况下,向数据表中插入数据应包含表中所有字段,也就是为表中所有字段添加数据,为表中所有字段添加数据有以下两种方式. 1.INSERT语句中指定所有字段名 使用INSERT语句列出表的所有字段可以向表中插入数据,语法格式如下所示. INSERT INTO 表名(字段名1,字段名2,……) VALUES(值1,值2,……); 以上示例中,“字段名1,字段名2”是数据表中的字段名称,“值1,值2”是对应字段需要添加的数据,每个值的顺序.类型必须与字段名对应. 首先,创建

【Oracle】给clob字段插入数据

// 插入 //OracleCommand cmd = "insertInto into GIS_PolygonPoint(PCode,PointColl) values('140134', :var)"; // 修改 //OracleCommand cmd = new OracleCommand("update yd_line set coord=:coordstr where lineid=" + LineId.ToString(), conn); string

MySQL获取Schema表名和字段信息

MySQL获取Schema表名和字段信息 获取表名 select TABLE_NAME,TABLE_TYPE,ENGINE,TABLE_ROWS,TABLE_COMMENT,CREATE_TIME,UPDATE_TIME, CHECK_TIME from information_schema.TABLES where TABLE_SCHEMA='t_shop' ; 获取字段名 select COLUMN_NAME,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH,IS_NUL