mysql简单增删改查(CRUD)
先描述一下查看表中所有记录的语句以便查看所做的操作(以下所有语句建议自己敲,不要复制以免出错):
user表,字段有 id, name,age,sex;id为主键,自增,插入时可以写 NULL 或者 DEFAULT;
以下实列都以user表为列;
CREATE TABLE user(
-> id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
-> name VARCHAR(20),
-> age INT,
-> sex VARCHAR(10)
-> );
SELECT * FROM 表名;列如:SELECT * FROM user;(语句不区分大小写,规范约定为关键字大写,小写也可以,不过尽量遵守规范)
1、插入数据:
(1)INSERT INTO 表名 VALUES(,,,,,); INTO 可省略
则 : INSERT user VALUES(NULL,“张三” ,18,“男”);
此时插入数据必须与字段对应,而且字段不能少
无法插入汉字时,需要修改表的字符集:
ALTER TABLE 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
(2)插入多条记录时,以逗号分隔:
INSERT user VALUES(NULL,“张三” ,18,“男”),(NULL,“李四” ,20,“男”);
(3)可以选择插入的字段:这种只能插入一条数据
INSERT user SET name='zhangsan',age=20;
(4)选择字段并插入多条数据,以逗号分隔
INSERT user(name,age) VALUES('zhangsan1',20),('张三',30);
2、更新数据
UPDATE 表名 SET 修改的操作 (WHERE 条件);
(1)更新user表,让年龄在原有基础上加5;(没加条件,对所有数据修改)
UPDATE user SET age = age+5;
(2)更新user表,让年龄在原有基础上加5,并且姓名后面全都加上字符"HELLO"
UPDATE user SET age=age+5,name=name+"HELLO";
(3)对id为偶数的记录年龄加20,此时就不能对所有数据做操作,加上限定条件,只对id为偶数的年龄加20,id除以2的余数为0,则为偶数。
UPDATE user SET age=age+20 WHERE id%2=0;
3、删除数据
DELETE FROM 表名 (WHERE 条件)
(1)删除id为1的数据记录
DELETE FROM user WHERE id=1;
(2)删除name是张三的记录,就会删除所有姓名为张三的记录
DELETE FROM user WHERE name='张三';
4、查询数据(重点)
(1)查询user表所有列的数据:
SELECT * FROM user;
(2)查询id和name这两列的数据:
SELECT id,name FROM user;
(3)查询时指定表名.字段名,为了避免查询多张具有相同字段名的表:
SELECT user.id,user.name FROM user;
(4)为表或字段起别名,为了避免名特别长的情况需要频繁输入,AS 后面就是别名,AS也可省略:
SELECT u.id,u.name FROM user AS u;
(5)GROUP BY 按字段名的值分组,按性别,性别只有男、女或者为NULL,name就会查到性别为男的第一条数据,性别为女的第一条,以及性别显示为NULL的
SELECT * FROM user GROUP BY sex;
(6)在GROUP BY之后还可以加上HAVING条件:id大于3的按性别分组:
SELECT * FROM user GROUP BY sex HAVING id>3;
HAVING 后面的id必须出现在查询的字段中,否则会报错:
SELECT name FROM user GROUP BY sex HAVING id>3;(错误的,可以改为如下)
SELECT name,id FROM user GROUP BY sex HAVING id>3;
(7)ORDER BY按条件排序,DESC 降序,默认ASC升序,以下按id降序排列
SELECT * FROM user ORDER BY id DESC;
(8)ORDER BY可以多条件排序,当第一个条件无法排序时,按第二个条件排序:按age默认升序排,当出现两个age一样的时候,按id降序排列
SELECT * FROM user ORDER BY age,id DESC;
(9)LIMIT语句限制输出的语句数量:
,从第0个开始显示,显示2个
SELECT * FROM user LIMIT 2;等价于:SELECT * FROM user LIMIT 0,2;
与ORDER BY 结合使用:显示升序排列的前4条数据
SELECT * FROM user ORDER BY age LIMIT 4;
(10)将查询结果插入到另一张表,重新创建一个表tb1只有name和id字段:
CREATE TABLE tb1(
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20));
将查询到的年龄大于10的name列数据插入到tb1表中:
查询到的结果字段必须与插入表中的字段数一样,不能查询到多个字段插入到一个字段中:
INSERT tb1(name) SELECT * FROM user WHERE age>10;(错误的)*查询到的字段是所有
INSERT tb1(name) SELECT name FROM user WHERE age>10;(正确的)
mysql简单增删改查(CRUD)的更多相关文章
- idea+spring4+springmvc+mybatis+maven实现简单增删改查CRUD
在学习spring4+springmvc+mybatis的ssm框架,idea整合简单实现增删改查功能,在这里记录一下. 原文在这里:https://my.oschina.net/finchxu/bl ...
- Mybatis实现简单增删改查
Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...
- Asp.Net操作MySql数据库增删改查
Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git 1.安装MySQL数据库 ...
- MySQL之增删改查之
MySQL之增删改查 前言:以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表上,未涉及多表操作. ...
- MySql之增删改查 · YbWork's Studio
前提:在进行"增删改查"的操作之前,先建立一个包含数据表student的数据库(具体操作可以见MySQL之最基本命令): 1."增"--添加数据 1.1 为表中 ...
- koa+mysql实现增删改查-全栈之路(001)
Date: 2020-4-23 以前很少写文章,从今天开始我要挑战一下自己,连续输出100篇技术类文章.这100篇文章我尽量以实战案例为主. 如果你觉得本文还不错,记得关注或者给个 star,你们的赞 ...
- 国产化之路-统信UOS + Nginx + Asp.Net MVC + EF Core 3.1 + 达梦DM8实现简单增删改查操作
专题目录 国产化之路-统信UOS操作系统安装 国产化之路-国产操作系统安装.net core 3.1 sdk 国产化之路-安装WEB服务器 国产化之路-安装达梦DM8数据库 国产化之路-统信UOS + ...
- IDEA SpringBoot-Mybatis-plus 实现增删改查(CRUD)
上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD) 下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全 一.前言 Mybati ...
- Java连接MySQL数据库增删改查通用方法
版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...
随机推荐
- ganglia371 on suse11sp3
参考https://my.oschina.net/duangr/blog/181585 1.确认依赖包是否已安装 确认命令:rpm -qa 如下为适合suse11sp3的依赖包版本 apr: lib ...
- noip模拟赛 街灯
分析:对于前30%的数据直接暴力模拟即可,对于另外30%的数据,因为每次的p是一样的,所以可以用莫队来维护,先离散化一下,再用一个桶统计次数. 100%的做法和之前做过的一道模拟赛题很像,当模数很小的 ...
- springboot 2.x 集成 drools 7.x
简介:springboot 2.0.4.RELEASE 集成 drools 7.11.0.Final 1.项目结构 2. pom.xml文件 <?xml version="1.0&qu ...
- 【NJU749D】triple(莫比乌斯反演)
题意: cas<=100 n<=10^5 思路:与两个数的没什么区别 F(d)=(n div d)*(n div d-1)*(n div d-2) div 6 再加上喜闻乐见的下底函数分块 ...
- Hihocoder 1325 (splay)
Problem 平衡树 Treap 题目大意 维护一个数列,支持两种操作. 操作1:添加一个数x. 操作2:询问不超过x的最大的数. 解题分析 尝试了一下用指针来写splay,感觉写起来还是比较流畅的 ...
- Eclipse创建Maven多模块工程
一.创建父项目 [New]->[Maven Project] 在弹出界面中选择[Create a simple project...] 二.创建子项目 选中刚建的父项目,在弹出菜单中点击[New ...
- 9、Java并发性和多线程-线程安全与共享资源
以下内容转自http://ifeve.com/thread-safety/: 允许被多个线程同时执行的代码称作线程安全的代码.线程安全的代码不包含竞态条件.当多个线程同时更新共享资源时会引发竞态条件. ...
- Angularjs中添加HighCharts
一. 添加基本配置 1. 添加指令 angular.module('newApp') .directive('dpHighchart', ['$rootScope', function($rootSc ...
- ssh连接断开后 shell进程退出
问题描述:当SSH远程连接到服务器上,然后运行一个服务 ./catalina.sh start,然后把终端开闭(切断SSH连接)之后,发现该服务中断,导致网页无法访问. 解决方法:使用nohup命 ...
- [Vue-rx] Watch Vue.js v-models as Observable with $watchAsObservable and RxJS
You most likely already have data or properties in your template which are controlled by third-party ...