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表。如下图所示:

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

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

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

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  2. MySQL向数据库表的某字段追加数据

    使用CONCAT()函数 mysql向表中某字段后追加一段字符串(field为字段名): update table_name set field=CONCAT(field,'str',) mysql ...

  3. mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it"

    mysql中大数据表alter增加字段报错:"1034 Incorrect key file for table 'table_name'; try to repair it" 现 ...

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

    应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...

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

    操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR( ...

  6. C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型

    如何获取指定数据表的所有字段名和字段类型.SqlConnection.GetSchema方法有2个重载形式,获取指定数据表的所有字段名和字段类型的秘密就在GetSchema (String, Stri ...

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

    如何查询Oracle,Sql Server,MySQL 中的数据库名称.数据表名称.字段名称 分类: Database2012-09-24 22:16 7034人阅读 评论(0) 收藏 举报 数据库s ...

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

    数据表(table)简称表,它是数据库最重要的组成部分之一.数据库只是一个框架,表才是实质内容. 实验: 新建一个名为 library的数据库,包含 book.reader两张表,根据自己的理解安排表 ...

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

         为所有列插入数据 通常情况下,向数据表中插入数据应包含表中所有字段,也就是为表中所有字段添加数据,为表中所有字段添加数据有以下两种方式. 1.INSERT语句中指定所有字段名 使用INSER ...

随机推荐

  1. 关于Java控制台输入输出乱码问题

    产生原因:因为这个开源项目的默认字符编码为UTF-8,所以我的控制台的字符编码也自动变成了UTF-8,而键盘的输入流的默认格式是GBK格式,这样就造成了在GBK转UTF-8的过程中产生的奇数乱码错误( ...

  2. [转载] HTTP请求的TCP瓶颈分析

    原文: http://bhsc881114.github.io/2015/06/23/HTTP%E8%AF%B7%E6%B1%82%E7%9A%84TCP%E7%93%B6%E9%A2%88%E5%8 ...

  3. OCR识别-python版(一)

    需求:识别图片中的文字信息环境:windows系统 开发语言:python 使用工具类:1.pyocr 2.PIL 3.tesseract-ocr 步骤: 1.pyocr 网络通直接使用命令:pip ...

  4. Python学习(4)运算符

    目录 Python 算术运算符 Python 比较运算符 Python 赋值运算符 Python 位运算符 Python 逻辑运算符 Python 成员运算符 Python 身份运算符 Python  ...

  5. Python中的__new__()方法的使用

    __new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object:   @staticmethod # known cas ...

  6. iOS——MVVM设计模式

    一.典型的iOS构架——MVC 在典型的MVC设置中,Model呈现数据,Vie呈现用户界面,而ViewController调节它两者之间的交互. 虽然View和View Controller是技术上 ...

  7. 工作流学习——Activiti整体认识二步曲 (zhuan)

    http://blog.csdn.net/zwk626542417/article/details/46594505 ***************************************** ...

  8. STM8s窗口看门狗

    看看窗口看门狗的框图 从图里看出产生复位信号有2个方式: 1 WDGCR寄存器的T6 由1变0,也就是从此寄存器的值从0x40变成0x3F会产生复位信号: 2 当寄存器WDGCR的值大于WDGWR的时 ...

  9. SyncServer obj

  10. 2D客户端+微端技术总结

    本人于2013年9月23号加入一个页游项目组, 并作为项目组的客户端小组的主程, 带领一个4个人(峰值)的前端小组, 进行微端的开发.微端项目于2014年8月底大体完成, 历时11个月.9月份之后微端 ...