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 ...
随机推荐
- Halcon的C#二次开发及经验分享
本文涉及面较广,因此很难在所有方面都讲解得很详细,故适合具有一定Halcon开发经验的人阅读. 1.Halcon二次开发的两种方式 ① 使用C#的语法方式逐句改写Halcon代码 优点:各种变量的类型 ...
- FormValidator表单验证
所需的库文件 红色框内是所需要的JavaScript库文件. <%@ page language="java" contentType="text/html; ch ...
- jetty无法即时更新html、js、css等静态文件的解决办法
网上搜了一大堆方法.最常见的是找到jetty\etc\webdefault.xml文件,找到useFileMappedBuffer参数,把true改为false <init-param> ...
- ListView单行刷新
之前要改变某一行ListView内容或者显示出删除按钮等,都要adapter.notifyDataSetChanged();刷新一下,数据少还可以,数据多的时候明显会消耗性能,单独刷新某一行就不会了, ...
- jQuery使用大全
我的程序人生 提供基于Lesktop的IM二次开发,联系QQ:76159179 CnBlogs Home New Post Contact Admin Rss Posts - 476 Article ...
- 35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系
35. Romantic Love and Ideal Romantic Relationship 爱情及理想爱情关系 ① Romantic love has clear evolutionary r ...
- 自学如何去学习jQuery
学习JQ第一个demo: 制作一个轮播图,制作方法我前面写了一篇博客,传送门-->http://www.cnblogs.com/yewenxiang/p/6100206.html 需要的JQ知识 ...
- Java 注解概要
转载自:https://www.cnblogs.com/peida/archive/2013/04/24/3036689.html(Java注解就跟C#的特性是一样的) 要深入学习注解,我们就必须能定 ...
- 功率谱密度(PDS)的MATLAB分析
功率谱密度(PSD),它定义了信号或者时间序列的功率如何随频率分布.这里功率可能是实际物理上的功率, 或者更经常便于表示抽象的信号被定义为信号数值的平方,也就是当信号的负载为1欧姆(ohm)时的实际功 ...
- 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 ...