MySQL学习笔记——增删改查
有关数据库的DML操作
-insert into
-delete、truncate
-update
-select
-条件查询
-查询排序
-聚合函数
-分组查询
DROP、TRUNCATE、DELETE
-DELETE删除数据,保留表结构,可以回滚,如果数据量大,很慢,回滚就是因为备份删除的数据
-TRUNCATE删除所有数据,保留表结构,不可以回滚,一次全部删除所有数据,速度相对很快
-DROP删除数据和表结构,删除数据最快(直接从内存抹去这一块数据)
- #1.指明字段进行插入,注意字段和值的数量和类型都需要匹配
- INSERT INTO tb_dept (NAME,loc,description) VALUES('开发部','广州','负责软件开发工作');
- #2.如果插入的values是所有字段,可以不同显式写插入的字段名,不推荐
- INSERT INTO tb_dept VALUES(3,'财务部','广州','负责财务工作');
- #auto_increment会记住曾经生成的值
- #3.一次插入多条记录 mysql特有
- INSERT INTO tb_dept (NAME,loc,description)
- VALUES('开发部','广州','负责软件开发工作'),
- ('财务部','广州','负责财务工作'),
- ('市场部','广州','负责采购工作');
- #4.可以从一张表中插入数据
- #创建一张表和tb_dept表的结构一样,通过这种方式建表只是复制表结构,不复制约束
- CREATE TABLE tb_dept2
- SELECT * FROM tb_dept
- #where id = 99
- #先建表再插入
- INSERT INTO tb_dept2(id,NAME,loc,description)
- SELECT id,NAME,loc,description FROM tb_dept
- INSERT INTO tb_emp(id,NAME,sex,age,address,email,dept_id)
- VALUES(1,'Tony','男',26,'广州','Tony@163.com',1);
- #更新 UPDATE table SET column = value [,column = value] [WHERE condition]
- #where建议使用主键或者唯一键,建议是主键
- UPDATE tb_emp SET age=23 WHERE id = 1;
- UPDATE tb_emp SET age=23,sex='女' WHERE id = 2;
- #删除 DELETE [FROM] table [WHERE condition];
- DELETE FROM tb_emp; #删除表所有数据
- DELETE FROM tb_emp WHERE id=2;
- #阶段,DDL语句 TRUNCATE语句 作用是完全清空一个表
- TRUNCATE TABLE tb_emp;
最简单的SELECT语句
- #查找 字段、字段。。。从 表 *表示所有的列
- SELECT NAME,loc,description FROM tb_dept
- SELECT * FROM tb_dept
- SELECT NAME FROM tb_dept
- #SELECT语句中的算数表达式
- SELECT NAME,age,age*2
- FROM tb_emp;
- #NULL和0还有空字符不是一个概念
- SELECT * FROM tb_emp;
- SELECT * FROM tb_emp WHERE age = 0;
- SELECT * FROM tb_emp WHERE age IS NULL;
- #改变列的标题头,别名
- SELECT NAME '姓名',age AS '年龄',age*2 '年龄乘2'
- FROM tb_emp;
- #重复记录
- #缺省情况下查询显示所有行,包括重复行
- SELECT dept_id
- FROM tb_emp;
- #使用DISTINCT关键字可从查询结果中清楚重复行
- SELECT DISTINCT dept_id
- FROM tb_emp;
- #DISTINCT作用的范围是后面字段的组合
- SELECT DISTINCT dept_id,age
- FROM tb_emp WHERE dept_id=1;
- #使用WHERE子句限定返回的记录
- SELECT *
- FROM tb_emp
- WHERE age=22;
- #字符串和日期要用单引号括起来
- SELECT *
- FROM tb_emp
- WHERE NAME = 'Tom';
- #比较运算符> < >= <= = <>
- SELECT NAME,age
- FROM tb_emp
- WHERE age>=24;
- SELECT NAME,age
- FROM tb_emp
- WHERE age>=24 AND age<27;
- #BETWEEN AND 包含最小值和最大值
- SELECT NAME,age
- FROM tb_emp
- WHERE age BETWEEN 24 AND 27;
- #使用IN运算符
- SELECT NAME,age
- FROM tb_emp
- WHERE age IN (22,26);
- SELECT NAME,age
- FROM tb_emp
- WHERE age NOT IN (22,26);
- #使用LIKE运算符进行模糊查询 _代表一个字符 %代表一个或者多个字符
- SELECT NAME
- FROM tb_emp
- WHERE NAME LIKE '_a%';
- #IS NULL
- SELECT NAME,age
- FROM tb_emp
- WHERE age IS NULL;
- #对结果进行排序 ORDER BY 从高到低
- SELECT *
- FROM tb_emp
- ORDER BY age DESC;
- #默认从低到高或者ASC
- SELECT *
- FROM tb_emp
- ORDER BY age;
MySQL学习笔记——增删改查的更多相关文章
- JDBC学习笔记——增删改查
1.数据库准备 要用JDBC操作数据库,第一步当然是建立数据表: ? 1 2 3 4 5 6 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_I ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查
SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...
- 【C#】使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...
- 使用NHibernate连接MySQL数据库及增删改查
学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...
- 学生信息管理系统--基于jsp技术和MySQL的简单增删改查
web实现增删改查的方式有很多啊,对于初学者来说当然是要先了解各部分的传值的方式.本篇博客从jsp技术的最基础方面进行说明. 一.什么是jsp技术 首先,我们要了解什么是jsp技术. jsp技术是基于 ...
随机推荐
- What is GSLB
Global Server Load Balancing 中文:全局负载均衡 SLB(Server load balancing)是对集群内物理主机的负载均衡,而GSLB是对物理集群的负载均衡.这里的 ...
- jQuery基础--样式篇(5)
jQuery的属性与样式 (1).attr()与.removeAttr():每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息. attr()有4个表达式 attr(传入 ...
- vmware 虚拟机克隆之后配IP重启网络失败
在日常实验中,我新安装了一个虚拟机(全新的)node1,然后为了实验,又克隆了一天虚拟机node2 然后我给两台机器设置IP和主机名node1 : 192.168.220.128 node2 : 1 ...
- Redis集群(二):Redis的安装
官方网站:http://redis.io/ 本系列撒使用的版本是:3.0.0 一.安装必要包 yum -yinstall gcc 二.linux下安装及使用(wget下载到当前目录) redis-3. ...
- asp.net(C#)时间相减 得到天数、小时、分钟、秒差
asp.net(C#)时间相减 得到天数.小时.分钟.秒差 DateTime dtone = Convert.ToDateTime("2007-1-1 05:00:00"); Da ...
- Fiddler环境配置教程
原理:安装Fiddler的电脑和将要进行检测的手机(iPhone.Android)加入同一局域网,这样手机上APP的请求就可以被电脑通过Fiddler抓取到. 局域网布置教程: 在将要布置局域网的电脑 ...
- 优先队列priority_queue的比较函数
STL头文件:#include<queue> 优先队列: 默认从大到小排列:priority_queuee<node>q; 自定义优先级的三种方法: 1.重载操作符: bool ...
- android开发之自定义组件
android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的 ...
- Debugger 怎么用
Debugger 是一个很有用的工具,尤其对于workflow开发人员来说.可以帮助我们check 从source 到target的数据流.我们可以看到什么数据从source中流出,在接下来的tran ...
- codeforces 723E:One-Way Reform
Description There are n cities and m two-way roads in Berland, each road connects two cities. It is ...