一、SQL通用语法

  1. SQL 语法可以单行或者多行书写,以分号结尾。
  2. SQL 语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。
  4. 注释:
    • 单行注释: -- 注释内容 或者 # 注释内容(MySQL 特有)
    • 多行注释: /* 注释内容 */

二、SQL的分类

  1. DDL: Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
  2. DML: Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改的
  3. DQL: Data Query Language 数据查询语言,用来查询数据库中表的记录。
  4. DCL: Data Control Language 数据控制语言,用来创建数据库用户,控制数据的访问权限

三、DML-添加数据

  1、给指定字段添加数据

    语法:insert into 表名 (字段1,字段2)values (值1, 值2);

      

    注意:

      1、这里是按需添加数据,例如这里只添加name和age字段的数据,而address 没有添加。

      2、这里是已经提前建好的表table_test,在上一篇文章中有介绍《MySQL基础2-数据库及表的操作

  2、给全部字段添加数据

    语法:insert into 表名 values (值1,值2,...);

      

    注意:这里需要把四个字段都要赋值,id这里我并没有设置为主键,也没有设置为自动递增,所以这里id也是需要手动添加的,主键会放在后面章节中介绍。

  3、批量添加数据

    1、部分字段批量增加

      语法:insert into 表名 (字段1,字段2,...) values (值1,值2,值2),(值1,值2,值3)...;

        

    2、全部字段批量增加

      语法:insert into 表名 values (值1,值2,值3),(值1,值2,值3), ....;

        

  4、注意:

    • 插入数据是,指定的字段顺序需要和值的顺序一一对应
    • 字符串和日期类型的数据应该包含在引号中
    • 插入的数据大小,应该在字段的规定范围内

四、DML-修改数据

  1、修改指定字段数据

    语法:update 表名 set 字段1=值1., 字段2=值2,...[where 条件]

      修改id=17的这一条数据的age为17,address为深圳

      

      注意:修改语句的条件可以有也可以没有,如果没有条件,则会修改整张表的所有数据。

      

五、DML-删除数据

  语法:delete from 表 [where 条件];

    

  注意:如果不写where条件怎会删除所有数据,如果有多个满足条件的数据也会同时删除多个。

    

    

MySQL基础3-数据库增删改操作的更多相关文章

  1. Django基础之数据库增删改查

    Django中生成多个APP,每个APP下都有自己models模块,避免了多个APP之间数据的相互影响. 1.首先在APP的models下创建一个类 class UserInfo(models.Mod ...

  2. MySQL基础SQL命令---增删改查

    1.表操作: create table tableName (id int(6) not null primary key auto_increatment,name varchar(10) not ...

  3. mysql基础教程(三)-----增删改、子查询、创建管理表、约束和分页

    插入 INSERT语句语法 从其它表中拷贝数据 • 不必书写 VALUES 子句. • 子查询中的值列表应与 INSERT 子句中的列名对应 update语句 • 可以一次更新多条数据. • 如果需要 ...

  4. C# winform窗体设计-对数据库执行增删改操作

    对于学习数据库的人来说,数据库的增删改可谓是最基本的了(小编其实也只是一个小白=-=),这篇文章,小编将于大家讲解数据库增删改操作 在执行数据库增删改的时候主要使用的:Command 类       ...

  5. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  6. python操作mysql数据库增删改查的dbutils实例

    python操作mysql数据库增删改查的dbutils实例 # 数据库配置文件 # cat gconf.py #encoding=utf-8 import json # json里面的字典不能用单引 ...

  7. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  8. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  9. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  10. MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句)一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)二.SQL语句:    数据定义语言DDL  用来定义数据库.表.列,关 ...

随机推荐

  1. Oracle 高版本导出到低版本的测试验证

    今天验证Oracle 由高版本 备份恢复到低版本 与方神沟通(双 还是他) 说可以使用 version的参数..然后搞一下.. expdp system/Test6530@ora12cr2 schem ...

  2. Win10 查看无线局域网的密码

    1. 打开命令行 输入 control 打开控制面板 2. 进入网络和共享中心 3. 打开连接 4. 使用如下进行查看.

  3. 测试环境Nginx反向代理负载均衡模板说明

    公司里面为了验证 https 以及域名特点进行了相关的测试工作.  为了简单起见 将 安装文件执行了导出. 这样的话就比较简单了. 注意说明一点的是 我这边导出的工具都是 放到根目录下面 目录最简单. ...

  4. 原生js拖拽元素(onmouseup不能够触发的原因)

    我们经常会遇见拖拽某一个元素的场景,拖拽也是很常用的: 这次拖拽遇见一个问题,有时在拖拽的时候吗,鼠标松开,元素仍然可以拖拽: 经过查阅资料,发现: 会触发H5原生的拖拽事件.并且不会监听到onmou ...

  5. Go 循环之for循环,仅此一种

    Go 循环之for循环,仅此一种 目录 Go 循环之for循环,仅此一种 一.for 循环介绍 二.for 循环结构 2.1 基本语法结构 2.2 省略初始值 2.3 省略初始语句和结束语句 2.4 ...

  6. windows10卸载小娜

    适用于2004版本往后的 win+x如图 输入如下代码 Get-AppxPackage-allusersMicrosoft.549981C3F5F10|Remove-AppxPackage 运行结束后 ...

  7. 3.1 Windows驱动开发:内核远程堆分配与销毁

    在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了ZwAllocateVirtualMemory这 ...

  8. Umi配置路由

    一.Umi路由的概念 在 Umi 中,你可以在 config/config.js 文件中使用 routes 属性来配置路由.routes 属性是一个数组,每个元素都表示一个路由对象.每个路由对象都包含 ...

  9. PostgreSQL-可以通过localhost连接,无法通过IP地址连接。

    (1)如果PostgreSQL配置文件中没有允许访问该服务器的IP地址,则需要先添加允许访问的IP地址,并在防火墙中开放相应的端口.(2)在PostgreSQL配置文件postgresql.conf中 ...

  10. 【JS】因两道Promise执行题让我产生自我怀疑,从零手写Promise加深原理理解

    壹 ❀ 引 其实在去年七月份,博客所认识的一个朋友问了我一个关于Promise执行先后的问题,具体代码如下: const fn = (s) => ( new Promise((resolve, ...