----建表
CREATE TABLE emp(
id int PRIMARY key auto_increment,
name char(10) ,
birthday DATE ,
salary FLOAT (7,2)
)CHARACTER SET utf8;

----插入
INSERT emp (name,birthday,salary) VALUES ("egon","1991-1-1",20000),
("alex","1992-1-1",2000),
("peiqi","1998-3-1",30000);

INSERT emp SET name="yuan",salary="66666";

----修改
UPDATE emp set name = "egon1" WHERE id=1;
UPDATE emp set name="ALex",salary=55555 WHERE name="alex";
UPDATE emp set salary=salary+10000 where name = "egon1";

----删除
DELETE FROM emp WHERE name = "Alex";
DELETE FROM emp; ---清除表内容,但是auto_increment没有被重置就是说再插入数据id还是会自增
truncate table emp; ---id自增被删除,等价于完完全全清空表.

-------------------查找--------------------------

---准备表
CREATE TABLE exam(

id INT PRIMARY KEY auto_increment,
name VARCHAR (20),
JS DOUBLE ,
Django DOUBLE ,
分显示
SELECT name,JS+Django+OpenStack from exam;
SELECT name as 姓名,JS+Django+OpenStack as 总成绩 from exam;
SELECT name,JS+Django+OpenStack 总成绩 from exam;

---使用where子句过滤查询

-- where字句中可以使用:

-- 比较运算符:
> < >= <= <> !=
到20之间
或20或30
like 'yuan%'
/*
pattern
可以是%或者_,
如果是%则表示任意多字符,此例如唐僧,唐国强
如果是_则表示一个字符唐_,只有唐僧符合。两个_则表示两个字符:__
*/

-- 逻辑运算符
和100是闭区间
SELECT * from exam where js in (88,86);
SELECT * from exam where name like "yu%";
SELECT * from exam where js>90 and django > 90;

---order by 排序
-- Asc
升序、Desc 降序,其中asc为默认值 ORDER BY 子句应位于SELECT语句的结尾。
SELECT * from exam ORDER BY js;
SELECT * FROM exam ORDER BY js desc; --降序
select name ,(ifnull(JS,0)+ifnull(Django,0)+ifnull(OpenStack,0))
总成绩
from exam order by 总成绩 desc;

select name ,(ifnull(JS,0)+ifnull(Django,0)+ifnull(OpenStack,0))
总成绩
from exam where name like 'a%'
条记录
select * from exam limit 2,2;

---正则表达式
SELECT * from exam where name regexp "^a";
select * from exam WHERE name REGEXP "[a-z]{5}";
SELECT * from exam WHERE name regexp "n$";
SELECT * FROM exam WHERE name regexp "m{2}";

------------------group by分组查询---------------------
---准备表和数据
CREATE TABLE menu(
id INT PRIMARY KEY auto_increment,
product_name VARCHAR (20),
price FLOAT(6,2),
born_date DATE,
class VARCHAR (20)
);

INSERT INTO menu (product_name,price,born_date,class) VALUES
("苹果",20,20170612,"水果"),
("香蕉",80,20170602,"水果"),
("水壶",120,20170612,"电器"),
("被罩",70,20170612,"床上用品"),
("音响",420,20170612,"电器"),
("床单",55,20170612,"床上用品"),
("草莓",34,20170612,"水果");

SELECT * from menu GROUP BY 4; -- 按位置字段筛选,此时按照date筛选
select class ,SUM(price) from menu group by class;
SELECT class,sum(price) from menu GROUP BY class HAVING sum(price)>150;
/*
having
where两者都可以对查询结果进行进一步的过滤,差别有:
<1>where语句只能用在分组之前的筛选,having可以用在分组之后的筛选;
<2>使用where语句的地方都可以用having进行替换
<3>having中可以用聚合函数,where中就不行。

*/
SELECT * from menu HAVING class = "水果";
SELECT class,count(id) from menu group by class;--先按class分组然后统计每组中的个数
result:
+----------+--------------+
| class | count(price) |
+----------+--------------+
| 床上用品 | 2 |
| 水果 | 3 |
| 电器 | 2 |
+----------+--------------+

Mysql数据库二:表的增删改查的更多相关文章

  1. MySQL数据库之表的增删改查

    目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...

  2. Mysql数据库和表的增删改查以及数据备份&恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  3. MySQL数据库 | 数据表的增删改查

    MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...

  4. MySQL数据库2表的增删改查

    目录 一.数据表(文件): 1.1增 1.2查看表内数据 1.3改 1.4删除列表 1.5查看库内列表及表结构 1.6复制表结构 二.列类型:(*********) 2.1数字 2.2字符串 2.3时 ...

  5. MySQL数据库与表的增删改查

    1.值库管理 1.1 查询所有值库 show databases; 1.2 创建一个值库 create database 值库名称 default character set 编码格式名称; 1.3 ...

  6. 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

    一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...

  7. Python操作MySQL数据库完成简易的增删改查功能

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...

  8. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  9. python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作

    1.通过 pip 安装 pymysql 进入 cmd  输入  pip install pymysql   回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...

随机推荐

  1. java文件读写操作指定编码格式

    读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,R ...

  2. 关于前一篇innodb自增列自己的一点补充

    上篇文章是我转载的,忘记注明了出处,在这里深感歉意.但是上篇文章中关于自增列预留ID的计算我当时怎么弄明白,后来自己想了想终于想通了,在这里详细解释一下. 我们以一次性插入10行为例,表格如下:  插 ...

  3. Codeforces Recycling Bottles 模拟

    C. Recycling Bottles time limit per test: 2 seconds memory limit per test: 256 megabytes input: stan ...

  4. 一名优秀的UI设计师应该具备哪些条件?

    想做好一个好的UI设计师除了应该具有一定的审美能力,还要了解整个产品的开发过程,因为目前国内的软件行业还不能对UI设计形成应有的重视度,所以对我们的要求就更高了,你要能作出夺人眼球的东西,还要站在用户 ...

  5. php用get方式传json数据 变成null了

    $data = I('param.data'); $data=stripslashes(html_entity_decode($data));//$data为传过去的json字符串

  6. 03 Maven 坐标与依赖

    Maven 坐标与依赖 Maven 的一大功能是管理项目依赖.为了能自动化地解析任何一个 Java 构件, Maven 就必须将它们唯一标识,这就依赖管理的底层基础 一一 坐标.本章将详细分析 Mav ...

  7. 原生 JS 实现移动端 Touch 滑动反弹

    什么是 Touch滑动?就是类似于 PC端的滚动事件,但是在移动端是没有滚动事件的,所以就要用到 Touch事件结合 js去实现,效果如下: 1. 准备工作 什么是移动端的 Touch事件?在移动端 ...

  8. HTTP Error 403.14问题处理

    打开目录浏览后,点击启用.

  9. Linux 部署 tomcat 常用命令

    1.  文件夹重命名 mv somedir somedir1 2. 授权所有子目录 chmod -R 777 somedir 3.授权单个目录 chmod 777 somedir 4.实时打印控制台日 ...

  10. 20170908工作日记--Volley源码详解

    Volley没有jar包,需要从官网上下载源码自己编译出来,或者做成相关moudle引入项目中.我们先从最简单的使用方法入手进行分析: //创建一个网络请求队列 RequestQueue reques ...