插入记录INSERT

  我们先来看第一个操作:INSERT

实际上在mysql当中一共存在着3种不同的insert语句,我们先来看第一种。它的语法结构如下:

  

  一、插入记录

INSERT [INTO] tbl_name [(col_name,…)] {VALUES | VALUE}

({expr | DEFAULT},…),(…),…

  从语法结构中我们可以看到有个可选项col_name,就是我们的列名称,如果省略掉的话,就代表所有的字段依次被赋值,接下来我们可以发现,在值当中我们既可以跟表达式也可以跟默认值,如果存在多个字段,他们之间用“逗号”分割,除此之外,我们还可以看到,在mysql的插入语句当中,可以一次性的插入多条记录,下面我们来做一个简单的演示:

  我们先来创建一张简单的数据表user,操作命令如下:

create   table   user(
id smallint unsigned primary key auto_increment,
username varchar(20) not null,
password varchar(30) not null,
age tinyint unsigned not null default 10,
sex boolean
); show columns from user;

  下面我们就按照上面的语法结构往表里插入数据,我们先来使用最简单的方式,省略掉字段名,也就是说所有字段都要赋值。

1.1注意:有一个字段比较个性,就是id字段,因为id字段是自动编号的,其实我们在为自动编号的字段赋值的时候,我们可以采用两个特殊的值,依次让其采用默认的编码方式。

  第一种:使用null来表示id为默认的自增的方式

insert   user   values(null,'Tom','',24,1);

select  *  from  user;

insert   user   values(null,'join','',25,1);

select *  from  user;

  

  第二种:使用default来表示id为默认的自增的方式下面我们使用default再来插入一条记录,结果证明这样也是可以的,如下图:

insert   user   values(default,'Tom','',24,0);
select *  from  user;

 1.2注意:刚才我们为所有的字段都赋了值,如果不这样做,系统将提示我们错误,下面我们来验证一下,假设我们省掉一个字段,这个时候系统提示我们错误,如下图:

insert    user   values(null,'join','',25);

大概意思就是列和值的数目不匹配,所以也就是说,如果省略掉了列名的话,就要为所有的字段依次赋值

 1.3 注意  除了可以为所有的字段依次赋值之外,我们还可以插入表达式,下面我们来试验一下,假设我们把age字段修改为2*8+2,操作命令及结果如下:

insert   user   values(default,'Tom',''',2*8+3,0);

select  *  from   user;

  除了可以写成数字表达式,还可以写成字符表达式或函数表达式。

 1.4注意  default的另一个作用default,它除了可以对刚才我们提到过的自动编号的字段起作用外,如果说某个字段赋过默认值的话,我们也可以将default赋予它,比如刚才我们的user表中的age字段,他的默认值就是10,所以说如果我们要age赋予10的话,我们既可以写个10,又可以写个default,操作命令及结果如下。

insert  user   values(default,'Tom','',default,0);

select   *  from user;

  1.5 注意  实际上我们还可以一次性的写入多条记录,注意两个值之间要用逗号分割,操作命令及结果如下:

insert   user  values(default,'Tom','',2*8+3,0),(null,'jack','',default,0);

select   *    from   user;

  二、插入记录

INSERT [INTO] tbl_name SET col_name={expr | DEFAULT},…

insert   user  set   username='jack',password='';

  age字段存在着默认值,即使不赋值也为10,同时sex字段允许为空,所以我们可以只写这两个字段。

  三、插入记录

INSERT [INTO] tbl_name [(col_name,…)] SELECT…

  这种方法我们稍后再详细讲解。

插入记录INSERT(二十五)的更多相关文章

  1. JavaWeb学习记录(二十五)——权限管理总结

    一.面向对象思想简化数据库操作 public List<Role> getObjectsByIds(List<AdminRole> adminRoles) {        L ...

  2. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  3. Java基础学习笔记二十五 MySQL

    MySQL 在dos中操作mysql 连接mysql命令: mysql -uroot -p密码 ,连接OK,会出现mysql> 对数据库的操作 创建一个库 create database 库名 ...

  4. FreeSql (二十五)延时加载

    FreeSql 支持导航属性延时加载,即当我们需要用到的时候才进行加载(读取),支持1对1.多对1.1对多.多对多关系的导航属性. 当我们希望浏览某条订单信息的时候,才显示其对应的订单详细记录时,我们 ...

  5. 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧

    目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...

  6. [转载]Windows&nbsp;Server&nbsp;2008&nbsp;R2&nbsp;之二十五AD&nbsp;RMS信任策略

    原文地址:Windows Server 2008 R2 之二十五AD RMS信任策略作者:从心开始 可以通过添加信任策略,让 AD RMS 可以处理由不同的 AD RMS 群集进行权限保护的内容的授权 ...

  7. Bootstrap <基础二十五>警告(Alerts)

    警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...

  8. VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池

    VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...

  9. WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇]

    原文:WCF技术剖析之二十五: 元数据(Metadata)架构体系全景展现[元数据描述篇] 在[WS标准篇]中我花了很大的篇幅介绍了WS-MEX以及与它相关的WS规范:WS-Policy.WS-Tra ...

随机推荐

  1. 【Oracle学习笔记】

    内容主要包括: (1)三种循环及其简化 (2)游标的使用 (3)异常处理 (4)存储过程 (5)存储函数 (6)触发器 (7)其它pl/sql操作 ---------------loop循环定义变量- ...

  2. Get Client IP

    How to get a user's client IP address in ASP.NET? Often you will want to know the IP address of some ...

  3. .net core @Html 自定义属性中包含特殊符号解决

    最近自己在练手项目用到了VUE 绑定属性的时候发现 有: -符号 这样显然是不支持的.之前发现 v-on  这种-符号也是不支持的 但是可用 @v_on 替代.可是找遍了所有资料也没找到:转义符 当时 ...

  4. .net垃圾回收-原理浅析

    本文引自:http://www.cnblogs.com/wilber2013/p/4357910.html 在开发.NET程序过程中,由于CLR中的垃圾回收(garbage collection)机制 ...

  5. shell编程笔记1

    参考文章:1 http://blog.csdn.net/wuwenxiang91322/article/details/9259877   通过chmod改变文件权限 补充知识: 1Linux文件的三 ...

  6. mybatis批量插入、批量更新和批量删除

    转载 https://www.jianshu.com/p/041bec8ae6d3

  7. 计算机组成原理--64位CPU装载32位操作系统,它的寻址能力还是4GB吗?

    借由这个问题,今天我们就把 32 位 CPU.64 位 CPU.32 位操作系统.64 位操作系统之间的区别与联系彻底搞清楚.对于这个问题,博主也是一知半解了好长时间啊~ 基本概念 32位的CPU与6 ...

  8. 2013-11-02 【webrebuild广州站】分享会纪要

    为了不让自己沉浸个人的技术研究当中,也为了多去接触业界新技术新思想,今天去参加了webrebuild广州站的一个分享交流会,效果不错,有一些获益.听了四个主题,依据个人获取信息的情况来做个纪要(比较粗 ...

  9. HDU-1024 Max Sum Plus Plus 动态规划 滚动数组和转移优化

    题目链接:https://cn.vjudge.net/problem/HDU-1024 题意 给n, m和一个序列,找m个不重叠子串,使这几个子串内元素和的和最大. n<=1e6 例:1 3 1 ...

  10. 一句话木马和中国菜刀的结合拿webshell

    什么叫做一句话木马:     就是一句简单的脚本语言,一句话木马分为Php,asp,aspx等 中国菜刀:   连接一句话木马的工具 实验的目的:  通过一句话木马来控制我们的服务器,拿到webshe ...