Mysql数据库二:表的增删改查
----建表
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数据库二:表的增删改查的更多相关文章
- MySQL数据库之表的增删改查
目录 MySQL数据库之表的增删改查 1 引言 2 创建表 3 删除表 4 修改表 5 查看表 6 复制表 MySQL数据库之表的增删改查 1 引言 1.MySQL数据库中,数据库database就是 ...
- Mysql数据库和表的增删改查以及数据备份&恢复
数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...
- MySQL数据库 | 数据表的增删改查
MySQL数据的增删改查(crud) 本文结构 一.增加 create 二.修改 update 三.查询 retrieve(简单查询,下篇详细展开) 四.删除 delete 首先,创建简单的class ...
- MySQL数据库2表的增删改查
目录 一.数据表(文件): 1.1增 1.2查看表内数据 1.3改 1.4删除列表 1.5查看库内列表及表结构 1.6复制表结构 二.列类型:(*********) 2.1数字 2.2字符串 2.3时 ...
- MySQL数据库与表的增删改查
1.值库管理 1.1 查询所有值库 show databases; 1.2 创建一个值库 create database 值库名称 default character set 编码格式名称; 1.3 ...
- 使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理
一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的 ...
- Python操作MySQL数据库完成简易的增删改查功能
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 目录 一丶项目介绍 二丶效果展示 三丶数据准备 四丶代码实现 五丶完整代码 一丶项目介绍 1.叙述 博主闲暇之余花了10个小时写的 ...
- 在python中连接mysql数据库,并进行增删改查
数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...
- python3.6 使用 pymysql 连接 Mysql 数据库及 简单的增删改查操作
1.通过 pip 安装 pymysql 进入 cmd 输入 pip install pymysql 回车等待安装完成: 安装完成后出现如图相关信息,表示安装成功. 2.测试连接 import ...
随机推荐
- css简单分页
html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...
- Linux readelf命令
一.简介 readelf用来显示一个或者多个elf格式的目标文件的信息,可以通过它的选项来控制显示哪些信息.这里的elf-file(s)就表示那些被检查的文件.可以支持32位,64位的elf格式文件, ...
- 767A Snacktower
A. Snacktower time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- Python使用wxPython、py2exe编写桌面程序-乾颐堂
Python是支持可视化编程,即编写gui程序,你可以用它来编写自己喜欢的桌面程序.使用wxPython来做界面非常的简单,只是不能像C#一样拖动控件,需要自行写代码布局.在完成编写之后,由于直接的p ...
- PS想象的力量无限大,设计师的脑洞无限大!
我(nemanjasekulic)一直对魔法与科幻感兴趣,但是,现实中,它们并不存在.我所做的是尽量体现一切都是可能的,表达一种没有约束的理想概念. 编辑:千锋UI设计
- hook进程
https://www.cnblogs.com/Leo_wl/p/3311279.html https://blog.csdn.net/u013761036/article/details/65465 ...
- [Eclipse]Eclipse里对XML进行注释的快捷键
eclipse中编辑java或C/C++文件时,注释的快捷键均为 "CTRL + / ",编辑xml文件时,该快捷键无效. eclipse 针对 XML 注释:CTRL + SHI ...
- Java NIO系列教程(十)DatagramChannel
Java NIO系列教程(十)DatagramChannel 转载自并发编程网 – ifeve.com,本文链接地址: Java NIO系列教程(十) Java NIO DatagramChannel
- ip白名单 通过* ? 检测IP匹配 轻量级
#include "stdafx.h" #include <windows.h> #include <string.h> #include <asse ...
- [转载红鱼儿]Delphi实现微信开发(3)如何使用multipart/form-data格式上传文件
开始前,先看下要实现的微信接口,上传多媒体文件,这个接口是用Form表单形式上传的文件.对我来说,对http的Form表单一知半解,还好,查到这个资料,如果你也和我一样,必须看看这篇文章. 在xali ...