有关数据库的DML操作

  -insert into

  -delete、truncate

  -update

  -select

    -条件查询

    -查询排序

    -聚合函数

    -分组查询

DROP、TRUNCATE、DELETE

-DELETE删除数据,保留表结构,可以回滚,如果数据量大,很慢,回滚就是因为备份删除的数据

-TRUNCATE删除所有数据,保留表结构,不可以回滚,一次全部删除所有数据,速度相对很快

-DROP删除数据和表结构,删除数据最快(直接从内存抹去这一块数据)

  1. #1.指明字段进行插入,注意字段和值的数量和类型都需要匹配
  2. INSERT INTO tb_dept (NAME,loc,description) VALUES('开发部','广州','负责软件开发工作');
  3.  
  4. #2.如果插入的values是所有字段,可以不同显式写插入的字段名,不推荐
  5. INSERT INTO tb_dept VALUES(3,'财务部','广州','负责财务工作');
  6.  
  7. #auto_increment会记住曾经生成的值
  8.  
  9. #3.一次插入多条记录 mysql特有
  10. INSERT INTO tb_dept (NAME,loc,description)
  11. VALUES('开发部','广州','负责软件开发工作'),
  12. ('财务部','广州','负责财务工作'),
  13. ('市场部','广州','负责采购工作');
  14.  
  15. #4.可以从一张表中插入数据
  16. #创建一张表和tb_dept表的结构一样,通过这种方式建表只是复制表结构,不复制约束
  17. CREATE TABLE tb_dept2
  18. SELECT * FROM tb_dept
  19. #where id = 99
  20.  
  21. #先建表再插入
  22. INSERT INTO tb_dept2(id,NAME,loc,description)
  23. SELECT id,NAME,loc,description FROM tb_dept
  24.  
  25. INSERT INTO tb_emp(id,NAME,sex,age,address,email,dept_id)
  26. VALUES(1,'Tony','男',26,'广州','Tony@163.com',1);
  27.  
  28. #更新 UPDATE table SET column = value [,column = value] [WHERE condition]
  29. #where建议使用主键或者唯一键,建议是主键
  30. UPDATE tb_emp SET age=23 WHERE id = 1;
  31. UPDATE tb_emp SET age=23,sex='女' WHERE id = 2;
  32.  
  33. #删除 DELETE [FROM] table [WHERE condition];
  34. DELETE FROM tb_emp; #删除表所有数据
  35. DELETE FROM tb_emp WHERE id=2;
  36.  
  37. #阶段,DDL语句 TRUNCATE语句 作用是完全清空一个表
  38. TRUNCATE TABLE tb_emp;

最简单的SELECT语句

  1. #查找 字段、字段。。。从 表 *表示所有的列
  2. SELECT NAME,loc,description FROM tb_dept
  3. SELECT * FROM tb_dept
  4. SELECT NAME FROM tb_dept
  5.  
  6. #SELECT语句中的算数表达式
  7. SELECT NAME,age,age*2
  8. FROM tb_emp;
  9.  
  10. #NULL和0还有空字符不是一个概念
  11. SELECT * FROM tb_emp;
  12. SELECT * FROM tb_emp WHERE age = 0;
  13. SELECT * FROM tb_emp WHERE age IS NULL;
  14.  
  15. #改变列的标题头,别名
  16. SELECT NAME '姓名',age AS '年龄',age*2 '年龄乘2'
  17. FROM tb_emp;
  18.  
  19. #重复记录
  20. #缺省情况下查询显示所有行,包括重复行
  21. SELECT dept_id
  22. FROM tb_emp;
  23.  
  24. #使用DISTINCT关键字可从查询结果中清楚重复行
  25. SELECT DISTINCT dept_id
  26. FROM tb_emp;
  27.  
  28. #DISTINCT作用的范围是后面字段的组合
  29. SELECT DISTINCT dept_id,age
  30. FROM tb_emp WHERE dept_id=1;
  31.  
  32. #使用WHERE子句限定返回的记录
  33. SELECT *
  34. FROM tb_emp
  35. WHERE age=22;
  36.  
  37. #字符串和日期要用单引号括起来
  38. SELECT *
  39. FROM tb_emp
  40. WHERE NAME = 'Tom';
  41.  
  42. #比较运算符> < >= <= = <>
  43. SELECT NAME,age
  44. FROM tb_emp
  45. WHERE age>=24;
  46.  
  47. SELECT NAME,age
  48. FROM tb_emp
  49. WHERE age>=24 AND age<27;
  50.  
  51. #BETWEEN AND 包含最小值和最大值
  52. SELECT NAME,age
  53. FROM tb_emp
  54. WHERE age BETWEEN 24 AND 27;
  55.  
  56. #使用IN运算符
  57. SELECT NAME,age
  58. FROM tb_emp
  59. WHERE age IN (22,26);
  60.  
  61. SELECT NAME,age
  62. FROM tb_emp
  63. WHERE age NOT IN (22,26);
  64.  
  65. #使用LIKE运算符进行模糊查询 _代表一个字符 %代表一个或者多个字符
  66. SELECT NAME
  67. FROM tb_emp
  68. WHERE NAME LIKE '_a%';
  69.  
  70. #IS NULL
  71. SELECT NAME,age
  72. FROM tb_emp
  73. WHERE age IS NULL;
  74.  
  75. #对结果进行排序 ORDER BY 从高到低
  76. SELECT *
  77. FROM tb_emp
  78. ORDER BY age DESC;
  79.  
  80. #默认从低到高或者ASC
  81. SELECT *
  82. FROM tb_emp
  83. ORDER BY age;

 

    

MySQL学习笔记——增删改查的更多相关文章

  1. JDBC学习笔记——增删改查

    1.数据库准备  要用JDBC操作数据库,第一步当然是建立数据表: ? 1 2 3 4 5 6 CREATE TABLE `user` (   `id` int(11) NOT NULL AUTO_I ...

  2. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  3. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  4. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  5. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  6. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  7. 【C#】使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  8. 使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  9. 学生信息管理系统--基于jsp技术和MySQL的简单增删改查

    web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明. 一.什么是jsp技术 首先,我们要了解什么是jsp技术. jsp技术是基于 ...

随机推荐

  1. What is GSLB

    Global Server Load Balancing 中文:全局负载均衡 SLB(Server load balancing)是对集群内物理主机的负载均衡,而GSLB是对物理集群的负载均衡.这里的 ...

  2. jQuery基础--样式篇(5)

    jQuery的属性与样式 (1).attr()与.removeAttr():每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息. attr()有4个表达式 attr(传入 ...

  3. vmware 虚拟机克隆之后配IP重启网络失败

    在日常实验中,我新安装了一个虚拟机(全新的)node1,然后为了实验,又克隆了一天虚拟机node2 然后我给两台机器设置IP和主机名node1 :  192.168.220.128 node2 : 1 ...

  4. Redis集群(二):Redis的安装

    官方网站:http://redis.io/ 本系列撒使用的版本是:3.0.0 一.安装必要包 yum -yinstall gcc 二.linux下安装及使用(wget下载到当前目录) redis-3. ...

  5. asp.net(C#)时间相减 得到天数、小时、分钟、秒差

    asp.net(C#)时间相减 得到天数.小时.分钟.秒差 DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00"); Da ...

  6. Fiddler环境配置教程

    原理:安装Fiddler的电脑和将要进行检测的手机(iPhone.Android)加入同一局域网,这样手机上APP的请求就可以被电脑通过Fiddler抓取到. 局域网布置教程: 在将要布置局域网的电脑 ...

  7. 优先队列priority_queue的比较函数

    STL头文件:#include<queue> 优先队列: 默认从大到小排列:priority_queuee<node>q; 自定义优先级的三种方法: 1.重载操作符: bool ...

  8. android开发之自定义组件

    android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...

  9. Debugger 怎么用

    Debugger 是一个很有用的工具,尤其对于workflow开发人员来说.可以帮助我们check 从source 到target的数据流.我们可以看到什么数据从source中流出,在接下来的tran ...

  10. codeforces 723E:One-Way Reform

    Description There are n cities and m two-way roads in Berland, each road connects two cities. It is ...