【MySQL】(4)操作数据表中的记录

1. 插入记录INSERT

方法一:

INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...;

比如:

CREATE TABLE users(
id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
password VARCHAR(32) NOT NULL,
age TINYINT UNSIGNED NOT NULL DEFAULT 10,
sex BOOLEAN
);
# 插入记录,不指定列的数目时。必须全部的字段都要赋值
INSERT users VALUES(NULL, 'Tom', '123', 25, 1);
INSERT users VALUES(NULL, 'Tom2', '123', 28, 1);
INSERT users VALUES(DEFAULT, 'Tom3', '111', 28, 1);
# 使用数学表达式也能够加入值
INSERT users VALUES(DEFAULT, 'Tom4', '111', 3*7+2/3, 1);
# 给年龄DEFAULT。会採用默认值10
INSERT users VALUES(DEFAULT, 'Tom5', '111', DEFAULT, 1);
# 一次加入多条记录
INSERT users VALUES(DEFAULT, 'Tom6', '111', DEFAULT, 1), (NULL, 'Rose', md5('213'), DEFAULT, 0);

方法二:

INSERT [INTO] tbl_name SET col_name={exp | DEFAULT},...;

这种方法与第一种方式的差别在于,此方法能够使用子查询(SubQuery),此方法一次性仅仅能插入一条记录。

比如:

INSERT users SET username='Ben', password='456';
方法三:

INSERT [INTO] tbl_name [(col_name, ...)] SELECT ...;

使用此方法能够将查询结果插入到指定数据表。


2. 单表更新记录UPDATE

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [, col_name2={expr2 | DEFAULT}] ... [WHERE where_condition];

比如:

# 全部记录的年龄都加5
UPDATE users SET age=age+5;
# 更新多列
UPDATE users SET age=age-id, sex=0;
# 更新id为偶数的记录
UPDATE users SET age=age+10 WHERE id%2=0;


3. 单表删除记录DELETE

DELETE FROM tbl_name [WHERE where_condition];

比如:

DELETE FROM users WHERE id=6;

即使在删除后,id号不连续,那么新增的数据还是会在最大的id号加一。


4. 查询表达时解析

SELECT select_expr [, select_expr ...] [FROM table_references [WHERE whrere_condition] [GROUP BY {col_name | position} [ASC | DESC],...][HAVING where_condition][ORDER BY {col_name | expr | position} [ASC | DESC], ...][LIMIT {[offset,] row_count | row_count OFFSET offset}]];

每个表达式表示想要的一列,必须至少有一个。多个烈之间以英文逗号分隔。

星号(*)表示全部列。

tbl_name.*能够表示命名表的全部列。查询表达式能够使用[AS] alias_name为其赋予别名。别名可用于GROUP BY,ORDER BY或HAVING字句。

比如:

# 查看MySQL版本号
SELECT VERSION();
# 查看当前时间
SELECT NOW();
# 仅仅查看前两列
SELECT id, username FROM users;
SELECT username, id FROM users;
SELECT users.id, users.username FROM users;
SELECT id AS userid, username AS uname FROM users;
# ASkeyword能够省略,可是尽量写上,避免不必要的错误
SELECT id username FROM users;
字段的顺序和结果集都将影响查询出的结果集。

(1). WHERE

条件表达式

对记录进行过滤,假设没有指定WHERE字句,则显示全部记录。在WHERE表达式中,能够使用MySQL支持的函数或运算符。

(2). GROUP BY

查询结果分组

比如:

SELECT sex FROM users GROUP BY sex;
# 1表示依照SELECT语句中第一个出现的字段排序
SELECT sex FROM users GROUP BY 1;
(3). HAVING

分组条件

比如:

# 当HAVING语句有age的条件时,前面的SELECT中必须出现这个age字段
SELECT sex, age FROM users GROUP BY 1 HAVING age>35;
# 或者是一个聚合函数
SELECT sex, age FROM users GROUP BY 1 HAVING count(id)>=2;
(4). ORDER BY

对查询结果进行排序

比如:

# 依照id降序排列
SELECT * FROM users ORDER BY id DESC;
# 同一时候以两个字段排序age默认升序,id降序
SELECT * FROM users ORDER BY age, id DESC;
(5). LIMIT

限制查询结果返回的数量

比如:

# 从第1条開始返回2条记录
SELECT * FROM users LIMIT 2;
# 从第1条開始,偏移2条后,查询2条记录
SELECT * FROM users LIMIT 2 OFFSET 2;
# 从第4条開始(从0開始计数),返回2条记录
SELECT * FROM users LIMIT 3, 2;
SELECT * FROM users ORDER BY id DESC LIMIT 2, 2;
CREATE TABLE test(id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20));
# 将users年龄大于30的数据插入test表
INSERT test(username) SELECT username FROM users WHERE age>=30;



转载于:https://www.cnblogs.com/zsychanpin/p/6805497.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/252753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【技术知识】SVAC 2.0安全技术浅析

2017-09-26 08:52 加密可以有效保护数据的机密性,防止非授权访问和非法监听。签名可以识别视音频的产生源以及所对应的视音频数据是否完整或被篡改。SVAC 2.0标准规定了加密和签名接口及数据格式,支持对数据的安全保护,以统一的语法格式支持…

别再管你的API叫微服务了

你有没有听过这句名言:“计算机科学领域只有两个难题,缓存失效和命名”?据说这句话是Phil Karlton在1996年或1997年左右说的。围绕这句格言确实出现了很多带有喜剧色彩的说法,它们也提到了其他的一些问题,但最近我对AP…

第一篇JavaScript基础

1.什么是JavaScript 2.核心语法,变量 先声明,再赋值 var i;i0; 同时声明并赋值变量 var x,y,z0; 不声明直接赋值u2(变量可以不经过声明直接赋值,但是容易出错,这种方法不建议采纳)3. 3.核心语法&#xff0…

透过迷雾不再迷茫 浅析海康威视透雾技术

频监控的需求主要分为两类,白天的需求和夜间的需求。夜间效果主要的提升之道以低照度和补光居多,也就造成了现在市面上白光补光、红外补光、激光补光等各式各样的摄像机盛行;非补光类的,当属星光级超级照度是为当下热门。而关于白天效果的提升…

抓包工具

前言: Charles是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 一、主界面介绍 二、网页抓包 启动 Charles 后,需要将 Charles 设置成系统代理…

【Python数据分析】魔术命令(Magic Command)

IPython有一些特殊的命令(被称为魔术命令),他们有的为常见的任务提供便利,有的则使你能够轻松的控制IPython系统的行为 魔术命令是以百分号%为前缀的命令 常用的IPython魔术命令 命令 说明 %quickref 显示IPytho…

详解Session分布式共享(.NET CORE版)

一、前言&回顾 在上篇文章Session分布式共享 Session Redis Nginx中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的Session方案与微软Session方案相比,有什么优势呢?Co…

浅析透雾监控镜头的四大透雾技术

透雾摄像机在雾天中的作用毋容置疑,YAMAKO透雾镜头早已获得用户的认可,如今,高清透雾摄像机的问世,很大程度上得益于透雾高清电动镜头,但摄像机本身的透雾原理也在近端时间获得极大的进步。 透雾技术主要分为四种&…

globals() 和 locals() 函数

globals() 和 locals() 函数 根据调用地方的不同,globals() 和 locals() 函数可被用来返回全局和局部命名空间里的名字。 如果在函数内部调用 locals(),返回的是所有能在该函数里访问的命名。 如果在函数内部调用 globals(),返回的是所有在该…

SpringMVC的filter怎么使用Autowired依赖注入bean

有的时候根据我们业务的需要,我们需要在web项目中定义一个自己的filter,并想在这个filter中使用Autowired注入bean供我们使用。如果直接使用的话是不行的,需要我们在xml文件中进行配置。下面就根据我的一个项目写一个示例:步骤一、定义一个ClientSession…

RunDll32.exe 详解及[Windows批处理]清除IE缓存

Rundll32命令详解 文件作用:执行32位DLL文件中的内部函数 位置:X:(当前系统分区)\windows\system32 命令语法: Rundll32.exe DLLname,Functionname [Arguments] 实例: RunDll32.exe InetCpl.cpl,ClearMyTracksByProces…

Linux 操作命令 more

Linux Shell 操作命令 目录总览(点击查看详细信息) 1、简介 more 命令,功能类似 cat;cat 命令是将整个文件的内容从上到下显示在屏幕上;more 命令会一页一页的显示 2、主要功能 more 命令从前向后读取文件&#xf…

外网访问原理分析

本节我们会将上节创建的 ext_net 连接到 router,并验证内外网的连通性。 更重要的,我们会分析隐藏在表象之下的原理。 将外网连接到 Neutron 的虚拟路由器,这样 instance 才能访问外网。 点击菜单 Project -> Network -> Routers 进入 …

URAL1519 Formula 1 —— 插头DP

题目链接:https://vjudge.net/problem/URAL-1519 1519. Formula 1 Time limit: 1.0 secondMemory limit: 64 MBBackground Regardless of the fact, that Vologda could not get rights to hold the Winter Olympic games of 20**, it is well-known, that the city…

电子透雾与光学透雾监控摄像机区别

当你在疯狂购物时也目前已知的透雾算法大致可以分为两大类:一种是非模型的图像增强方法,通过增强图像的对比度,满足主观视觉的要求来达到清晰化的目的;另一种是基于模型的图像复原方法,它考查图像退化的原因&#xff0…

sshfs的挂载与卸载

在CentOS中 sshfs的使用依赖EPEL(只安装sshfs不会出错,但是却无法使用) 挂载 安装EPEL rpm -i https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 如果这个链接失效,可访问官网http://fedoraproject.org/wiki/EPEL 安装sshfs…

2018年中国视频监控行业发展空间巨大 AI技术赋能发展乃是未来必然趋势

https://bg.qianzhan.com/report/detail/459/190131-c2610ca0.html2019-2024年中国视频监控设备行业市场需求预测与投资战略规划分析报告2019-2024年中国安防行业市场前瞻与投资战略规划分析报告2019-2024年中国智能安防行业市场前瞻与投资战略规划分析报告2019-2024年中国智能…

FTP下载文件

今天公司有需求,需要从远程FTP服务器上下载文件到本地代码。然后看了一下,顺便做个记录 什么是FTP呢? 详细百度百科 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用…

tomcat启动报错The JRE could not be found.Edit the server and change the JRE location

解决: 在Windows->Preferences->Server->Runtime Environments 选择Tomcat->Edit,在jre中选择相应的jdk版本,完事。转载于:https://www.cnblogs.com/Alwaysbecoding/p/10172752.html