----建表
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. Halcon的C#二次开发及经验分享

    本文涉及面较广,因此很难在所有方面都讲解得很详细,故适合具有一定Halcon开发经验的人阅读. 1.Halcon二次开发的两种方式 ① 使用C#的语法方式逐句改写Halcon代码 优点:各种变量的类型 ...

  2. FormValidator表单验证

    所需的库文件 红色框内是所需要的JavaScript库文件. <%@ page language="java" contentType="text/html; ch ...

  3. jetty无法即时更新html、js、css等静态文件的解决办法

    网上搜了一大堆方法.最常见的是找到jetty\etc\webdefault.xml文件,找到useFileMappedBuffer参数,把true改为false <init-param> ...

  4. ListView单行刷新

    之前要改变某一行ListView内容或者显示出删除按钮等,都要adapter.notifyDataSetChanged();刷新一下,数据少还可以,数据多的时候明显会消耗性能,单独刷新某一行就不会了, ...

  5. jQuery使用大全

    我的程序人生 提供基于Lesktop的IM二次开发,联系QQ:76159179 CnBlogs Home New Post Contact Admin Rss Posts - 476  Article ...

  6. 35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系

    35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系 ① Romantic love has clear evolutionary r ...

  7. 自学如何去学习jQuery

    学习JQ第一个demo: 制作一个轮播图,制作方法我前面写了一篇博客,传送门-->http://www.cnblogs.com/yewenxiang/p/6100206.html 需要的JQ知识 ...

  8. Java 注解概要

    转载自:https://www.cnblogs.com/peida/archive/2013/04/24/3036689.html(Java注解就跟C#的特性是一样的) 要深入学习注解,我们就必须能定 ...

  9. 功率谱密度(PDS)的MATLAB分析

    功率谱密度(PSD),它定义了信号或者时间序列的功率如何随频率分布.这里功率可能是实际物理上的功率, 或者更经常便于表示抽象的信号被定义为信号数值的平方,也就是当信号的负载为1欧姆(ohm)时的实际功 ...

  10. PAT 甲 1005. Spell It Right (20) 2016-09-09 22:53 42人阅读 评论(0) 收藏

    1005. Spell It Right (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given ...