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技术是基于 ...
随机推荐
- 基于tiny4412原生uboot修改制作SD启动并烧写到emmc
最近入手tiny4412的标准板,底板SDK型号为1506.但是因为友善之臂提供的superboot不能进入boot菜单,此时我就不能通过tftp下载内核和通过nfs挂载根文件系统,于是想自己做个ub ...
- Qt做动画旋转旋转图片
今天看到百度首页的音乐播放有个图片可以旋转,感觉很酷就用qt做了一个类似的,关键时刻还是要发挥数学功底,静下心来,写一写,画一画,编程对数学分析能力要求还是不小的,以后要经常锻炼数学分析能力啊! Wi ...
- 开发错误记录2 .MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
刚在调试android程序报 导致直接崩了 .MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed ...
- python 登陆接口
#!/usr/bin/env pythonimport sysname = ''pw=''name_num = 0pw_num = 0#black_list = []with open('a.txt' ...
- 在 ASP.NET 中执行 URL 重写的方法
由于需要我们经常会想将动态的页面做成伪静态的,或者在get传值的时候使其简洁明了(实现“可删节”的URL),这时我们需要用到URL重写,微软的MSDN上有详细的原理和使用介绍.我这里就将一种简单的使用 ...
- ASP.NET杂谈-一切都从web.config说起(2)(ConfigSections详解-下)
还是接着上一篇说起,在上两篇中主要和大家探讨了ConfigSection的几种常用形式,并举例几个例子说明了一下.其实它们主要都是继承System.Configuration.Configuratio ...
- Swift基础--Swift中的分类以及在分类中扩展init方法的注意事项
Swift中的分类 1.创建一个空的swift文件 2.关键字extension,格式: extension 要扩展的类名 {} extension UIButton { } Swift中扩展init ...
- SVM与LR的区别以及SVM的优缺点
对于异常数据,SVM比LR更好 SVM的优缺点: 优点:1.提供非常精确的分类器 2.更少的过拟合(因为有L2正则化项0.5||w||2),对噪声数据更加鲁棒(因为损失函数的原因) 缺点:1.SVM是 ...
- react.js CMS 删除功能的实现
页面效果图: 数据操作分析: 在查询表组件的 TableData.js 中操作如下内容: 给每一行绑定一个checkbox,且在点击这个 checkbox 时,触发 action 中的一个方法(fo ...
- Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化[转]
今天在github上乱逛,无意间找到victorporof分享的htmlpretty插件,特做推荐: 先看看他是怎么描述htmlpretty的: This is a Sublime Text 2 an ...